📄 etelbgsm.h
字号:
//
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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -