📄 etelagsm.h
字号:
public:
virtual TInt GetCallWaitingMode(MAdvGsmLineCallWaitingMode::TCallWaitingMode& aMode,const MAdvGsmLineCallWaitingMode::TWaitingModeLocation aLocation = RAdvGsmLine::EWaitingLocationCache) const=0;
virtual void GetCallWaitingMode(TRequestStatus& aReqStatus,MAdvGsmLineCallWaitingMode::TCallWaitingMode& aMode,const MAdvGsmLineCallWaitingMode::TWaitingModeLocation aLocation = RAdvGsmLine::EWaitingLocationCache) const=0;
virtual void GetCallWaitingModeCancel() const=0;
virtual TInt SetCallWaitingMode(const MAdvGsmLineCallWaitingMode::TCallWaitingSetting aSetting) const=0;
virtual void SetCallWaitingMode(TRequestStatus& aReqStatus,const MAdvGsmLineCallWaitingMode::TCallWaitingSetting aSetting) const=0;
virtual void SetCallWaitingModeCancel() const=0;
virtual void CallWaitingModeNotification(TRequestStatus& aReqStatus, MAdvGsmLineCallWaitingMode::TCallWaitingMode& aMode) const=0;
virtual void CallWaitingModeNotificationCancel() const=0;
};
//
// Supplementary Service Strings
//
class MAdvGsmPhoneSupplementaryService
{
public:
virtual TInt SendSSString(const TDesC& aString) const=0;
virtual void SendSSString(TRequestStatus& aReqStatus, const TDesC& aString) const=0;
virtual void SendSSStringCancel() const=0;
};
//
// Send and receive DTMF Tones during connected voice calls.
//
class MAdvGsmPhoneDTMF
{
public:
enum TDTMFEvent
{
EDTMFEventAutoStart,
EDTMFEventAutoComplete,
EDTMFEventManualStart,
EDTMFEventManualComplete
};
virtual TInt SendDTMFTones(const TDesC& aTones) const=0;
virtual void SendDTMFTones(TRequestStatus& aReqStatus, const TDesC& aTones) const=0;
virtual void SendDTMFTonesCancel() const=0;
virtual TInt ReadDTMFTones(TDes& aTones) const=0;
virtual void ReadDTMFTones(TRequestStatus& aReqStatus, TDes& aTones) const=0;
virtual void ReadDTMFTonesCancel() const=0;
virtual void NotifyDTMFEvent(TRequestStatus& aReqStatus,TDTMFEvent& aEvent) const=0;
virtual void NotifyDTMFEventCancel() const=0;
virtual TInt StartDTMFTone(const TChar& aTone) const=0;
virtual void StartDTMFTone(TRequestStatus& aReqStatus, const TChar& aTone) const=0;
virtual void StartDTMFToneCancel() const=0;
virtual TInt StopDTMFTone() const=0;
virtual void StopDTMFTone(TRequestStatus& aReqStatus) const=0;
virtual void StopDTMFToneCancel() const=0;
virtual TInt SkipDTMFPause() const=0;
virtual void SkipDTMFPause(TRequestStatus& aReqStatus) const=0;
virtual void SkipDTMFPauseCancel() const=0;
};
class CGsmEmergencyNumbersList;
class MAdvGsmPhoneEmergencyNumbers
{
public:
class TEmergencyNumber
{
public:
void InternalizeL(RReadStream& aStream);
void ExternalizeL(RWriteStream& aStream) const;
public:
IMPORT_C TEmergencyNumber();
public:
TGsmTelNumber iTelNumber;
};
virtual CGsmEmergencyNumbersList* RetrieveSimEmergencyNumbersLC()=0;
virtual CGsmEmergencyNumbersList* RetrieveStandardEmergencyNumbersLC() const=0;
};
//
// Phone's static capabilities for alternating calls
//
class MAdvGsmPhoneAltCall
{
public:
enum TAlternatingModeCaps
{
KCapsCallModeSingle=0x00000001,
KCapsCallModeVoiceFax=0x00000002,
KCapsCallModeVoiceData=0x00000004,
KCapsCallModeVoiceThenData=0x00000008
};
struct TAlternatingCallModeCapsFlags
{
TUint iAlternatingCallModeCaps;
};
virtual TInt GetAlternatingCallModeCaps(TAlternatingCallModeCapsFlags& aCaps) const=0;
};
//
// Alternate Line Service - access to the auxiliary voice channel
//
class MAdvGsmPhoneAlternateLineService
{
public:
enum TALSLineGet
{
ELinePrimary, // ALS is supported by ME & SIM and Primary Line is the current line
ELineAuxiliary, // ALS is supported by ME & SIM and Auxiliary Line is the current line
ELineUnknown, // ALS is supported by ME & SIM but TSY can not determine line selection
ELineNotSupported // ALS is not supported either by ME or SIM or both.
};
enum TALSLineSet
{
ESelectPrimaryLine,
ESelectAuxiliaryLine
};
virtual TInt SetALSLine(const TALSLineSet aLineSetting) const=0;
virtual void SetALSLine(TRequestStatus& aReqStatus, const TALSLineSet aLineSetting) const=0;
virtual void SetALSLineCancel() const=0;
virtual TInt GetALSLine(TALSLineGet& aLineSetting) const=0;
virtual void GetALSLine(TRequestStatus& aReqStatus, TALSLineGet& aLineSetting) const=0;
virtual void GetALSLineCancel() const=0;
virtual void NotifyALSLineChange(TRequestStatus& aReqStatus, TALSLineGet& aLineSetting) const=0;
virtual void NotifyALSLineChangeCancel() const=0;
};
//
// Phone-level CCBS request interrogation & deactivation
//
class CAdvGsmCcbsRequestList;
class MAdvGsmPhoneCCBS
{
public:
enum TCcbsStatus
{
ECcbsNotProvisioned, // user has not subscribed to CCBS
ECcbsNotActive, // user has CCBS provisioned but no CCBS requests are currently active
ECcbsActive, // user has CCBS provisioned and there is at least 1 ( and up to 5) active CCBS requests
ECcbsUnknown // Phone can not determine the CCBS status
};
enum TCcbsStatusLocation
{
ECcbsLocationCache,
ECcbsLocationCachePreferred,
ECcbsLocationNetwork
};
class TCcbsRequest
{
public:
void InternalizeL(RReadStream& aStream);
void ExternalizeL(RWriteStream& aStream) const;
public:
IMPORT_C TCcbsRequest();
TInt iCcbsIndex; // The index given to the CCBS request by the network
TName iCallName; // Name of the call object that represents the CCBS request
TName iLineName; // Indication of which basic service (voice, data or fax) this CCBS is applicable to
TGsmTelNumber iDestination; // Tel Number of the CCBS request's destination
};
// User is deactivating all outstanding CCBS requests.
virtual TInt DeactivateAllCCBS() const=0;
virtual void DeactivateAllCCBS(TRequestStatus& aReqStatus) const=0;
virtual void DeactivateAllCCBSCancel() const=0;
// CCBS interrogation returns the CCBS status and if the service is active,
// the destination numbers and basic services against which CCBS requests are outstanding
virtual TInt GetCcbsStatus(TCcbsStatus& aCcbsStatus, const TCcbsStatusLocation aLocation = ECcbsLocationCache) const=0;
virtual void GetCcbsStatus(TRequestStatus& aReqStatus, TCcbsStatus& aCcbsStatus, const TCcbsStatusLocation aLocation = ECcbsLocationCache) const=0;
virtual void GetCcbsStatusCancel() const=0;
// If CCBS status indicates that the service is active, client can get list of
// active CCBS requests using this method.
// Synchronous version
virtual CAdvGsmCcbsRequestList* RetrieveActiveCCBSRequestsLC()=0;
};
//
// Preferred Language lists
//
class CAdvGsmLanguageList;
class MAdvGsmPhoneLanguage
{
public:
struct TCombinedEntries
{
TInt iEntryCount;
TInt iExtEntryCount;
};
virtual CAdvGsmLanguageList* RetrievePreferredLanguagesLC()=0;
virtual TInt StorePreferredLanguagesL(CAdvGsmLanguageList* aLanguageList) const=0;
virtual void StorePreferredLanguagesL(TRequestStatus& aReqStatus, CAdvGsmLanguageList* aLanguageList) const=0;
virtual void StorePreferredLanguagesCancel() const=0;
virtual void NotifyPreferredLanguagesChanged(TRequestStatus& aReqStatus) const=0;
virtual void NotifyPreferredLanguagesChangedCancel() const=0;
};
//
// Customer Service Profile & SIM Service Table
//
class MAdvGsmPhoneSimCapabilities
{
public:
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 TCspValueAdded
{
KCspLanguage=0x01,
KCspData=0x04,
KCspFax=0x08,
KCspSMMOEmail=0x10,
KCspSMMOPaging=0x20,
KCspPLMNMode=0x80,
};
struct TCspFile
{
TUint8 iCallOfferingServices;
TUint8 iCallRestrictionServices;
TUint8 iOtherSuppServices;
TUint8 iCallCompletionServices;
TUint8 iTeleservices;
TUint8 iCphsTeleservices;
TUint8 iCphsFeatures;
TUint8 iNumberIdentServices;
TUint8 iPhase2PlusServices;
TUint8 iValueAddedServices;
};
virtual TInt GetCustomerServiceProfile(TCspFile& aCsp) const=0;
virtual void GetCustomerServiceProfile(TRequestStatus& aReqStatus, TCspFile& aCsp) const=0;
virtual void GetCustomerServiceProfileCancel() const=0;
enum TSSTServices1To8
{
KSstPin1Disable=0x01,
KSstADN=0x02,
KSstFDN=0x04,
KSstSMS=0x08,
KSstAoC=0x10,
KSstCCP=0x20,
KSstPLMNSelector=0x40
};
enum TSSTServices9To16
{
KSstMSISDN=0x01,
KSstExt1=0x02,
KSstExt2=0x04,
KSstLND=0x10,
KSstCBMI=0x20
};
enum TSSTServices17To24
{
KSstSDN=0x02,
KSstExt3=0x04
};
enum TSSTServices25To32
{
KSstCBMIRanges=0x20,
KSstBDN=0x40,
KSstExt4=0x80
};
enum TSSTServices33To40
{
KSstSMStatusReports=0x04
};
struct TSstFile
{
TUint8 iServices1To8;
TUint8 iServices9To16;
TUint8 iServices17To24;
TUint8 iServices25To32;
TUint8 iServices33To40;
};
virtual TInt GetSimServiceTable(TSstFile& aSst) const=0;
virtual void GetSimServiceTable(TRequestStatus& aReqStatus, TSstFile& aSst) const=0;
virtual void GetSimServiceTableCancel() const=0;
};
//
// Advanced GSM Phone Information
//
class MAdvGsmPhoneInformation
{
public:
enum {KMaxImsiLength = 15};
typedef TBuf<KMaxImsiLength> TSubscriberId;
virtual TInt GetSubscriberId(TSubscriberId& aId) const=0;
virtual void GetSubscriberId(TRequestStatus& aReqStatus, TSubscriberId& aId) const=0;
virtual void GetSubscriberIdCancel() const=0;
};
//
//
// RAdvGsmPhone
//
//
class CAdvPhonePtrHolder;
class RAdvGsmPhone : public RBasicGsmPhone, public MAdvGsmPhoneOwnNumber,
public MAdvGsmPhoneNitz, public MAdvGsmPhoneNetwork,
public MAdvGsmPhoneSecurity, public MAdvGsmPhoneAoC, public MAdvGsmPhoneFdn,
public MAdvGsmPhoneAirTimeDuration, pu
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -