📄 etelbgsm.h,v
字号:
//// Counting entries// IMPORT_C TInt EnumerateEntries(TInt& aCount); IMPORT_C TInt GetMaxNumEntries(TInt& aMaxNumber); IMPORT_C TInt SetMaxNumEntries(TInt aMaxNumber);//// Reset all entries// IMPORT_C void Reset();protected: CGsmNetworkList(TInt aNoOfEntries);private: void ConstructL();private: IMPORT_C void GsmNetworkListSlot1(); IMPORT_C void GsmNetworkListSlot2(); CArrayFixFlat<RBasicGsmPhone::TNetworkInfo>* iList; TInt iCurrentIndex; TInt iLastAddedIndex; TInt iNoOfEntries; TInt iMaxNoOfEntries; };////// Phone book////#define SIM_FIX_DIALLING_PHONEBOOK _L("SIMFixDialling")#define ME_PHONEBOOK _L("ME")#define ME_AND_SIM_PHONEBOOK _L("CombinedMEAndSIM")#define SIM_PHONEBOOK _L("SIM")#define TA_PHONEBOOK _L("TA")//#define LAST_DIALLED_PHONEBOOK _L("DialledCalls")#define EMERGENCY_PHONEBOOK _L("EmergencyNumber")#define MISSED_CALLS_PHONEBOOK _L("MissedCalls")#define RECEIVED_CALLS_PHONEBOOK _L("ReceivedCalls")class CGsmPhoneBookResults;class RGsmPhoneBook : public RTelSubSessionBase {friend class CGsmPhoneBookResults;friend class CGsmPhoneBookSearch;public: IMPORT_C RGsmPhoneBook(); IMPORT_C TInt Open(RPhone& aPhone, const TDesC& aType); IMPORT_C void Close();//// Capability Information// enum { KCapsWriteAccess=0x00000001, KCapsRestrictedWriteAccess=0x00000002, KCapsAddressChanged=0x00000004 }; struct TCaps { TUint iCaps; }; IMPORT_C TInt GetCaps(TCaps& aCaps) const;//// Phone Book Entry Changed Notifications// IMPORT_C void EntryChangedNotification(TRequestStatus& aStatus,TInt& aIndex); IMPORT_C void EntryChangedNotificationCancel() const;//// Phone book information// IMPORT_C TInt GetInfo(RBasicGsmPhone::TPhoneBookInfo& aInfo) const; IMPORT_C void GetInfo(TRequestStatus& aStatus, RBasicGsmPhone::TPhoneBookInfo& aInfo); IMPORT_C void GetInfoCancel() const;//// Phone Book Browsing// enum { KPhoneBookEntrySize=100 }; // Review this number class TEntry { public: void InternalizeL(RReadStream& aStream); void ExternalizeL(RWriteStream& aStream) const; public: TGsmTelNumber iTelNumber; TBuf<KPhoneBookEntrySize> iText; TInt iIndex; TName iPhoneBookName; }; IMPORT_C TInt Read(TEntry& aEntry); IMPORT_C void Read(TRequestStatus& aStatus, TEntry& aEntry); IMPORT_C void ReadCancel() const; IMPORT_C TInt ReadFirst(TEntry& aEntry); IMPORT_C void ReadFirst(TRequestStatus& aStatus, TEntry& aEntry); IMPORT_C void ReadFirstCancel() const; IMPORT_C TInt ReadPrevious(TEntry& aEntry); IMPORT_C void ReadPrevious(TRequestStatus& aStatus, TEntry& aEntry); IMPORT_C void ReadPreviousCancel() const; IMPORT_C TInt ReadNext(TEntry& aEntry); IMPORT_C void ReadNext(TRequestStatus& aStatus, TEntry& aEntry); IMPORT_C void ReadNextCancel() const;//// Phone Book Writing/Deleting// IMPORT_C TInt Write(TEntry& aEntry) const; IMPORT_C void Write(TRequestStatus& aStatus, TEntry& aEntry); IMPORT_C void WriteCancel() const; IMPORT_C TInt Delete(TInt aIndex) const; IMPORT_C void Delete(TRequestStatus& aStatus, TInt aIndex); IMPORT_C void DeleteCancel() const;//// Synchronous Phone Book Search// typedef TBuf<KPhoneBookEntrySize> TSearchString; IMPORT_C CGsmPhoneBookResults* SearchLC(const TSearchString& aSearch);//// Server TSY internal definitions//public: struct TGsmPhoneBookWrite { TEntry iEntry; TGsmPassword iPin2; }; struct TGsmPhoneBookClientId { TInt iSessionHandle; TInt iSubSessionHandle; }; struct TGsmPhoneBookSearch { TSearchString iSearchString; TInt iNumMatchingEntries; };protected: void PhBookGet(const TInt aIpc,TRequestStatus& aStatus,TDes8& aDes1,TDes8& aDes2) const; void PhBookGet(const TInt aIpc,TRequestStatus& aStatus,TDes16& aDes1,TDes16& aDes2) const; TInt PhBookCancel(const TInt aIpc,const TInt aIpcToCancel) const;private: RGsmPhoneBook(const RGsmPhoneBook& aPhoneBook); CBasicPtrHolder* iBasicPtrHolder; TGsmPhoneBookWrite iWrite; TInt iDelete; TInt iReadIndex;protected: IMPORT_C virtual void ConstructL(); IMPORT_C virtual void Destruct(); };//// Storage of results of phone book search or read; used by sync and async searches//class CGsmPhoneBookResults : public CBase {public: IMPORT_C static CGsmPhoneBookResults* NewL(TInt aNoOfEntries); IMPORT_C ~CGsmPhoneBookResults();//// 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(RGsmPhoneBook::TEntry& aEntry); IMPORT_C TInt GetPreviousEntry(RGsmPhoneBook::TEntry& aEntry); IMPORT_C TInt GetEntry(TInt aPosition,RGsmPhoneBook::TEntry& aEntry);//// Adding an entry // IMPORT_C TInt AddEntry(const RGsmPhoneBook::TEntry& aEntry);//// Counting entries// IMPORT_C TInt EnumerateEntries(TInt& aCount);//// Reset all entries// IMPORT_C void Reset();protected: CGsmPhoneBookResults(TInt aNoOfEntries);private: void ConstructL();private: CArrayFixFlat<RGsmPhoneBook::TEntry>* iResults; TInt iCurrentIndex; TInt iLastAddedIndex; TInt iNoOfEntries; };//// Async phone book search//class CGsmPhoneBookSearch : public CActive {public: IMPORT_C static CGsmPhoneBookSearch* NewL(RGsmPhoneBook& aPhoneBook); IMPORT_C ~CGsmPhoneBookSearch();//// Start the search// IMPORT_C void Start(const RGsmPhoneBook::TSearchString& aSearch,TRequestStatus& aStatus);//// Get the results of the search// IMPORT_C CGsmPhoneBookResults* SearchResults() const;protected: IMPORT_C CGsmPhoneBookSearch(RGsmPhoneBook& aPhoneBook); IMPORT_C void ConstructL(); IMPORT_C virtual void StartPhase2L();//// CActive pure virtual functions// IMPORT_C virtual void DoCancel();private: virtual void RunL();protected: enum { EIdle, ESearchPhase1, ESearchPhase2 } iState; RGsmPhoneBook& iPhoneBook; TRequestStatus* iUserStatus; RGsmPhoneBook::TGsmPhoneBookSearch iSearch; RGsmPhoneBook::TGsmPhoneBookClientId iId; TPtr8 iSearchPtr; TPtr8 iIdPtr; CGsmPhoneBookResults* iResults; CBufFlat* iResultsBuf; TPtr8 iResultsPtr; };////// Sms Message Abstraction////#define SMS_BROADCAST_MESSAGE_STORE_NAME _L("BroadcastMessageStorage")#define SMS_ME_STORE_NAME _L("MEStorage")#define SMS_ME_AND_SIM_STORE_NAME _L("MEAndSIMStorage")#define SMS_SIM_STORE_NAME _L("SIMStorage")#define SMS_TA_STORE_NAME _L("TAStorage")class TSms {public://// Messaging Format// enum TFormat { EFormatPdu // this may be extended in the future };//// Messaging Enumerations// enum { KPduSize=177 }; // (160*7)/8 + 25 (header) + 12 (SC address) enum { KTextSize=160 }; // //// Message Structures// typedef TBuf8<KPduSize> TPdu;//// Functionality// IMPORT_C TSms(); IMPORT_C TSms(const TFormat aFormat); IMPORT_C TSms(const TPdu& aPdu); IMPORT_C TFormat Format() const; IMPORT_C void SetFormat(const TFormat aFormat); IMPORT_C TBool UseDefaultSca() const; IMPORT_C void SetUseDefaultSca(const TBool& aUseDefaultSca);//// For Pdu message only// IMPORT_C const TPdu& PduL() const; IMPORT_C void SetPduL(const TPdu& aPdu);private: TFormat iFormat; TBool iUseDefaultSca; TPdu iBuf; };//// RSmsStorage//class RSmsMessaging;class RSmsStorage : public RTelSubSessionBase {public: IMPORT_C RSmsStorage(); IMPORT_C TInt Open(RSmsMessaging& aMessaging,const TDesC& aStore); IMPORT_C void Close(); struct TInfo { TUint iUsed; TUint iTotal; }; enum TStatus { EStatusUnread, EStatusRead, EStatusUnsent, EStatusSent }; struct TSmsMsgStoreEntry { TSms iMsg; TStatus iStatus; }; IMPORT_C TInt GetInfo(TInfo& aInfo) const; IMPORT_C void GetInfo(TRequestStatus& aStatus, TInfo& aInfo); IMPORT_C void GetInfoCancel() const; IMPORT_C TInt ReadSms(const TInt aIndex, TSmsMsgStoreEntry& aMsgEntry) const; IMPORT_C void ReadSms(TRequestStatus& aStatus, const TInt aIndex, TSmsMsgStoreEntry& aMsgEntry); IMPORT_C void ReadSmsCancel() const; IMPORT_C TInt Write(TInt& aIndex, const TSmsMsgStoreEntry& aMsg) const; IMPORT_C void Write(TRequestStatus& aStatus, TInt& aIndex, const TSmsMsgStoreEntry& aMsg); IMPORT_C void WriteCancel() const; IMPORT_C TInt Delete(const TInt aIndex) const; IMPORT_C void Delete(TRequestStatus& aStatus, const TInt aIndex); IMPORT_C void DeleteCancel() const; IMPORT_C void WriteNotification(TRequestStatus& aStatus, TInt& aIndex); IMPORT_C void WriteNotificationCancel() const;private: CBasicPtrHolder* iBasicPtrHolder; TInt iReadIndexValue; TInt iDeleteValue;protected: IMPORT_C virtual void ConstructL(); IMPORT_C virtual void Destruct(); };//// RSmsMessaging//class RSmsMessaging : public RTelSubSessionBase {public: IMPORT_C RSmsMessaging(); IMPORT_C TInt Open(RPhone& aPhone); IMPORT_C void Close();//// Capability Information// enum { KCapsModeCommandPduSupported=0x00000001, KCapsModeBlockPduSupported=0x00000002, KCapsModeReadWithoutStorage=0x00000004, KCapsModeReadWithStorage=0x00000008 }; enum { KCapsTypeRxSmsDeliver=0x00000001, KCapsTypeTxSmsSubmit=0x00000002 }; struct TCaps { TUint iSmsMode; TUint iSmsMsgTypes; }; IMPORT_C TInt GetCaps(TCaps& aCaps) const;//// Messaging Mode// enum TSmsMode { EModeCommandPdu, EModeBlockPdu }; enum TStorageMode { EReadWithoutStorage, EReadWithStorage }; struct TMode { TSmsMode iMessagingMode; TStorageMode iStorageMode; }; IMPORT_C TInt SetMode(const TMode& aMode) const; IMPORT_C void SetMode(TRequestStatus& aStatus, const TMode& aMode) const; IMPORT_C void SetModeCancel() const; IMPORT_C TInt GetMode(TMode& aMode) const; IMPORT_C TInt GetDefaultSCAddress(TGsmTelNumber& aSCAddress) const; IMPORT_C void GetDefaultSCAddress(TRequestStatus& aStatus, TGsmTelNumber& aSCAddress) const; IMPORT_C void GetDefaultSCAddressCancel() const; IMPORT_C TInt SetDefaultSCAddress(const TGsmTelNumber& aSCAddress) const; IMPORT_C void SetDefaultSCAddress(TRequestStatus& aStatus, const TGsmTelNumber& aSCAddress); IMPORT_C void SetDefaultSCAddressCancel() const;//// Message Transmission// IMPORT_C void SendMessage(TRequestStatus& aStatus, TUint& aMsgRef, TSms& aMsg); IMPORT_C void SendMessageCancel() const;//// Message Reception// struct TMsgLocation { TInt iIndex; TName iStore; }; IMPORT_C void ReadSmsMessage(TRequestStatus& aStatus, TMsgLocation& aMsgLocation, TSms& aMsg); IMPORT_C void ReadSmsMessageCancel() const; IMPORT_C void NotifySmsMessageArrived(TRequestStatus& aStatus) const; IMPORT_C void NotifySmsMessageArrivedCancel() const;//// Message Storage// struct TStoreInfo { TName iName; TUint iTotal; TUint iUsed; TUint32 iFlags; }; enum { KMessageStoreReadAndDeleted=0x00000001, KMessageStoreWriteAndSend=0x00000002, KMessageStoreBroadcast=0x00000004 }; IMPORT_C TInt EnumerateMessageStores(TInt& aCount) const; IMPORT_C TInt GetMessageStoreInfo(const TInt aIndex,TStoreInfo& aInfo) const; IMPORT_C void GetMessageStoreInfo(TRequestStatus& aStatus,const TInt aIndex,TStoreInfo& aInfo) const; IMPORT_C void GetMessageStoreInfoCancel() const;private: CBasicPtrHolder* iBasicPtrHolder;protected: IMPORT_C virtual void ConstructL(); IMPORT_C virtual void Destruct(); };#endif@1.1.1.1log@no message@text@@
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -