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

📄 etelbgsm.h

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