⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 etelbgsm.h

📁 基于SYMBIAN OS 的Moblile硬件管理器. 支持series 70平台
💻 H
📖 第 1 页 / 共 3 页
字号:
//
	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 + -