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

📄 ex_etelmm.h

📁 symbian 2rd下可以获取并显示来电号码
💻 H
📖 第 1 页 / 共 5 页
字号:
// ETELMM.H
//
// Copyright (c) 2002-2003 Symbian Ltd.  All rights reserved.
//

/** \file ETELMM.H
 * Multimode ETel API header file.
 *
 * Describes the MM ETel API - classes, methods and types.
 */

#ifndef __ETELMM_H__
#define __ETELMM_H__

#include <e32base.h>
#include <s32mem.h>
#include <ETEL.h>
#include <ETELMMCS.H>

// Names for Multimode ETel sub-sessions

_LIT(KETelMeAdnPhoneBook,"S1");
_LIT(KETelMeDialledPhoneBook,"S2");
_LIT(KETelMeMissedPhoneBook,"S3");
_LIT(KETelMeReceivedPhoneBook,"S4");
_LIT(KETelCombinedAdnPhoneBook,"S5");
_LIT(KETelTaAdnPhoneBook,"S6");
_LIT(KETelIccAdnPhoneBook,"S7");
_LIT(KETelIccFdnPhoneBook,"S8");
_LIT(KETelIccSdnPhoneBook,"S9");
_LIT(KETelIccBdnPhoneBook,"S10");
_LIT(KETelIccLndPhoneBook,"S11");
_LIT(KETelIccVoiceMailBox,"S12");

_LIT(KETelMeSmsStore,"S13");
_LIT(KETelIccSmsStore,"S14");
_LIT(KETelCombinedSmsStore,"S15");

_LIT(KETelNamStore,"S16");
_LIT(KETelOwnNumberStore,"S17");
_LIT(KETelEmergencyNumberStore,"S18");

_LIT(KETelSmsMessaging,"S19");
_LIT(KETelBroadcastMessaging,"S20");
_LIT(KETelUssdMessaging,"S21");

_LIT(KETelConferenceCall,"S22");

_LIT(KETelIccInfoPhoneBook,"S23");

//
//  Global Multimode constants and types
// 

// Unique API identifier and Functional Unit constants

enum TMultimodeETelV1Api
	{
	KETelExtMultimodeV1=3000,  // 3000 is unique reference for Multimode Etel v1.0 API
	KETelFuncMobileIccAccess,
	KETelFuncMobileNetwork,
	KETelFuncMobileIdentity,
	KETelFuncMobilePower,
	KETelFuncMobileSignal,
	KETelFuncMobileIndicator,
	KETelFuncMobileDTMF,
	KETelFuncMobileUserNetworkAccess,
	KETelFuncMobileIdentityService,
	KETelFuncMobileCallForwarding,
	KETelFuncMobileCallBarring,
	KETelFuncMobileCallWaiting,
	KETelFuncMobileCallCompletion,
	KETelFuncMobileAlternatingCall,
	KETelFuncMobileCost,
	KETelFuncMobileSecurity,
	KETelFuncMobileAlternateLineService,
	KETelFuncMobileMessageWaiting,
	KETelFuncMobileFixedDiallingNumbers,
	KETelFuncMobileDataCall,
	KETelFuncMobilePrivacy,
	KETelFuncMobileEmergencyCall,
	KETelFuncMobileSmsMessaging,
	KETelFuncMobileBroadcastMessaging,
	KETelFuncMobileUssdMessaging,
	KETelFuncMobileConferenceCall,
	KETelFuncMobilePhonebook,
	KETelFuncMobileSmsStore,
	KETelFuncMobileNamStore,
	KETelFuncMobileOwnNumberStore,
	KETelFuncMobileEmergencyNumberStore,
	KETelFuncMobileMulticall,
	KETelFuncMobileNextIncomingCall,
	KETelFuncMobileMultimediaCall,
	KETelFuncMobileUserSignalling
	};


/*********************************************************/
//
// Phone based functionality (RMobilePhone)
// 
/*********************************************************/

/**
 * \class RMobilePhone ETELMM.H "INC/ETELMM.H"
 * \brief Provides client access to mobile phone functionality provided by TSY
 *
 * RMobilePhone inherits from RPhone defined in ETEL.H
 */

class CMobilePhonePtrHolder;

class RMobilePhone : public RPhone
	{
public:
	friend class CAsyncRetrievePhoneList;

	IMPORT_C RMobilePhone();

	// Global multimode types

	/**
	* \class TMultimodeType ETELMM.H "INC/ETELMM.H"
	* \brief Base class for all the V1 parameter types defined within the API
	*
	*/

	class TMultimodeType
		{
	public:
		IMPORT_C TInt ExtensionId() const;
	protected:
		TMultimodeType();
		void InternalizeL(RReadStream& aStream);
		void ExternalizeL(RWriteStream& aStream) const;
	protected:
		TInt iExtensionId;
		};

	// Types used in RMobilePhone::TMobileAddress

	enum TMobileTON
		{
		EUnknownNumber,			// 0
		EInternationalNumber,	// 1
		ENationalNumber,		// 2
		ENetworkSpecificNumber, // 3
		ESubscriberNumber,		// 4 - Also defined as "dedicated, short code" in GSM 04.08
		EAlphanumericNumber,	// 5
		EAbbreviatedNumber		// 6
		};

	enum TMobileNPI
		{
		EUnknownNumberingPlan =0,
		EIsdnNumberPlan=1,		
		EDataNumberPlan=3,		
		ETelexNumberPlan=4,	
		EServiceCentreSpecificPlan1=5,
		EServiceCentreSpecificPlan2=6,
		ENationalNumberPlan=8,
		EPrivateNumberPlan=9,
		EERMESNumberPlan=10
		};

	enum 
		{
		KMaxMobilePasswordSize=10,
		KMaxMobileNameSize=32,
		KMaxMobileTelNumberSize=100
		};

	/**
	* \class TMobileAddress ETELMM.H "INC/ETELMM.H"
	* \brief Defines API abstraction of a mobile telephone number
	*
	*/

	class TMobileAddress
		{
	public:
		IMPORT_C TMobileAddress();
			
		void InternalizeL(RReadStream& aStream);
		void ExternalizeL(RWriteStream& aStream) const;
			
	public:
		TMobileTON iTypeOfNumber;
		TMobileNPI iNumberPlan;
		TBuf<KMaxMobileTelNumberSize> iTelNumber;
		};

	// Mobile information location type

	enum TMobileInfoLocation
		{
		EInfoLocationCache,
		EInfoLocationCachePreferred,
		EInfoLocationNetwork
		};

	// Mobile call service type

	enum TMobileService
		{
		EServiceUnspecified,
		EVoiceService,
		EAuxVoiceService,
		ECircuitDataService,
		EPacketDataService,
		EFaxService,
		EShortMessageService,
		EAllServices
		};

	// Mobile name type

	typedef TBuf<KMaxMobileNameSize> TMobileName;

	// Mobile password type

	typedef TBuf<KMaxMobilePasswordSize> TMobilePassword;

	// for use by client-side API code and TSY only

	struct TClientId
		{
		TInt iSessionHandle;
		TInt iSubSessionHandle;
		};

	enum TMobilePhoneModeCaps
		{
		KCapsGsmSupported=0x00000001,
		KCapsGprsSupported=0x00000002,
		KCapsAmpsSupported=0x00000004,
		KCapsCdma95Supported=0x00000008,
		KCapsCdma2000Supported=0x00000010,
		KCapsWcdmaSupported=0x00000020
		};

	 enum TMultimodeEtelAPIVersion
		{
		 TMultimodeETelApiV1
		};

	IMPORT_C TInt GetMultimodeAPIVersion(TInt& aVersion) const;

	IMPORT_C TInt GetMultimodeCaps(TUint32& aCaps) const;

	IMPORT_C void GetPhoneStoreInfo(TRequestStatus& aReqStatus, TDes8& aInfo, const TDesC& aStoreName) const;

	//
	// MobilePhoneIccAccess functional unit
	//

	enum TMobilePhoneIccCaps
		{
		KCapsSimAccessSupported=0x00000001,
		KCapsRUimAccessSupported=0x00000002,
		KCapsUSimAccessSupported=0x00000004
		};

	IMPORT_C TInt GetIccAccessCaps(TUint32& aCaps) const;
	IMPORT_C void NotifyIccAccessCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const;

	enum TCspCallOffering
		{
		KCspCT=0x08,
		KCspCFNRc=0x10,
		KCspCFNRy=0x20,
		KCspCFB=0x40,
		KCspCFU=0x80
		};

	enum TCspCallRestriction
		{
		KCspBICRoam=0x08,
		KCspBAIC=0x10,
		KCspBOICexHC=0x20,
		KCspBOIC=0x40,
		KCspBOAC=0x80
		};

	enum TCspOtherSuppServices
		{
		KCspCUGOA=0x08,
		KCspPrefCUG=0x10,
		KCspAoC=0x20,
		KCspCUG=0x40,
		KCspMPTY=0x80,
		};

	enum TCspCallCompletion
		{
		KCspCCBS=0x20,
		KCspCW=0x40,
		KCspHOLD=0x80,
		};

	enum TCspTeleservices
		{
		KCspValidityPeriod=0x02,
		KCspProtocolID=0x04,
		KCspDelConf=0x08,
		KCspReplyPath=0x10,
		KCspSMCB=0x20,
		KCspSMMO=0x40,
		KCspSMMT=0x80,
		};

	enum TCspCPHSTeleservices
		{
		KCspALS=0x80
		};

	enum TCspCPHSFeatures
		{
		KCspReservedSST=0x80
		};

	enum TCspNumberIdentification
		{
		KCspCLIBlock=0x01,
		KCspCLISend=0x02,
		KCspCOLP=0x10,
		KCspCOLR=0x20,
		KCspCLIP=0x80,
		};

	enum TCspPhase2PlusServices
		{
		KCspMultipleband=0x04,
		KCspMSP=0x08,
		KCspVoiceBroadcast=0x10,
		KCspVoiceGroupCall=0x20,
		KCspHscsd=0x40,
		KCspGprs=0x80
		};

	enum TCspValueAdded
		{
		KCspLanguage=0x01,
		KCspData=0x04,
		KCspFax=0x08,
		KCspSMMOEmail=0x10,
		KCspSMMOPaging=0x20,
		KCspPLMNMode=0x80,
		};

	/**
	* \class TMobilePhoneCspFileV1 ETELMM.H "INC/ETELMM.H"
	* \brief Defines contents of the CSP (Customer Service Profile) on the SIM
	*
	*/

	class TMobilePhoneCspFileV1 : public TMultimodeType
		{
	public:
		IMPORT_C TMobilePhoneCspFileV1();

		TUint8	iCallOfferingServices;
		TUint8	iCallRestrictionServices;
		TUint8	iOtherSuppServices;
		TUint8	iCallCompletionServices;
		TUint8  iTeleservices;
		TUint8	iCphsTeleservices;
		TUint8	iCphsFeatures;
		TUint8	iNumberIdentServices;
		TUint8	iPhase2PlusServices;
		TUint8	iValueAddedServices;
		};

	typedef TPckg<TMobilePhoneCspFileV1> TMobilePhoneCspFileV1Pckg;

	IMPORT_C void GetCustomerServiceProfile(TRequestStatus& aReqStatus, TDes8& aCsp) const;
	IMPORT_C void GetCustomerServiceProfile(TRequestStatus& aReqStatus, TDes8& aALSLine, TDes8& aCsp ) const;

	enum TSSTServices1To8
		{
		KSstPin1Disable=0x01,
		KSstADN=0x02,
		KSstFDN=0x04,
		KSstSMS=0x08,
		KSstAoC=0x10,
		KSstCCP=0x20,
		KSstPLMNSelector=0x40
		};

	enum TSSTServices9To16
		{
		KSstMSISDN=0x01,
		KSstExt1=0x02,
		KSstExt2=0x04,
		KSstSMSP=0x08,
		KSstLND=0x10,
		KSstCBMI=0x20,
		KSstGID1=0x40,
		KSstGID2=0x80
		};
	
	enum TSSTServices17To24
		{
		KSstSPName=0x01,
		KSstSDN=0x02,
		KSstExt3=0x04,
		KSstVGCSList=0x10,
		KSstVBSList=0x20,
		KSsteMLPP=0x40,
		KSstAnswereMLPP=0x80
		};

	enum TSSTServices25To32
		{
		KSstSmsCbDataDownload=0x01,
		KSstSmsPpDataDownload=0x02,
		KSstMenuSelection=0x04,
		KSstCallControl=0x08,
		KSstProactiveSim=0x10,
		KSstCBMIRanges=0x20,
		KSstBDN=0x40,
		KSstExt4=0x80
		};

	enum TSSTServices33To40
		{
		KSstDepersonalisationKeys=0x01,
		KSstCooperativeNetworks=0x02,
		KSstSMStatusReports=0x04,
		KSstNetworkIndAlerting=0x08,
		KSstMoSmControlBySim=0x10,
		KSstGprs=0x20,
		KSstImage=0x40,
		KSstSoLSA=0x80
		};

	enum TSSTServices41To48
		{
		KSstUssdStringInCallControl=0x01,
		KSstRunATCommand=0x02,
		KSstPlmnSelectorListWithAccessTechnology=0x04,
		KSstOplmnSelectorListWithAccessTechnology=0x08,
		KSstHplmnAccessTechnology=0x10,
		KSstCpbcchInformation=0x20,
		KSstInvestigationScan=0x40,
		KSstExtendedCcp=0x80
		};

	enum TSSTServices49To56
		{
		KSstMExE=0x01,
		KSstRplmnLastUsedAccessTechnology=0x02
		};

	enum TMobilePhoneServiceTable
		{
		ESIMServiceTable,
		EUSIMServiceTable,
		ECDMAServiceTable
		};

	/**
	* \class TMobilePhoneServiceTableV1 ETELMM.H "INC/ETELMM.H"
	* \brief Defines contents of the specified Service Table on the ICC
	*
	*/

	class TMobilePhoneServiceTableV1 : public TMultimodeType
		{
	public:
		IMPORT_C TMobilePhoneServiceTableV1();

		TUint8 iServices1To8;
		TUint8 iServices9To16;
		TUint8 iServices17To24;
		TUint8 iServices25To32;
		TUint8 iServices33To40;
		TUint8 iServices41To48;
		TUint8 iServices49To56;
		};

	typedef TPckg<TMobilePhoneServiceTableV1> TMobilePhoneServiceTableV1Pckg;

	IMPORT_C void GetServiceTable(TRequestStatus& aReqStatus, TMobilePhoneServiceTable aTable, TDes8& aTableData) const;

	//
	// MobilePhonePower functional unit
	//

	enum TMobilePhoneBatteryCaps
		{
		KCapsGetBatteryInfo=0x00000001,
		KCapsNotifyBatteryInfoChange=0x00000002
		};

	IMPORT_C TInt GetBatteryCaps(TUint32& aCaps) const; 

	enum TMobilePhoneBatteryStatus
		{
		EPowerStatusUnknown,
		EPoweredByBattery,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -