📄 etelbgsm.h
字号:
// ETELBGSM.H
//
// Copyright (c) 1997-1999 Symbian Ltd. All rights reserved.
//
// ETel Basic Gsm API
#if !defined(__ETELBGSM_H__)
#define __ETELBGSM_H__
#if !defined(__ETEL_H__)
#include "ETEL.h"
#endif
#if !defined(__E32BASE_H__)
#include <e32base.h>
#endif
#if !defined(__S32MEM_H__)
#include <s32mem.h>
#endif
const TInt KETelExtBasicGsm =1000;
const TInt KETelMixinBasicPhoneId =KETelExtBasicGsm+1;
const TInt KETelMixinBasicPhoneBookSupport =KETelExtBasicGsm+2;
const TInt KETelMixinBasicPhoneSignalAndBer =KETelExtBasicGsm+3;
const TInt KETelMixinBasicPhoneNetwork =KETelExtBasicGsm+4;
const TInt KETelMixinBasicPhoneBatteryPower =KETelExtBasicGsm+5;
const TInt KETelMixinBasicPhoneIndicator =KETelExtBasicGsm+6;
const TInt KETelMixinBasicPhoneClockAndAlarm=KETelExtBasicGsm+7;
const TUint KGsmMaxTelNumberSize=100;
struct TGsmTelNumber
{
TUint iTypeOfNumber;
TBuf<KGsmMaxTelNumberSize> iTelNumber;
};
const TUint KGsmPasswordSize=30; // Maximum length of longest password
typedef TBuf<KGsmPasswordSize> TGsmPassword;
//
//
// RBasicGsmCall
//
//
class CBasicPtrHolder;
class RBasicGsmCall : public RCall
{
public:
IMPORT_C RBasicGsmCall();
//
// Basic Gsm Call Caps
//
enum TBearerCaps
{
KCapsBearerSpeedAutobauding=0x00000001,
KCapsBearerSpeedV21_300=0x00000002,
KCapsBearerSpeedV22_1200=0x00000004,
KCapsBearerSpeedV23_1200_75=0x00000008,
KCapsBearerSpeedV22bis_2400=0x00000010,
KCapsBearerSpeedV26ter_2400=0x00000020,
KCapsBearerSpeedV32_4800=0x00000040,
KCapsBearerSpeedV32_9600=0x00000080,
KCapsBearerSpeedUnknown_NetworkSpecific=0x00000100,
KCapsBearerSpeedV32bis_7200=0x00000200,
KCapsBearerSpeedV32bis_12000=0x00000400,
KCapsBearerSpeedV32bis_14400=0x00000800,
KCapsBearerSpeedV34_9600=0x00001000,
KCapsBearerSpeedV34_12000=0x00002000,
KCapsBearerSpeedV34_14400=0x00004000,
KCapsBearerSpeedV110_300=0x00008000,
KCapsBearerSpeedV110_1200=0x00010000,
KCapsBearerSpeedV110_2400=0x00020000,
KCapsBearerSpeedV110_4800=0x00040000,
KCapsBearerSpeedV110_9600=0x00080000,
KCapsBearerSpeedV110_12000=0x00100000,
KCapsBearerSpeedV110_14400=0x00200000,
KCapsBearerSpeedV120_1200=0x00400000,
KCapsBearerSpeedV120_2400=0x00800000,
KCapsBearerSpeedV120_4800=0x01000000,
KCapsBearerSpeedV120_9600=0x02000000,
KCapsBearerSpeedV120_14400=0x04000000,
KCapsBearerSpeedUnknown=0x40000000,
KCapsBearerSpeedExtensions=0x80000000
};
enum
{
KCapsBearerNameAsynchronousModem=0x00000001,
KCapsBearerNameSynchronousModem=0x00000002,
KCapsBearerNamePADAccessAsynchronous=0x00000004,
KCapsBearerNamePacketAccessSynchronous=0x00000008,
KCapsBearerNameDataCircuitAsynchronousRdi=0x00000010,
KCapsBearerNameDataCircuitSynchronousRdi=0x00000020,
KCapsBearerNamePADAccessAsynchronousRdi=0x00000040,
KCapsBearerNamePacketAccessSynchronousRdi=0x00000080,
KCapsBearerNameUnknown=0x40000000,
KCapsBearerNameExtensions=0x80000000
};
enum
{
KCapsBearerCETransparent=0x00000001,
KCapsBearerCENonTransparent=0x00000002,
KCapsBearerCETransparentPreferred=0x00000004,
KCapsBearerCENonTransparentPreferred=0x00000008,
KCapsBearerCEUnknown=0x40000000,
KCapsBearerCEExtensions=0x80000000
};
struct TRlpParamRanges
{
TUint iWsMin;
TUint iWsMax;
TUint iMwsMin;
TUint iMwsMax;
TUint iT1Min;
TUint iT1Max;
TUint iN2Min;
TUint iN2Max;
TUint iT4Min;
TUint iT4Max;
};
struct TCaps
{
TUint iBearerSpeed;
TUint iBearerName;
TUint iBearerCe;
TRlpParamRanges iRlpParams;
};
IMPORT_C virtual TInt GetBasicGsmCaps(TCaps& aCaps) const;
IMPORT_C virtual void NotifyBasicGsmCaps(TRequestStatus& aStatus, TCaps& aCaps);
IMPORT_C virtual void NotifyBasicGsmCapsCancel() const;
//
// Basic Gsm Call Parameters
//
enum TBearerSpeed
{
EBearerSpeedAutobauding,
EBearerSpeedV21_300,
EBearerSpeedV22_1200,
EBearerSpeedV23_1200_75,
EBearerSpeedV22bis_2400,
EBearerSpeedV26ter_2400,
EBearerSpeedV32_4800,
EBearerSpeedV32_9600,
EBearerSpeedUnknown_NetworkSpecific,
EBearerSpeedV32bis_7200,
EBearerSpeedV32bis_12000,
EBearerSpeedV32bis_14400,
EBearerSpeedV34_9600,
EBearerSpeedV34_12000,
EBearerSpeedV34_14400,
EBearerSpeedV34_19200,
EBearerSpeedV34_28800,
EBearerSpeedV110_300,
EBearerSpeedV110_1200,
EBearerSpeedV110_2400,
EBearerSpeedV110_4800,
EBearerSpeedV110_9600,
EBearerSpeedV110_12000,
EBearerSpeedV110_14400,
EBearerSpeedV110_19200,
EBearerSpeedV110_28800,
EBearerSpeedV110_38400,
EBearerSpeedV110_48000,
EBearerSpeedV110_56000,
EBearerSpeedV120_1200,
EBearerSpeedV120_2400,
EBearerSpeedV120_4800,
EBearerSpeedV120_9600,
EBearerSpeedV120_14400,
EBearerSpeedV120_19200,
EBearerSpeedV120_28800,
EBearerSpeedV120_38400,
EBearerSpeedV120_48000,
EBearerSpeedV120_56000,
EBearerSpeedBitTransparent_56000,
EBearerSpeedBitTransparent_64000
};
enum TBearerName
{
EBearerNameAsynchronousModem,
EBearerNameSynchronousModem,
EBearerNamePADAccessAsynchronous,
EBearerNamePacketAccessSynchronous,
EBearerNameDataCircuitAsynchronousRdi,
EBearerNameDataCircuitSynchronousRdi,
EBearerNamePADAccessAsynchronousRdi,
EBearerNamePacketAccessSynchronousRdi
};
enum TBearerCE
{
EBearerCETransparent,
EBearerCENonTransparent,
EBearerCETransparentPreferred,
EBearerCENonTransparentPreferred
};
struct TBearer
{
TBearerSpeed iSpeed;
TBearerName iName;
TBearerCE iCe;
};
struct TRlpParams
{
TUint iIws;
TUint iMws;
TUint iT1;
TUint iN2;
TUint iT4;
};
class TCallParams : public RCall::TCallParams
{
public:
IMPORT_C TCallParams();
IMPORT_C TCallParams(const TBearer& aBearer,const TRlpParams& aRlpParams);
TBearer iBearer;
TRlpParams iRlpParams;
};
typedef TPckg<TCallParams> TCallParamsPckg;
//
// General notification information
//
class TCallInfo : public RCall::TCallInfo
{
public:
TBearer iBearer;
public:
IMPORT_C TCallInfo();
};
IMPORT_C virtual TInt GetInfoBasicGsm(TCallInfo& aCallInfo) const;
//
// HSCSD Functionality
//
// HSCSD Capability Information
enum THscsdBearerCaps
{
KCapsBearerSpeedV34_19200=0x00000001,
KCapsBearerSpeedV34_28800=0x00000002,
KCapsBearerSpeedV110_19200=0x00000004,
KCapsBearerSpeedV110_28800=0x00000008,
KCapsBearerSpeedV110_38400=0x00000010,
KCapsBearerSpeedV110_48000=0x00000020,
KCapsBearerSpeedV110_56000=0x00000040,
KCapsBearerSpeedV120_19200=0x00000080,
KCapsBearerSpeedV120_28800=0x00000100,
KCapsBearerSpeedV120_38400=0x00000200,
KCapsBearerSpeedV120_48000=0x00000400,
KCapsBearerSpeedV120_56000=0x00000800,
KCapsBearerSpeedBitTransparent_56000=0x00001000,
KCapsBearerSpeedBitTransparent_64000=0x00002000
};
enum TAiurCodingsCaps
{
EAiurCodings48=0x00000001,
EAiurCodings96=0x00000004,
EAiurCodings144=0x00000008
};
struct THscsdCaps
{
TUint iHscsdBearerSpeed; // Logical OR of THscsdBearerCaps values
TInt iMClass; // Detailed in GSM 05.02 V6.4.1 Appendix B
TInt iMaxRxTimeSlots;
TInt iMaxTxTimeSlots;
TInt iTotalRxTxTimeSlots;
TUint iCodingCaps; // Logical OR of TAiurCodings values
};
IMPORT_C virtual TInt GetHscsdCaps(THscsdCaps& aHscsdCaps) const;
IMPORT_C virtual void NotifyHscsdGsmCaps(TRequestStatus& aStatus, THscsdCaps& aHscsdCaps) const;
IMPORT_C virtual void NotifyHscsdGsmCapsCancel() const;
//
// Statically Configure HSCSD call parameters
// (will not work during a call)
//
enum TAiur
{
EAiurBps9600,
EAiurBps14400,
EAiurBps19200,
EAiurBps28800,
EAiurBps38400,
EAiurBps43200,
EAiurBps57600
};
struct THscsdParams
{
TAiur iAiur;
TInt iRequestedTimeSlots;
TInt iMaxTimeSlots;
TUint iCodings; // Logical OR of TAiurCodings values
// Note that iCodings=0x0 indicates that all
// supported codings are acceptable.
};
IMPORT_C virtual TInt SetHscsdParams(const THscsdParams& aHSCSDParams) const;
IMPORT_C virtual TInt GetHscsdParams(THscsdParams& aHSCSDParams) const;
//
// Retrieve current call information
//
struct THscsdDynamicParams
{
TAiur iAiur;
TInt iRxTimeSlots;
TInt iTxTimeSlots;
TUint iCodings; // Logical OR of TAiurCodings values
};
IMPORT_C virtual TInt GetDynamicHscsdParams(THscsdDynamicParams& aHSCSDParams) const;
IMPORT_C virtual void NotifyDynamicHscsdParams(TRequestStatus& aStatus, THscsdDynamicParams& aHSCSDParams) const;
IMPORT_C virtual void NotifyDynamicHscsdParamsCancel() const;
//
// Request a dynamic change of HSCSD parameters
//
IMPORT_C virtual TInt SetDynamicHscsdParams(const THscsdDynamicParams& aHSCSDParams) const;
IMPORT_C virtual void SetDynamicHscsdParams(TRequestStatus& aStatus, const THscsdDynamicParams& aHSCSDParams) const;
IMPORT_C virtual void SetDynamicHscsdParamsCancel() const;
private:
CBasicPtrHolder* iBasicPtrHolder;
protected:
IMPORT_C virtual void ConstructL();
IMPORT_C virtual void Destruct();
};
//
//
// TGsmDateTime
//
//
class TGsmDateTime : public TDateTime
{
public:
IMPORT_C TGsmDateTime();
IMPORT_C TGsmDateTime(TInt aTimeZone,TInt aYear,TMonth aMonth,TInt aDay,TInt aHour,TInt aMinute, TInt aSecond,TInt aMicroSecond);
IMPORT_C void SetTimeZone(const TInt aTimeZone);
IMPORT_C TInt TimeZone() const;
private:
TInt iTimeZone;
};
//
// Phone ID Information
//
class MBasicGsmPhoneId
{
public:
enum { KPhoneManufacturerIdSize=50 };
enum { KPhoneModelIdSize=50 };
enum { KPhoneRevisionIdSize=50 };
enum { KPhoneSerialNumberSize=50 };
struct TId
{
TBuf<KPhoneManufacturerIdSize> iManufacturerId;
TBuf<KPhoneModelIdSize> iModelId;
TBuf<KPhoneRevisionIdSize> iRevisionId;
TBuf<KPhoneSerialNumberSize> iSerialNumber;
};
virtual TInt GetGsmPhoneId(TId& aId) const=0;
virtual void IdFreeSlot1() const=0;
virtual void IdFreeSlot2() const=0;
virtual void IdFreeSlot3() const=0;
virtual void IdFreeSlot4() const=0;
protected:
MBasicGsmPhoneId();
};
//
// Phone Book Support
//
class MBasicGsmPhoneBookSupport
{
public:
struct TPhoneBookInfo
{
TInt iUsed;
TInt iTotal;
TBool iWriteAccess;
TBool iRestrictedWriteAccess;
TName iName;
TInt iMaxNumberLength;
TInt iMaxTextLength;
};
virtual TInt EnumeratePhoneBooks(TInt& aPhoneBookCount) const=0;
virtual TInt GetPhoneBookInfo(const TInt aIndex, TPhoneBookInfo& aInfo) const=0;
virtual void GetPhoneBookInfo(TRequestStatus& aStatus, const TInt aIndex, TPhoneBookInfo& aInfo) const=0;
virtual void GetPhoneBookInfoCancel() const=0;
virtual void PhBookSupportFreeSlot3() const=0;
virtual void PhBookSupportFreeSlot4() const=0;
protected:
MBasicGsmPhoneBookSupport();
};
//
// Signal Strength and Bit Error Rate Information
//
class MBasicGsmPhoneSignalandBer
{
public:
virtual TInt GetSignalStrength(TInt32& aSignalStrength) const=0;
virtual void GetSignalStrength(TRequestStatus& aStatus, TInt32& aSignalStrength)=0;
virtual void GetSignalStrengthCancel() const=0;
virtual void SignalStrengthNotification(TRequestStatus& aStatus,TInt32& aSignalStrength)=0;
virtual void SignalStrengthNotificationCancel() const=0;
virtual TInt GetBer(TUint& aBer) const=0;
virtual void GetBer(TRequestStatus& aStatus, TUint& aBer)=0;
virtual void GetBerCancel() const=0;
virtual void BerNotification(TRequestStatus& aStatus,TUint& aBer)=0;
virtual void BerNotificationCancel() const=0;
enum TSignalStrengthAndBerCaps
{
KCapsSignalStrength=0x00000001,
KCapsSignalBer=0x00000002,
KCapsSignalStrengthUpdate=0x00000004,
KCapsSignalBerUpdate=0x00000008
};
struct TSignalAndBerCapsFlags
{
TUint iSignalCaps;
};
virtual TInt GetSignalCaps(TSignalAndBerCapsFlags& aCaps) const=0;
virtual void NotifySignalCaps(TRequestStatus& aStatus, TSignalAndBerCapsFlags& aCaps)=0;
virtual void NotifySignalCapsCancel() const=0;
virtual void SignalFreeSlot1() const=0;
virtual void SignalFreeSlot2() const=0;
virtual void SignalFreeSlot3() const=0;
virtual void SignalFreeSlot4() const=0;
protected:
MBasicGsmPhoneSignalandBer();
};
//
// Network support
//
class CGsmNetworkList;
class MBasicGsmPhoneNetwork
{
public:
enum
{
KShortNetworkNameSize=20,
KLongNetworkNameSize=30
};
enum TNetworkStatus
{
ENetStatUnknown,
ENetStatAvailable,
ENetStatCurrent,
ENetStatForbidden,
ENetStatNotApplicable
};
class TBscNetworkId
{
public:
IMPORT_C void InternalizeL(RReadStream& aStream);
IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
public:
TUint iMCC;
TUint iMNC;
};
enum TNetworkSetMode
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -