📄 etelbgsm.h
字号:
{
ENetworkSetModeAutomatic,
ENetworkSetModeManual
};
class TNetworkInfo
{
public:
void InternalizeL(RReadStream& aStream);
void ExternalizeL(RWriteStream& aStream) const;
public:
IMPORT_C TNetworkInfo();
public:
TBscNetworkId iId;
TNetworkStatus iStatus;
TBuf<KShortNetworkNameSize> iShortName;
TBuf<KLongNetworkNameSize> iLongName;
};
enum TRegistrationStatus
{
ENotRegisteredNotSearching,
ERegisteredOnHomeNetwork,
ENotRegisteredSearching,
ERegistrationDenied,
EUnknown,
ERegisteredRoaming
};
struct TCurrentNetworkInfo
{
TNetworkInfo iNetworkInfo;
TUint iLocationAreaCode;
TUint iCellId;
};
virtual TInt EnumerateDetectedNetworks(TInt& aNetworkCnt) const=0;
virtual void EnumerateDetectedNetworks(TRequestStatus& aStatus, TInt& aNetworkCnt)=0;
virtual void EnumerateDetectedNetworksCancel() const=0;
virtual TInt GetDetectedNetworkInfo(const TInt aIndex,TNetworkInfo& aNetworkInfo) const=0;
virtual void GetDetectedNetworkInfo(TRequestStatus& aStatus, const TInt aIndex,TNetworkInfo& aNetworkInfo)=0;
virtual void GetDetectedNetworkInfoCancel() const=0;
virtual CGsmNetworkList* RetrieveDetectedNetworksLC()=0;
virtual TInt SetNetworkMode(const TNetworkSetMode aMode) const=0;
virtual void SetNetworkMode(TRequestStatus& aStatus,const TNetworkSetMode aMode)=0;
virtual void SetNetworkModeCancel() const=0;
virtual TInt SetManualNetwork(const TBscNetworkId aNetworkId) const=0;
virtual void SetManualNetwork(TRequestStatus& aStatus,const TBscNetworkId aNetworkId)=0;
virtual void SetManualNetworkCancel() const=0;
virtual TInt GetCurrentNetworkInfo(TCurrentNetworkInfo& aNetworkInfo) const=0;
virtual void NotifyChangeOfCurrentNetwork(TRequestStatus& aStatus,TCurrentNetworkInfo& aNetworkInfo)=0;
virtual void NotifyChangeOfCurrentNetworkCancel() const=0;
virtual TInt GetNetworkRegistrationStatus(TRegistrationStatus& aRegistrationStatus) const=0;
virtual void NotifyChangeOfNetworkRegistrationStatus(TRequestStatus& aStatus,TRegistrationStatus& aRegistrationStatus)=0;
virtual void NotifyChangeOfNetworkRegistrationStatusCancel() const=0;
virtual TInt GetNetworkSearchMode(TNetworkSetMode& aMode) const=0;
virtual void NotifyChangeOfNetworkSearchMode(TRequestStatus& aStatus,TNetworkSetMode& aMode)=0;
virtual void NotifyChangeOfNetworkSearchModeCancel() const=0;
enum TNetworkInfoCaps
{
KCapsNetworkInfoAvailable=0x00000001,
KCapsNetworkShortName=0x00000002,
KCapsNetworkLongName=0x00000004,
KCapsNetworkCurrentInfoAvailable=0x00000008,
KCapsNetworkSetModeSupported=0x00000010
};
struct TNetworkCapsFlags
{
TUint iNetworkInfoCaps;
};
virtual TInt GetNetworkInfoCaps(TNetworkCapsFlags& aCaps) const=0;
virtual void NetworkFreeSlot1() const=0;
virtual void NetworkFreeSlot2() const=0;
virtual void NetworkFreeSlot3() const=0;
virtual void NetworkFreeSlot4() const=0;
struct TGsmNetworkClientId
{
TInt iSessionHandle;
TInt iSubSessionHandle;
};
protected:
MBasicGsmPhoneNetwork();
};
//
// Battery and Power Information
//
class MBasicGsmPhoneBatteryAndPower
{
public:
enum TBatteryStatus
{
EPoweredByBattery,
EBatteryConnectedButExternallyPowered,
ENoBatteryConnected,
EPowerFault
};
struct TBatteryInfo
{
TBatteryStatus iStatus;
TUint iChargeLevel;
};
virtual TInt GetBatteryInfo(TBatteryInfo& aBatteryInfo) const=0;
virtual void GetBatteryInfo(TRequestStatus& aStatus, TBatteryInfo& aBatteryInfo)=0;
virtual void GetBatteryInfoCancel() const=0;
virtual void BatteryInfoNotification(TRequestStatus& aStatus,TBatteryInfo& aBatteryInfo)=0;
virtual void BatteryInfoNotificationCancel() const=0;
enum TBatteryPowerCaps
{
KCapsBatteryInfoAvailable=0x00000001,
KCapsBatteryInfoUpdatesAvailable=0x00000002
};
struct TBatteryAndPowerCapsFlags
{
TUint iBatteryInfoCaps;
};
virtual TInt GetBatteryPowerCaps(TBatteryAndPowerCapsFlags& aCaps) const=0;
virtual void BatteryFreeSlot1() const=0;
virtual void BatteryFreeSlot2() const=0;
virtual void BatteryFreeSlot3() const=0;
virtual void BatteryFreeSlot4() const=0;
protected:
MBasicGsmPhoneBatteryAndPower();
};
//
// Phone Indicator Access
//
class MBasicGsmPhoneIndicator
{
public:
enum TIndicatorType
{
EIndBatteryCharge,
EIndSignalQuality,
EIndServiceAvail,
EIndSounderActivity,
EIndMessageReceived,
EIndCallInProgress,
EIndTxActivatedByVoiceActivity,
EIndRoamingIndicator,
EIndSmsStorageFull
};
struct TIndicatorInfo
{
TIndicatorType iIndicator;
TUint iValue;
};
virtual void IndicatorNotification(TRequestStatus& aStatus,TIndicatorInfo& aIndicator)=0;
virtual void IndicatorNotificationCancel() const=0;
virtual TInt GetIndicator(const TIndicatorType aIndicator,TUint& aValue) const=0;
enum TPhoneEquipmentIndicatorCaps
{
KCapsEquipmentIndicatorCapture=0x00000001
};
struct TIndicatorCapsFlags
{
TUint iIndicatorCapture;
};
virtual TInt GetIndicatorCaptureCaps(TIndicatorCapsFlags& aCaps) const=0;
virtual void IndicatorFreeSlot1() const=0;
virtual void IndicatorFreeSlot2() const=0;
virtual void IndicatorFreeSlot3() const=0;
virtual void IndicatorFreeSlot4() const=0;
protected:
MBasicGsmPhoneIndicator();
};
//
// Phone Clock and Alarm Access
//
class MBasicGsmPhoneClockAndAlarm
{
public:
enum { KAlarmTextSize=256 };
struct TAlarm
{
TGsmDateTime iDateTime;
TBuf<KAlarmTextSize> iText;
};
virtual TInt ReadClock(TGsmDateTime& aGsmDateTime) const=0;
virtual void ReadClock(TRequestStatus& aStatus, TGsmDateTime& aGsmDateTime) const=0;
virtual void ReadClockCancel() const=0;
virtual TInt SetClock(const TGsmDateTime& aGsmDateTime) const=0;
virtual void SetClock(TRequestStatus& aStatus, const TGsmDateTime& aGsmDateTime) const=0;
virtual void SetClockCancel() const=0;
virtual TInt EnumerateAlarm(TInt& aCount) const=0;
virtual void EnumerateAlarm(TRequestStatus& aStatus, TInt& aCount) const=0;
virtual void EnumerateAlarmCancel() const=0;
virtual TInt GetAlarm(const TInt aIndex,TAlarm& aAlarm) const=0;
virtual void GetAlarm(TRequestStatus& aStatus, const TInt aIndex, TAlarm& aAlarm) const=0;
virtual void GetAlarmCancel() const=0;
virtual TInt SetAlarm(const TInt aIndex,const TAlarm& aAlarm) const=0;
virtual void SetAlarm(TRequestStatus& aStatus, const TInt aIndex,const TAlarm& aAlarm) const=0;
virtual void SetAlarmCancel() const=0;
enum TClockCaps
{
KCapsClkClockAvailable=0x00000001,
KCapsClkAlarmAvailable=0x00000002
};
struct TClockAndAlarmCapsFlags
{
TUint iClockAndAlarmCaps;
};
virtual TInt GetClockCaps(TClockAndAlarmCapsFlags& aCaps) const=0;
virtual void NotifyClockCaps(TRequestStatus& aStatus, TClockAndAlarmCapsFlags& aCaps)=0;
virtual void NotifyClockCapsCancel() const=0;
virtual void ClockFreeSlot1() const=0;
virtual void ClockFreeSlot2() const=0;
virtual void ClockFreeSlot3() const=0;
virtual void ClockFreeSlot4() const=0;
protected:
MBasicGsmPhoneClockAndAlarm();
};
//
//
// RBasicGsmPhone
//
//
class RBasicGsmPhone : public RPhone, public MBasicGsmPhoneId, public MBasicGsmPhoneBookSupport,
public MBasicGsmPhoneSignalandBer, public MBasicGsmPhoneNetwork,
public MBasicGsmPhoneBatteryAndPower, public MBasicGsmPhoneIndicator,
public MBasicGsmPhoneClockAndAlarm
{
public:
friend class CBasicGsmRetrieveDetectedNetworks;
IMPORT_C RBasicGsmPhone();
//
// General notification information
//
class TPhoneInfo : public RPhone::TPhoneInfo
{
public:
TInt32 iSignalStrength;
TUint iBer;
TCurrentNetworkInfo iCurrentNetworkInfo;
TBatteryInfo iBatteryInfo;
TIndicatorInfo iIndicatorInfo;
TNetworkSetMode iNetworkSetMode;
TRegistrationStatus iNetworkRegistrationStatus;
public:
IMPORT_C TPhoneInfo();
};
IMPORT_C TInt GetInfoBasicGsm(TPhoneInfo& aPhoneInfo) const;
//
// These virtual functions implement the pure virtual functions in Mixin classes
//
IMPORT_C virtual TInt GetGsmPhoneId(TId& aId) const;
IMPORT_C virtual TInt EnumeratePhoneBooks(TInt& aPhoneBookCount) const;
IMPORT_C virtual TInt GetPhoneBookInfo(const TInt aIndex, TPhoneBookInfo& aInfo) const;
IMPORT_C virtual void GetPhoneBookInfo(TRequestStatus& aStatus, const TInt aIndex, TPhoneBookInfo& aInfo) const;
IMPORT_C virtual void GetPhoneBookInfoCancel() const;
IMPORT_C virtual TInt GetSignalStrength(TInt32& aSignalStrength) const;
IMPORT_C virtual void GetSignalStrength(TRequestStatus& aStatus, TInt32& aSignalStrength);
IMPORT_C virtual void GetSignalStrengthCancel() const;
IMPORT_C virtual void SignalStrengthNotification(TRequestStatus& aStatus,TInt32& aSignalStrength);
IMPORT_C virtual void SignalStrengthNotificationCancel() const;
IMPORT_C virtual TInt GetBer(TUint& aBer) const;
IMPORT_C virtual void GetBer(TRequestStatus& aStatus, TUint& aBer);
IMPORT_C virtual void GetBerCancel() const;
IMPORT_C virtual void BerNotification(TRequestStatus& aStatus,TUint& aBer);
IMPORT_C virtual void BerNotificationCancel() const;
IMPORT_C virtual TInt GetSignalCaps(TSignalAndBerCapsFlags& aCaps) const;
IMPORT_C virtual void NotifySignalCaps(TRequestStatus& aStatus, TSignalAndBerCapsFlags& aCaps);
IMPORT_C virtual void NotifySignalCapsCancel() const;
IMPORT_C virtual TInt EnumerateDetectedNetworks(TInt& aNetworkCnt) const;
IMPORT_C virtual void EnumerateDetectedNetworks(TRequestStatus& aStatus, TInt& aNetworkCnt);
IMPORT_C virtual void EnumerateDetectedNetworksCancel() const;
IMPORT_C virtual TInt GetDetectedNetworkInfo(const TInt aIndex,TNetworkInfo& aNetworkInfo) const;
IMPORT_C virtual void GetDetectedNetworkInfo(TRequestStatus& aStatus, const TInt aIndex,TNetworkInfo& aNetworkInfo);
IMPORT_C virtual void GetDetectedNetworkInfoCancel() const;
IMPORT_C virtual TInt SetNetworkMode(const TNetworkSetMode aMode) const;
IMPORT_C virtual void SetNetworkMode(TRequestStatus& aStatus,const TNetworkSetMode aMode);
IMPORT_C virtual void SetNetworkModeCancel() const;
IMPORT_C virtual TInt SetManualNetwork(const TBscNetworkId aNetworkId) const;
IMPORT_C virtual void SetManualNetwork(TRequestStatus& aStatus,const TBscNetworkId aNetworkId);
IMPORT_C virtual void SetManualNetworkCancel() const;
IMPORT_C virtual TInt GetCurrentNetworkInfo(TCurrentNetworkInfo& aNetworkInfo) const;
IMPORT_C virtual void NotifyChangeOfCurrentNetwork(TRequestStatus& aStatus,TCurrentNetworkInfo& aNetworkInfo);
IMPORT_C virtual void NotifyChangeOfCurrentNetworkCancel() const;
IMPORT_C virtual TInt GetNetworkRegistrationStatus(TRegistrationStatus& aRegistrationStatus) const;
IMPORT_C virtual void NotifyChangeOfNetworkRegistrationStatus(TRequestStatus& aStatus,TRegistrationStatus& aRegistrationStatus);
IMPORT_C virtual void NotifyChangeOfNetworkRegistrationStatusCancel() const;
IMPORT_C virtual TInt GetNetworkSearchMode(TNetworkSetMode& aMode) const;
IMPORT_C virtual void NotifyChangeOfNetworkSearchMode(TRequestStatus& aStatus,TNetworkSetMode& aMode);
IMPORT_C virtual void NotifyChangeOfNetworkSearchModeCancel() const;
IMPORT_C virtual CGsmNetworkList* RetrieveDetectedNetworksLC();
IMPORT_C virtual TInt GetNetworkInfoCaps(TNetworkCapsFlags& aCaps) const;
IMPORT_C virtual TInt GetBatteryInfo(TBatteryInfo& aBatteryInfo) const;
IMPORT_C virtual void GetBatteryInfo(TRequestStatus& aStatus, TBatteryInfo& aBatteryInfo);
IMPORT_C virtual void GetBatteryInfoCancel() const;
IMPORT_C virtual void BatteryInfoNotification(TRequestStatus& aStatus,TBatteryInfo& aBatteryInfo);
IMPORT_C virtual void BatteryInfoNotificationCancel() const;
IMPORT_C virtual TInt GetBatteryPowerCaps(TBatteryAndPowerCapsFlags& aCaps) const;
IMPORT_C virtual void IndicatorNotification(TRequestStatus& aStatus,TIndicatorInfo& aIndicator);
IMPORT_C virtual void IndicatorNotificationCancel() const;
IMPORT_C virtual TInt GetIndicator(const TIndicatorType aIndicator,TUint& aValue) const;
IMPORT_C virtual TInt GetIndicatorCaptureCaps(TIndicatorCapsFlags& aCaps) const;
IMPORT_C virtual TInt ReadClock(TGsmDateTime& aGsmDateTime) const;
IMPORT_C virtual void ReadClock(TRequestStatus& aStatus, TGsmDateTime& aGsmDateTime) const;
IMPORT_C virtual void ReadClockCancel() const;
IMPORT_C virtual TInt SetClock(const TGsmDateTime& aGsmDateTime) const;
IMPORT_C virtual void SetClock(TRequestStatus& aStatus, const TGsmDateTime& aGsmDateTime) const;
IMPORT_C virtual void SetClockCancel() const;
IMPORT_C virtual TInt EnumerateAlarm(TInt& aCount) const;
IMPORT_C virtual void EnumerateAlarm(TRequestStatus& aStatus, TInt& aCount) const;
IMPORT_C virtual void EnumerateAlarmCancel() const;
IMPORT_C virtual TInt GetAlarm(const TInt aIndex,TAlarm& aAlarm) const;
IMPORT_C virtual void GetAlarm(TRequestStatus& aStatus, const TInt aIndex, TAlarm& aAlarm) const;
IMPORT_C virtual void GetAlarmCancel() const;
IMPORT_C virtual TInt SetAlarm(const TInt aIndex,const TAlarm& aAlarm) const;
IMPORT_C virtual void SetAlarm(TRequestStatus& aStatus, const TInt aIndex,const TAlarm& aAlarm) const;
IMPORT_C virtual void SetAlarmCancel() const;
IMPORT_C virtual TInt GetClockCaps(TClockAndAlarmCapsFlags& aCaps) const;
IMPORT_C virtual void NotifyClockCaps(TRequestStatus& aStatus, TClockAndAlarmCapsFlags& aCaps);
IMPORT_C virtual void NotifyClockCapsCancel() const;
// These are "free slots", to allow subsequent additional functions in Mixins without
// breaking BC.
IMPORT_C virtual void IdFreeSlot1() const;
IMPORT_C virtual void IdFreeSlot2() const;
IMPORT_C virtual void IdFreeSlot3() const;
IMPORT_C virtual void IdFreeSlot4() const;
IMPORT_C virtual void PhBookSupportFreeSlot3() const;
IMPORT_C virtual void PhBookSupportFreeSlot4() const;
IMPORT_C virtual void SignalFreeSlot1() const;
IMPORT_C virtual void SignalFreeSlot2() const;
IMPORT_C virtual void SignalFreeSlot3() const;
IMPORT_C virtual void SignalFreeSlot4() const;
IMPORT_C virtual void NetworkFreeSlot1() const;
IMPORT_C virtual void NetworkFreeSlot2() const;
IMPORT_C virtual void NetworkFreeSlot3() const;
IMPORT_C virtual void NetworkFreeSlot4() const;
IMPORT_C virtual void BatteryFreeSlot1() const;
IMPORT_C virtual void BatteryFreeSlot2() const;
IMPORT_C virtual void BatteryFreeSlot3() const;
IMPORT_C virtual void BatteryFreeSlot4() const;
IMPORT_C virtual void IndicatorFreeSlot1() const;
IMPORT_C virtual void IndicatorFreeSlot2() const;
IMPORT_C virtual void IndicatorFreeSlot3() const;
IMPORT_C virtual void IndicatorFreeSlot4() const;
IMPORT_C virtual void ClockFreeSlot1() const;
IMPORT_C virtual void ClockFreeSlot2() const;
IMPORT_C virtual void ClockFreeSlot3() const;
IMPORT_C virtual void ClockFreeSlot4() const;
private:
CBasicPtrHolder* iBasicPtrHolder;
protected:
IMPORT_C virtual void ConstructL();
IMPORT_C virtual void Destruct();
protected:
void BasicPhoneGet(const TInt aIpc,TRequestStatus& aStatus,TDes8& aDes1,TDes8& aDes2) const;
void BasicPhoneGet(const TInt aIpc,TRequestStatus& aStatus,TDes16& aDes1,TDes16& aDes2) const;
TInt BasicPhoneCancel(const TInt aIpc,const TInt aIpcToCancel) const;
};
//
// Async retrieval of network results
//
class CBasicGsmRetrieveDetectedNetworks : public CActive
{
public:
IMPORT_C static CBasicGsmRetrieveDetectedNetworks* NewL(RBasicGsmPhone& aPhone);
IMPORT_C ~CBasicGsmRetrieveDetectedNetworks();
//
// Start the retrieval
//
IMPORT_C void Start(TRequestStatus& aStatus);
//
// Get the results of the retrieval
//
IMPORT_C CGsmNetworkList* RetrieveResults() const;
protected:
CBasicGsmRetrieveDetectedNetworks(RBasicGsmPhone& aPhone);
void ConstructL();
virtual void StartPhase2L();
//
// CActive pure virtual functions
//
virtual void DoCancel();
private:
virtual void RunL();
protected:
enum {
EIdle,
ERetrievePhase1,
ERetrievePhase2
} iState;
RBasicGsmPhone& iPhone;
TRequestStatus* iUserStatus;
TInt iNumOfEntries;
RBasicGsmPhone::TGsmNetworkClientId iId;
CGsmNetworkList* iResults;
CBufFlat* iResultsBuf;
TPtr8 iIdPtr;
TPtr8 iResultsPtr;
TPtr8 iReadPtr;
};
class CGsmNetworkList : public CBase
{
public:
IMPORT_C static CGsmNetworkList* NewL(TInt aNoOfEntries);
IMPORT_C ~CGsmNetworkList();
//
// Streaming - for use to pass array over IPC
//
void InternalizeL(RReadStream& aStream);
void ExternalizeL(RWriteStream& aStream) const;
IMPORT_C CBufFlat* StoreLC();
IMPORT_C void StoreL(TDes8& aDes);
IMPORT_C void RestoreL(const TDesC8& aBuf);
IMPORT_C void AddEmptyEntriesL();
//
// Panic constant for browsing list
//
enum
{ KPanicInvalidResultsIndex };
//
// Accessing results
//
IMPORT_C TInt GetNextEntry(RBasicGsmPhone::TNetworkInfo& aEntry);
IMPORT_C TInt GetPreviousEntry(RBasicGsmPhone::TNetworkInfo& aEntry);
IMPORT_C TInt GetEntry(const TInt aIndex, RBasicGsmPhone::TNetworkInfo& aEntry);
//
// Adding an entry
//
IMPORT_C TInt AddEntryL(const RBasicGsmPhone::TNetworkInfo& aEntry);
IMPORT_C TInt InsertEntryL(const TInt aIndex, const RBasicGsmPhone::TNetworkInfo& aEntry);
IMPORT_C TInt ChangeEntry(const TInt aIndex, const RBasicGsmPhone::TNetworkInfo& aEntry);
IMPORT_C TInt DeleteEntry(const TInt aIndex);
//
// Counting entries
//
IMPORT_C TInt EnumerateEntries(TInt& aCount);
IMPORT_C TInt GetMaxNumEntries(TInt& aMaxNumber);
IMPORT_C TInt SetMaxNumEntries(TInt aMaxNumber);
//
// Reset all entries
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -