📄 etelbgsm.h,v
字号:
enum TNetworkStatus { ENetStatUnknown, ENetStatAvailable, ENetStatCurrent, ENetStatForbidden, ENetStatNotApplicable }; class TBscNetworkId { public: IMPORT_C void InternalizeL(RReadStream& aStream); IMPORT_C void ExternalizeL(RWriteStream& aStream) const; public: TUint iMCC; TUint iMNC; }; enum TNetworkSetMode { 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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -