diff -r e1b950c65cb4 -r 837f303aceeb epoc32/include/etel.h
--- a/epoc32/include/etel.h	Wed Mar 31 12:27:01 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1182 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
-// which accompanies this distribution, and is available
-// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-
-
-/**
- @file
- @publishedAll
- @released
-*/
-
-#if !defined(__ETEL_H__)
-/** @internalComponent */
-#define __ETEL_H__
-
-#if !defined(__E32BASE_H__)
-#include <e32base.h>
-#endif
-
-#if !defined (__C32COMM_H__)
-#include <c32comm.h>
-#endif
-
-#if !defined(__D32COMM_H__)
-#include <d32comm.h>
-#endif
-
-#if !defined(__FAXDEFN_H)
-#include <faxdefn.h>
-#endif
-/** Major version number.*/
-const TUint KEtelMajorVersionNumber=1;
-/** Minor version number. */
-const TUint KEtelMinorVersionNumber=0;
-/** Build number. */
-const TUint KEtelBuildVersionNumber=606;
-/**
-@internalComponent
-*/
-IMPORT_C void PanicClient(TInt aFault);
-
-//
-// Etel Core Error Definitions
-//
-
-const TInt KErrEtelCoreBase = -2000;
-
-/** The client is not the call owner and has attempted to perform an operation 
-that requires ownership.*/
-const TInt KErrEtelNotCallOwner=KErrEtelCoreBase;
-/** An attempt has been made to load an ETel (TSY) module which contains a phone 
-with the same name as one already loaded. */
-const TInt KErrEtelDuplicatePhoneName=KErrEtelCoreBase-1;
-/** An attempt has been made to acquire call ownership when the requesting client 
-is already the call owner. */
-const TInt KErrEtelAlreadyCallOwner=KErrEtelCoreBase-2;
-/** A connection has been terminated because the carrier has been lost. */
-const TInt KErrEtelNoCarrier=KErrEtelCoreBase-3;
-/** An attempt to establish a connection with the RCall::Dial() function has failed 
-because the remote party's line was busy. */
-const TInt KErrEtelBusyDetected=KErrEtelCoreBase-4;
-/** An attempt has been made to transfer call ownership, but no other clients are 
-interested in acquiring ownership. */
-const TInt KErrEtelNoClientInterestedInThisCall=KErrEtelCoreBase-5;
-/** The TSY has failed to initialise the modem. This may be occur if the modem 
-is disconnected during initialisation, or if an attempt is made to initialise 
-an unsupported modem. */
-const TInt KErrEtelInitialisationFailure=KErrEtelCoreBase-6;
-/** An attempt has been made to perform an operation which requires the call to 
-be connected - when the call is not connected. E.g. RCall:LoanDataPort(). */
-const TInt KErrEtelCallNotActive=KErrEtelCoreBase-7;
-/** A connection request has failed because there is no answer. */
-const TInt KErrEtelNoAnswer=KErrEtelCoreBase-8;
-/** A connection request has failed because there is no dial tone. For example, 
-if there is no connection between the modem and the network. */
-const TInt KErrEtelNoDialTone=KErrEtelCoreBase-9;
-/** An attempt to configure the port has failed because the hardware cannot match 
-the desired configuration. For example, if an attempt is made to configure 
-the comms port to a baud rate it cannot support. */
-const TInt KErrEtelConfigPortFailure=KErrEtelCoreBase-10;
-/** Out of memory error - global chunk cannot be created. */
-const TInt KErrEtelFaxChunkNotCreated=KErrEtelCoreBase-11;
-/** The client is not the fax owner and has attempted to perform an operation that 
-requires fax ownership.
-
-The fax client should be used to access fax functionality. Consequently, client 
-code should not return this error. */
-const TInt KErrEtelNotFaxOwner=KErrEtelCoreBase-12;
-/** An attempt has been made to perform an operation which requires port ownership. 
-However, the client does not own the port. */
-const TInt KErrEtelPortNotLoanedToClient=KErrEtelCoreBase-13;
-/** An operation has failed because the modem has been incorrectly configured. */
-const TInt KErrEtelWrongModemType=KErrEtelCoreBase-14;
-/** An operation has failed because the modem does not understand the request - 
-possible bug in modem. */
-const TInt KErrEtelUnknownModemCapability=KErrEtelCoreBase-15;
-/** The call has already placed an 'answer incoming call' request. Only 1 request 
-of a type (e.g. fax, voice, data) can be outstanding on the server at a time. */
-const TInt KErrEtelAnswerAlreadyOutstanding=KErrEtelCoreBase-16;
-/** An attempt to establish a connection with the modem has failed because the 
-modem cannot be detected. */
-const TInt KErrEtelModemNotDetected=KErrEtelCoreBase-17;
-/** Operation failed because the modem settings are corrupt. */
-const TInt KErrEtelModemSettingsCorrupt=KErrEtelCoreBase-18;
-/** The Data port is in use by another call or application. */
-const TInt KErrEtelPortAlreadyLoaned=KErrEtelCoreBase-19;
-/** Another call active. Close it before opening a new one. */
-const TInt KErrEtelCallAlreadyActive=KErrEtelCoreBase-20;
-
-//
-//
-// RTelSubSessionBase
-//
-//
-class CPtrHolder;
-class RFile;
-/**
-A base class used in the derivation of RCall, RLine, and RPhone. It has no user
-accessible functions. 
-
-@publishedPartner
-@released
-*/
-class RTelSubSessionBase : public RSubSessionBase
-	{
-public:
-	inline RSessionBase& SessionHandle() const;
-	inline void SetSessionHandle(RSessionBase& aSession);
-	inline void ResetSessionHandle();
-	inline TInt SubSessionHandle();
-
-	IMPORT_C void CancelAsyncRequest(TInt aReqToCancel) const;
-
-	enum TReqPriorityType
-		{
-		EIsNotaPriorityRequest,
-		EIsaPriorityRequest,
-		EIsaEmergencyRequest
-		};
-	
-protected:
-
-	IMPORT_C RTelSubSessionBase();
-	IMPORT_C TInt Blank(const TInt aIpc,TReqPriorityType aType = EIsNotaPriorityRequest) const;
-	IMPORT_C void Blank(const TInt aIpc,TRequestStatus& aStatus,TReqPriorityType aType = EIsNotaPriorityRequest) const;
-
-	IMPORT_C TInt Set(const TInt aIpc,const TDesC8& aDes,TReqPriorityType aType = EIsNotaPriorityRequest) const;
-	IMPORT_C void Set(const TInt aIpc,TRequestStatus& aStatus,const TDesC8& aDes,TReqPriorityType aType = EIsNotaPriorityRequest) const;
-	IMPORT_C TInt Get(const TInt aIpc,TDes8& aDes,TReqPriorityType aType = EIsNotaPriorityRequest) const;
-	IMPORT_C void Get(const TInt aIpc,TRequestStatus& aStatus,TDes8& aDes,TReqPriorityType aType = EIsNotaPriorityRequest) const;
-
-	IMPORT_C TInt Set(const TInt aIpc,const TDesC8& aDes1,const TDesC8& aDes2,TReqPriorityType aType = EIsNotaPriorityRequest) const;
-	IMPORT_C void Set(const TInt aIpc,TRequestStatus& aStatus,const TDesC8& aDes1,const TDesC8& aDes2,TReqPriorityType aType = EIsNotaPriorityRequest) const;
-	IMPORT_C TInt Get(const TInt aIpc,TDes8& aDes1,TDes8& aDes2,TReqPriorityType aType = EIsNotaPriorityRequest) const;
-	IMPORT_C void Get(const TInt aIpc,TRequestStatus& aStatus,TDes8& aDes1,TDes8& aDes2,TReqPriorityType aType = EIsNotaPriorityRequest) const;
-	
-	IMPORT_C TInt Set(const TInt aIpc,const TDesC16& aDes,TReqPriorityType aType = EIsNotaPriorityRequest) const;
-	IMPORT_C void Set(const TInt aIpc,TRequestStatus& aStatus,const TDesC16& aDes,TReqPriorityType aType = EIsNotaPriorityRequest) const;
-	IMPORT_C TInt Get(const TInt aIpc,TDes16& aDes,TReqPriorityType aType = EIsNotaPriorityRequest) const;
-	IMPORT_C void Get(const TInt aIpc,TRequestStatus& aStatus,TDes16& aDes,TReqPriorityType aType = EIsNotaPriorityRequest) const;
-
-	IMPORT_C TInt Set(const TInt aIpc,const TDesC16& aDes1,const TDesC16& aDes2,TReqPriorityType aType = EIsNotaPriorityRequest) const;
-	IMPORT_C void Set(const TInt aIpc,TRequestStatus& aStatus,const TDesC16& aDes1,const TDesC16& aDes2,TReqPriorityType aType = EIsNotaPriorityRequest) const;
-	IMPORT_C TInt Set(const TInt aIpc,const TDesC8& aDes1,const TDesC16& aDes2,TReqPriorityType aType = EIsNotaPriorityRequest) const;
-	IMPORT_C void Set(const TInt aIpc,TRequestStatus& aStatus,const TDesC8& aDes1,const TDesC16& aDes2,TReqPriorityType aType = EIsNotaPriorityRequest) const;
-
-	IMPORT_C TInt Get(const TInt aIpc,TDes16& aDes1,TDes16& aDes2,TReqPriorityType aType = EIsNotaPriorityRequest) const;
-	IMPORT_C void Get(const TInt aIpc,TRequestStatus& aStatus,TDes16& aDes1,TDes16& aDes2,TReqPriorityType aType = EIsNotaPriorityRequest) const;
-	IMPORT_C TInt Get(const TInt aIpc,TDes8& aDes1,TDes16& aDes2,TReqPriorityType aType = EIsNotaPriorityRequest) const;
-	IMPORT_C void Get(const TInt aIpc,TRequestStatus& aStatus,TDes8& aDes1,TDes16& aDes2,TReqPriorityType aType = EIsNotaPriorityRequest) const;
-
-	IMPORT_C void SetAndGet(const TInt aIpc, TRequestStatus& aStatus, const TDesC8& aDes1, TDes8& aDes2, TReqPriorityType aType = EIsNotaPriorityRequest) const;
-	IMPORT_C void SetAndGet(const TInt aIpc, TRequestStatus& aStatus, TDes8& aDes1, const TDesC16& aDes2, TReqPriorityType aType = EIsNotaPriorityRequest) const;
-	IMPORT_C void SetAndGet(const TInt aIpc, TRequestStatus& aStatus, const TDesC8&, TDes16& aDes2, TReqPriorityType aType = EIsNotaPriorityRequest) const;
-	IMPORT_C void SetAndGet(const TInt aIpc, TRequestStatus& aStatus, const TDesC16& aDes1, TDes16& aDes2, TReqPriorityType aType = EIsNotaPriorityRequest) const;
-
-	IMPORT_C TInt Set(const TInt aIpc, const RFile& aFile, TReqPriorityType aType = EIsNotaPriorityRequest) const;
-
-	IMPORT_C TInt CancelReq(const TInt aIpc,const TInt aIpcToCancel) const;
-	IMPORT_C TInt CancelSubSession() const;
-
-private:
-	RTelSubSessionBase(const RTelSubSessionBase& aTelSubSessionBase);
-	RSessionBase* iTelSession;
-protected:	
-	CPtrHolder* iPtrHolder;
-	};
-
-//
-//
-// RFax
-//
-//
-class RCall;
-/**
-ETel fax subsession.
-
-Contains the fax client progress information structure.
-
-ETel does include server-side RFax objects, however the 
-associated APIs are intended solely for use by ETel's own 
-fax client. Consequently, only the TProgress structure is 
-considered part of the public API.
-
-@publishedPartner
-@released
-*/
-class RFax : public RTelSubSessionBase
-	{
-public:
-	IMPORT_C RFax();
-	IMPORT_C TInt Open(RCall& aCall);
-	IMPORT_C void Close();
-
-//
-// Read,Write and Wait for Page End
-//
-	IMPORT_C void Read(TRequestStatus& aStatus,TDes8& aDes);
-	IMPORT_C void Write(TRequestStatus& aStatus,const TDesC8& aDes);
-	IMPORT_C void WaitForEndOfPage(TRequestStatus& aStatus) const;
-	IMPORT_C TInt TerminateFaxSession() const;
-//
-// Progress Information
-//
-	struct TProgress
-	/** Contains fax progress information.*/
-		{
-		/** Time of last progress update.*/
-		TTime iLastUpdateTime;
-		/** ID of remote fax - filled in after connection.*/
-		TBuf<20> iAnswerback;
-
-		/** Phase of session.*/
-		TFaxPhase iPhase;
-		/** Resolution of document.*/
-		TFaxResolution iResolution;
-		/** Compression method in use.*/
-		TFaxCompression iCompression;
-		/** Error correction mode. Reserved for future releases.*/
-		TInt iECM;
-		
-		/** Last or current page being transferred.*/
-		TInt iPage;
-		/** Last or current line on page.*/
-		TInt iLines;
-		/** Speed of fax session.*/
-		TInt iSpeed;
-		};
-
-	IMPORT_C TInt GetProgress(TProgress& aProgress);
-private:
-	TProgress* iProgressPtr;
-	RChunk iChunk;
-protected:
-	IMPORT_C virtual void ConstructL();
-	IMPORT_C virtual void Destruct();
-	};
-
-//
-//
-// RCall
-//
-//
-class RTelServer;
-class RPhone;
-class RLine;
-/**
-Call sub-session.
-
-Provides access to the functionality associated with a specific call.
-
-This class is not intended for user derivation. 
-
-@publishedPartner
-@released
-*/
-class RCall : public RTelSubSessionBase
-	{
-public:
-	IMPORT_C RCall();
-	IMPORT_C TInt OpenNewCall(RTelServer& aServer,const TDesC& aName,TDes& aNewName);
-	IMPORT_C TInt OpenNewCall(RTelServer& aServer,const TDesC& aName);
-	IMPORT_C TInt OpenNewCall(RPhone& aPhone,const TDesC& aName,TDes& aNewName);
-	IMPORT_C TInt OpenNewCall(RPhone& aPhone,const TDesC& aName);
-	IMPORT_C TInt OpenNewCall(RLine& aLine,TDes& aNewName);
-	IMPORT_C TInt OpenNewCall(RLine& aLine);
-	IMPORT_C TInt OpenExistingCall(RTelServer& aServer,const TDesC& aName);
-	IMPORT_C TInt OpenExistingCall(RPhone& aPhone,const TDesC& aName);
-	IMPORT_C TInt OpenExistingCall(RLine& aLine,const TDesC& aName);
-	IMPORT_C void Close();
-
-//
-// Call Status
-//
-/** Call status flags. */
-	enum TStatus
-		{
-	/** The call status is not known. */
-		EStatusUnknown,
-	/** The call is idle. */
-		EStatusIdle,
-	/** The call is dialling. */
-		EStatusDialling,
-	/** The call is ringing (an incoming, unanswered call). */
-		EStatusRinging,
-	/** The call is being answered. */
-		EStatusAnswering,
-	/** The call is connecting (immediate call establishment, without dialling). */
-		EStatusConnecting,
-	/** The call is connected and active. */
-		EStatusConnected,
-	/** The call is being terminated. */
-		EStatusHangingUp
-		};
-
-	IMPORT_C TInt GetStatus(TStatus& aStatus) const;
-
-//
-// Call Caps
-//
-/** Call capability flags. */
-	enum TCapsEnum
-		{
-	/** The call supports data calls. */
-		KCapsData=0x00000001,
-	/** The call supports fax calls. */
-		KCapsFax=0x00000002,
-	/** The call supports voice calls. */
-		KCapsVoice=0x00000004,
-	/** The Dial request is currently a valid action. */
-		KCapsDial=0x00000008,
-	/** The Connect request is currently a valid action. */
-		KCapsConnect=0x00000010,
-	/** The Hang Up request is currently a valid action. */
-		KCapsHangUp=0x00000020,
-	/** The Answer request is currently a valid action. */
-		KCapsAnswer=0x00000040,
-	/** The Loan Data Port request is currently a valid action. */
-		KCapsLoanDataPort=0x00000080,
-	/** The Recover Data Port request is currently a valid action. */
-		KCapsRecoverDataPort=0x00000100
-		};
-
-	struct TCaps
-/** Call capability information. */
-		{
-	/** Call capability flag. Contains a bitmask of values defined in the TCapsEnum 
-	enumeration.*/
-		TUint iFlags;
-		};
-
-	IMPORT_C TInt GetCaps(TCaps& aCaps) const;
-	IMPORT_C void NotifyCapsChange(TRequestStatus& aStatus, TCaps& aCaps);
-	IMPORT_C void NotifyCapsChangeCancel() const;
-
-//
-// Bearer Service Information
-//
-/** Bearer capability flags. */
-	enum TBearerCaps
-		{
-	/** V42bis modem compression protocol. */
-		KBearerCapsCompressionV42bis=0x00000001,
-	/** MNP5 modem compression protocol. */
-		KBearerCapsCompressionMNP5=0x00000002,
-	/** No compression supported. */
-		KBearerCapsCompressionNone=0x00000004,
-	/** LAPM error correction protocol. */
-		KBearerCapsProtocolLAPM=0x00000008,
-	/** MNP10 mode. */
-		KBearerCapsProtocolALT_CELLULAR=0x00000010,
-	/** MNP error correction. */
-		KBearerCapsProtocolALT=0x00000020,
-	/** No protocol information provided. */
-		KBearerCapsProtocolNone=0x00000040,
-	/** Compression protocol unknown. */
-		KBearerCapsCompressionUnknown=0x00000080,
-	/** Unable to establish protocol. */
-		KBearerCapsProtocolUnknown=0x00000100
-		};
-
-/** Bearer speed flags. */
-	enum TCallBearerSpeed
-		{
-	/** Transfer rate of 57600 bps. */
-		EBearerData57600,
-	/** Transfer rate of 33600 bps. */
-		EBearerData33600,
-	/** Transfer rate of 31200 bps. */
-		EBearerData31200,
-	/** Transfer rate of 9200 bps. */
-		EBearerData19200,
-	/** Transfer rate of 4400 bps. */
-		EBearerData14400,
-	/** Transfer rate of 12000 bps. */
-		EBearerData12000,
-	/** Transfer rate of 9600 bps. */
-		EBearerData9600,
-	/** Transfer rate of 7200 bps. */
-		EBearerData7200,
-	/** Transfer rate of 4800 bps. */
-		EBearerData4800,
-	/** Transfer rate of 2400 bps. */
-		EBearerData2400,
-	/** Transfer rate of 200 bps. */
-		EBearerData1200,
-	/** V.23 75 bps forward, 1200 bps back */
-		EBearerData75_1200,
-	/** V.23 1200 bps forward, 75 bps back */
-		EBearerData1200_75,
-	/** Transfer rate of 300 bps. */
-		EBearerData300,
-	/** Transfer rate is unknown. */
-		EBearerDataUnknown
-		};
-
-	struct TBearerService
-/** Call bearer information.
-
-@see TCallBearerSpeed */
-		{
-	/** The bearer capabilities. */
-		TUint32 iBearerCaps;
-	/** The bearer's speed.
-	
-	@see TCallBearerSpeed */
-		TCallBearerSpeed iBearerSpeed;
-		};
-
- 	IMPORT_C TInt GetBearerServiceInfo(TBearerService& aBearerService) const;
-
-//
-// Notifications
-//
-/** Hook status flags. */
-	enum THookStatus
-		{
-	/** The line is currently off hook. */
-		EHookStatusOff,
-	/** The line is currently on hook. */
-		EHookStatusOn,
-	/** The status of the line's hook is currently unknown */
-		EHookStatusUnknown
-		};
-
-	class TCallInfo
-/** Line call capability information.
-
-@see TName 
-@publishedAll
-@released
-*/
-		{
-	public:
-		IMPORT_C TCallInfo();
-	/** The name of a call.
-	
-	@see TName */
-		TName iCallName;
-		TName iLineName;
-		THookStatus iHookStatus;
-	/** The call status.
-	
-	@see RCall::TStatus */
-		TStatus iStatus;
-		TTimeIntervalSeconds iDuration;
-		};
-	
-	IMPORT_C TInt GetInfo(TCallInfo& aCallInfo) const;
-	IMPORT_C void NotifyHookChange(TRequestStatus& aStatus,THookStatus& aHookStatus);
-	IMPORT_C void NotifyHookChangeCancel() const;
-	IMPORT_C void NotifyStatusChange(TRequestStatus& aStatus,TStatus& aCallStatus);
-	IMPORT_C void NotifyStatusChangeCancel() const;
-	IMPORT_C void NotifyCallDurationChange(TRequestStatus& aStatus,TTimeIntervalSeconds& aTime);
-	IMPORT_C void NotifyCallDurationChangeCancel() const;
-
-//
-// Duration of call
-//
-	IMPORT_C TInt GetCallDuration(TTimeIntervalSeconds& aTime) const;
-//
-// Connecting and Disconnecting
-//
-/** Passes telephone numbers into Dial functions. */
-	typedef TDesC TTelNumberC;
-	IMPORT_C TInt Dial(const TTelNumberC& aTelNumber) const;
-	IMPORT_C TInt Dial(const TDesC8& aCallParams,const TTelNumberC& aTelNumber) const;
-	IMPORT_C void Dial(TRequestStatus& aStatus,const TTelNumberC& aTelNumber);
-	IMPORT_C void Dial(TRequestStatus& aStatus,const TDesC8& aCallParams,const TTelNumberC& aTelNumber);
-	IMPORT_C void DialCancel() const;
-	IMPORT_C TInt Connect() const;
-	IMPORT_C TInt Connect(const TDesC8& aCallParams) const;
-	IMPORT_C void Connect(TRequestStatus& aStatus);
-	IMPORT_C void Connect(TRequestStatus& aStatus,const TDesC8& aCallParams);
-	IMPORT_C void ConnectCancel() const;
-	IMPORT_C TInt AnswerIncomingCall() const;
-	IMPORT_C TInt AnswerIncomingCall(const TDesC8& aCallParams) const;
-	IMPORT_C void AnswerIncomingCall(TRequestStatus& aStatus);
-	IMPORT_C void AnswerIncomingCall(TRequestStatus& aStatus,const TDesC8& aCallParams);
-	IMPORT_C void AnswerIncomingCallCancel() const;
-	IMPORT_C TInt HangUp() const;
-	IMPORT_C void HangUp(TRequestStatus& aStatus) const;
-	IMPORT_C void HangUpCancel() const;
-
-//
-// Call Data Access
-//
-	struct  TCommPort
-/** Communications port information.
-
-@see TFileName */
-		{
-	/** The CSY module used by the C32 Communications Server to talk to the serial 
-	device.
-	@deprecated This has been deprecated as all the information that is needed by the 
-	lower layers is now being passed in iPort. 
-	
-	@see TFileName */
-		TFileName iCsy;
-	/** The port used by the C32 Communications Server to talk to the serial device.
-	It holds both the Csy name and the Port name.
-	
-	@see TName */
-		TName iPort;
-		};
-
-	IMPORT_C TInt LoanDataPort(TCommPort& aDataPort) const;
-	IMPORT_C void LoanDataPort(TRequestStatus& aStatus,TCommPort& aDataPort);
-	IMPORT_C void LoanDataPortCancel() const;
-	IMPORT_C TInt RecoverDataPort() const;
-
-//
-// Call Ownership manipulation
-//
-/** Call ownership status flags. */
-	enum TOwnershipStatus
-		{
-	/** The call is not owned. */
-		EOwnershipUnowned,
-	/** The call is owned, but not by this RCall instance. */
-		EOwnershipOwnedByAnotherClient,		// not the priority client
-	/** The call is owned by this RCall instance. */
-		EOwnershipOwnedByThisClient,
-	/** The call is owned, but not by the priority client */
-		EOwnershipThisIsPriorityClient		// not owned by this (the priority) client
-		};
-
-	IMPORT_C TInt TransferOwnership() const;
-	IMPORT_C void AcquireOwnership(TRequestStatus& aStatus) const;
-	IMPORT_C void AcquireOwnershipCancel() const;
-	IMPORT_C TInt GetOwnershipStatus(TOwnershipStatus& aOwnershipStatus) const;
-	//
-//
-// Get and Set Call Parameters
-//
-/** Monitor speaker control setting flags. */
-	enum TMonitorSpeakerControl
-		{
-	/** Speaker control is always off */
-		EMonitorSpeakerControlAlwaysOff,
-	/** Speaker control is on until the carrier is detected */
-		EMonitorSpeakerControlOnUntilCarrier,
-	/** Speaker control is always active. */
-		EMonitorSpeakerControlAlwaysOn,
-	/** Speaker control is on, except while dialling */
-		EMonitorSpeakerControlOnExceptDuringDialling,
-	/** Speaker control is unknown. */
-		EMonitorSpeakerControlUnknown
-		};
-
-/** Monitor speaker volume control setting flags. */
-	enum TMonitorSpeakerVolume
-		{
-	/** Speaker volume is off. */
-		EMonitorSpeakerVolumeOff,
-	/** Speaker volume is low. */
-		EMonitorSpeakerVolumeLow,
-	/** Speaker volume is medium. */
-		EMonitorSpeakerVolumeMedium,
-	/** Speaker volume is high. */
-		EMonitorSpeakerVolumeHigh,
-	/** Speaker volume is unknown. */
-		EMonitorSpeakerVolumeUnknown
-		};
-
-/** Wait for dial tone flags. */
-	enum TWaitForDialTone
-		{
-	/** Waiting for dial tone. */
-		EDialToneWait,
-	/** Not waiting for dial tone. */
-		EDialToneNoWait
-		};
-
-	class TCallParams
-	/**
-	@publishedAll
-	@released
-	*/
-		{
-	public:
-		IMPORT_C TCallParams();
-		IMPORT_C TCallParams(TMonitorSpeakerControl aSpeakerControl,
-							 TMonitorSpeakerVolume aSpeakerVolume,
-							 TUint aInterval,
-							 TWaitForDialTone aWaitForDialTone);
-		IMPORT_C TInt ExtensionId();
-		IMPORT_C TBool IsDefault();
-		TMonitorSpeakerControl iSpeakerControl;
-		TMonitorSpeakerVolume iSpeakerVolume;
-		TUint iInterval;
-		TWaitForDialTone iWaitForDialTone;
-	protected:
-		TBool iIsDefault;
-		TInt iExtensionId;
-		};
-
-/** Call parameters package
-
-The call parameters to be associated with a call may be passed into functions 
-using this type.
-
-@see TCallParams */
-	typedef TPckg<TCallParams> TCallParamsPckg;
-
-	IMPORT_C TInt GetCallParams(TDes8& aParams) const;
-
-//
-// Fax Settings
-//
-/** Fax mode flags. */
-	enum TFaxMode
-		{
-	/** Fax is transmitting */
-		ETransmit,
-	/** Fax is receiving. */
-		EReceive
-		};
-
-/** Fax retrieval type flags. */
-	enum TFaxRetrieveType
-		{
-	/** Retrieving a fax opened from voice call (not currently supported by GSM networks). */
-		EFaxOnDemand,
-	/** Retrieve a fax opened from fax call. */
-		EFaxPoll
-		};
-
-/** Fax identifier size flags. */
-	enum TConstants
-		{
-	/** 20 */
-		KFaxIdUserNameMaxSize=20
-		};
-
-	struct TFaxSessionSettings
-/** Fax session settings information.
-
-@see TFaxMode */
-		{
-	/** The fax mode.
-	
-	@see TFaxMode */
-		TFaxMode iMode;
-	/** The mode of retrieving faxes.
-	
-	@see TFaxRetrieveType */
-		TFaxRetrieveType iFaxRetrieveType;
-	/** The class of fax 
-	
-	@see TFaxClass */
-		TFaxClass iFaxClass;
-	/** The fax identifier string displayed at the top of the fax.
-	
-	@see KFaxIdUserNameMaxSize */
-		TBuf<KFaxIdUserNameMaxSize> iFaxId;
-	/** The maximum transfer speed that can be negotiated. */
-		TInt iMaxSpeed;
-	/** The minimum transfer speed that should be negotiated. */
-		TInt iMinSpeed;
-	/** The preferred compression mode used for negotiation. This may take one of the 
-	following values: EModifiedHuffman, EModifiedRead, EUncompressedModifiedRead, 
-	EModifiedModifiedRead. */
-		TInt iPreferredECM;
-	/** The delay used for Fax on Demand services. Measured in seconds. */
-		TInt iFaxOnDemandDelay;
-		// Tx Settings
-	/** The preferred transmit resolution. This may take one of the following values: 
-	EFaxNormal EFaxFine
-	
-	@see TFaxResolution */
-		TFaxResolution iTxResolution;
-	/** Compression mode for transmitting faxes.
-	
-	@see TFaxCompression */
-		TFaxCompression iTxCompression;
-	/** The number of pages to be transmitted. */
-		TInt iTxPages;
-		// Rx Settings
-	/** The preferred receive resolution. This may take one of the following values: 
-	EFaxNormal EFaxFine.
-	
-	@see TFaxResolution */
-		TFaxResolution iRxResolution;
-	/** Compression mode for receiving faxes.
-	
-	@see TFaxCompression */
-		TFaxCompression iRxCompression;
-		};
-
-	IMPORT_C TInt GetFaxSettings(TFaxSessionSettings& aSettings) const;
-	IMPORT_C TInt SetFaxSettings(const TFaxSessionSettings& aSettings) const;
-	IMPORT_C TInt AdoptFaxSharedHeaderFile(const RFile& aSharedFile) const;
-//
-// Retrieval of call objects' reference count
-//
- 	IMPORT_C TInt ReferenceCount() const;
-
-protected:
-	IMPORT_C virtual void ConstructL();
-	IMPORT_C virtual void Destruct();
-	};
-
-//
-//
-// RLine
-//
-//
-class RPhone;
-/**
-Provides access to the functionality associated with a specific line.
-
-This class is not intended for user derivation. 
-
-@publishedPartner
-@released
-*/
-class RLine : public RTelSubSessionBase
-	{
-public:
-	IMPORT_C RLine();
-	IMPORT_C TInt Open(RPhone& aPhone,const TDesC& aName);
-	IMPORT_C TInt Open(RTelServer& aServer,const TDesC& aName);
-	IMPORT_C void Close();
-
-//
-// Caps
-//
-/** Line capability flags. */
-	enum TCapsFlags
-		{
-	/** The line supports data connections.*/
-		KCapsData=0x00000001,
-	/** The line supports fax connections. */
-		KCapsFax=0x00000002,
-	/** The line supports voice connections.*/
-		KCapsVoice=0x00000004,
-	/** The line supports incoming call notification requests. */
-		KCapsEventIncomingCall=0x00010000,
-		};
-
-	struct TCaps
-/** Line capability information. */
-		{
-	/** Line capability flag. Contains a bitmask of the values defined in the TCapsFlags 
-	enumeration.*/
-		TUint iFlags;
-		};
-
-	IMPORT_C TInt GetCaps(TCaps& aCaps) const;
-	IMPORT_C void NotifyCapsChange(TRequestStatus& aStatus, TCaps& aCaps);
-	IMPORT_C void NotifyCapsChangeCancel() const;
-
-//
-// Line and Hook Status
-//
-	IMPORT_C TInt GetStatus(RCall::TStatus& aStatus) const;
-	IMPORT_C TInt GetHookStatus(RCall::THookStatus& aHookStatus) const;
-
-//
-// Call enumeration and Information
-//
-	struct TCallInfo
-/** Line call capability information.
-
-@see TName */
-		{
-	/** The name of a call.
-	
-	@see TName */
-		TName iCallName;
-	/** The call status.
-	
-	@see RCall::TStatus */
-		RCall::TStatus iStatus;
-	/** The call capabilities flag. 
-	
-	@see RCall::TCapsEnum*/
-		TUint32 iCallCapsFlags;
-		};
-
-	IMPORT_C TInt EnumerateCall(TInt& aCount) const;
-	IMPORT_C TInt GetCallInfo(TInt aIndex,TCallInfo& aCallInfo) const;
-//
-//	General line notification information
-//
-	class TLineInfo
-/** Line information.
-
-@see RCall::TStatus 
-@publishedAll
-@released
-*/
-		{
-	public:
-		IMPORT_C TLineInfo();
-		RCall::THookStatus iHookStatus;
-	/** The current line status.
-	
-	@see RCall::TStatus */
-		RCall::TStatus iStatus;
-		TName iNameOfLastCallAdded;
-		TName iNameOfCallForAnswering;	// if an incoming call occurs, this contains the name
-										// of the call to answer it on.
-		};
-	
-//
-// Notifications
-//
-	IMPORT_C TInt GetInfo(TLineInfo& aLineInfo) const;
-	IMPORT_C void NotifyIncomingCall(TRequestStatus& aStatus, TName& aName);
-	IMPORT_C void NotifyIncomingCallCancel() const;
-	IMPORT_C void NotifyHookChange(TRequestStatus& aStatus,RCall::THookStatus& aHookStatus);
-	IMPORT_C void NotifyHookChangeCancel() const;
-	IMPORT_C void NotifyStatusChange(TRequestStatus& aStatus,RCall::TStatus& aLineStatus);
-	IMPORT_C void NotifyStatusChangeCancel() const;
-	IMPORT_C void NotifyCallAdded(TRequestStatus& aStatus,TName& aName);
-	IMPORT_C void NotifyCallAddedCancel() const;
-protected:
-	IMPORT_C virtual void ConstructL();
-	IMPORT_C virtual void Destruct();
-	};
-
-//
-//
-// RPhone
-//
-//
-class RTelServer;
-/**
-Phone sub-session.
-
-Provides access to the functionality associated with a specific phone.
-
-This class is not intended for user derivation.
-
-@publishedPartner
-@released
-*/
-class RPhone : public RTelSubSessionBase
-	{
-public:
-	IMPORT_C RPhone();
-	IMPORT_C TInt Open(RTelServer& aSession,const TDesC& aName);
-	IMPORT_C void Close();
-
-//
-// Initialisation
-//
-	IMPORT_C TInt Initialise();
-	IMPORT_C void Initialise(TRequestStatus& aStatus);
-	IMPORT_C void InitialiseCancel();
-
-//
-// Caps
-//
-/** Phone capability flags. */
-	enum TCapsFlags
-		{
-	/** The capabilities of the phone are not known. */
-		KCapsUnknown=0x00000001,
-	/** The phone supports data calls. */
-		KCapsData=0x00000002,
-	/** The phone supports the fax class 1 interface. */
-		KCapsFaxClassOne=0x0000004,
-	/** The phone supports the fax class 1.0 interface. */
-		KCapsFaxClassOnePointZero=0x0000008,
-	/** The phone supports the fax class 2 interface. */
-		KCapsFaxClassTwo=0x00000010,
-	/** The phone supports the fax class 2.0 interface. */
-		KCapsFaxClassTwoPointZero=0x00000020,
-	/** The phone supports the fax class 2.1 interface. */
-		KCapsFaxClassTwoPointOne=0x00000040,
-	/** The phone supports voice calls. */
-		KCapsVoice=0x00000080,
-	/** The phone supports modem detection events, i.e. it can notify clients when 
-	the modem can be or can no longer be detected. */
-		KCapsEventModemDetection=0x00010000,
-	/** The phone supports the ability to take the communications port from whatever 
-	component is currently using it. */
-		KCapsStealCommPort=0x00020000
-		};
-
-	struct TCaps
-/** Phone capability information. */
-		{
-	/** Phone capability flag. Contains bitmask of values defined in the TCapsFlags 
-	enumeration. */
-		TUint iFlags;
-		};
-
-	IMPORT_C TInt GetCaps(TCaps& aCaps) const;
-	IMPORT_C void NotifyCapsChange(TRequestStatus& aStatus, TCaps& aCaps);
-	IMPORT_C void NotifyCapsChangeCancel() const;
-
-//
-// Status
-//
-/** Phone mode status flags. */
-	enum TMode
-		{
-	/** Phone (modem) status unknown. */
-		EModeUnknown,
-	/** Phone is idle. */
-		EModeIdle,
-	/** Phone is establishing link. */
-		EModeEstablishingLink,
-	/** Modem is in data mode. */
-		EModeOnlineData,
-	/** Modem is in command mode and the line is active. */
-		EModeOnlineCommand
-		};
-
-/** Modem connection status flags. */
-	enum TModemDetection
-		{
-	/** Modem present. */
-		EDetectedPresent,
-	/** Modem is not present. */
-		EDetectedNotPresent,
-	/** Modem connection status is unknown. */
-		EDetectedUnknown
-		};
-
-	struct TStatus
-/** Current phone status.
-
-@see TModemDetection */
-		{
-	/** The current modem connection status. 
-	
-	@see TModemDetection */
-		TModemDetection iModemDetected;
-	/** The current mode of the phone.
-	
-	@see TMode */
-		TMode iMode;
-		};
-
-	IMPORT_C TInt GetStatus(TStatus& aStatus) const;
-
-//
-// Line Enumeration and Information
-//
-	struct TLineInfo
-/** Line information.
-
-@see RCall::TStatus */
-		{
-	/** The current line status.
-	
-	@see RCall::TStatus */
-		RCall::TStatus iStatus;
-	/** The line capabilities flag. 
-	
-	@see RLine::TCapsFlags */
-		TUint32 iLineCapsFlags;
-	/** The name of the line.
-	
-	@see TName */
-		TName iName;
-		};
-
-	IMPORT_C TInt EnumerateLines(TInt& aCount) const;
-	IMPORT_C TInt GetLineInfo(const TInt aIndex,TLineInfo& aLineInfo) const;
-
-//
-//	General phone notification information
-//
-	class TPhoneInfo
-/** Phone notification information.
-
-Collects all the information associated with an instance of the core API phone 
-class is collected together into a single, directly accessible, structure. 
-This increases the efficiency of applications that require access to the majority 
-of the phone's data.
-
-This class is not intended for user derivation.
-
-@see TNetworkType 
-@publishedAll
-@released
-*/
-		{
-	public:
-		IMPORT_C TPhoneInfo();
-	/** The current modem detection state (is it present or not).
-	
-	@see TModemDetection */
-		TModemDetection iDetection;
-		};
-
-	IMPORT_C TInt GetInfo(TPhoneInfo& aPhoneInfo) const;
-
-//
-// Notifications
-//
-	IMPORT_C void NotifyModemDetected(TRequestStatus& aStatus,TModemDetection& aDetection);
-	IMPORT_C void NotifyModemDetectedCancel() const;
-
-//	
-// TEmergencyRequest is a bit-mask where each bit-flag represents 
-// the emergency request type that the client wishes to handle
-//
-	enum TEmergencyRequest
-		{
-	/** Location Based Services Emergency Request */ 
-		EEmergencyLCSRequest = 0x00000001,
-	/** Circuit Switch Voice Call Emergency Request */
-		EEmergencyCSVoiceCallRequest = 0x00000002,
-		};
-	
-	IMPORT_C TInt SetEmergencyClient(const TUint32 aEmergencyRequest) const;
-
-protected:
-	IMPORT_C virtual void ConstructL();
-	IMPORT_C virtual void Destruct();
-	};
-
-//
-//
-// RTelServer
-//
-//
-/**
-Root telephony server session.
-
-Provides access to general telephony information and functionality. Clients 
-wishing to use the ETel Server must open a connection with the root server 
-using the functions defined in this class. They may then obtain information 
-about loaded TSY modules, and the phones that they support. To access functionality 
-associated with a specific phone, the client must open a sub-session for that 
-phone.
-
-This class is not intended for user derivation.
-
-@publishedPartner
-@released 
-*/
-class RTelServer : public RSessionBase
-	{
-public:
-	enum { KDefaultMessageSlots=32 };
-
-	IMPORT_C RTelServer();
-	IMPORT_C TInt Connect(TInt aMessageSlots =KDefaultMessageSlots);
-	inline TVersion Version() const;
-
-//
-// Enumeration and Information
-//
-/** Types of telephony connection flags. */
-	enum TNetworkType
-		{
-	/** Wired analog network. */
-		ENetworkTypeWiredAnalog,
-	/** Wired digital network (not supported by ETel). */
-		ENetworkTypeWiredDigital,
-	/** Mobile analog network (not supported by ETel). */
-		ENetworkTypeMobileAnalog,
-	/** Mobile digital network. */
-		ENetworkTypeMobileDigital,
-	/** Unknown network type. */
-		ENetworkTypeUnknown
-		};
-
-	struct  TPhoneInfo
-/** Phone notification information.
-
-Collects all the information associated with an instance of the core API phone 
-class is collected together into a single, directly accessible, structure. 
-This increases the efficiency of applications that require access to the majority 
-of the phone's data.
-
-This class is not intended for user derivation. 
-
-@see TNetworkType */
-		{
-	/** The type of telephony connection supported by the phone.
-	
-	@see TNetworkType */
-		TNetworkType iNetworkType;
-	/** The name of the phone.
-	
-	@see TName */
-		TName iName;
-	/** The number of lines supported by the phone. */
-		TUint iNumberOfLines;
-	/** The extensions that the TSY module supports. */
-		TUint iExtensions;
-		};
-
-	IMPORT_C TInt EnumeratePhones(TInt& aNoOfPhones) const;
-	IMPORT_C TInt GetPhoneInfo(const TInt aIndex,TPhoneInfo& aInfo) const;
-	IMPORT_C TInt GetTsyName(const TInt aIndexOfPhone, TDes& aTsyName) const;
-
-//
-// Load and Unload Phone modules
-//
-
-	IMPORT_C TInt LoadPhoneModule(const TDesC& aFileName) const;
-	IMPORT_C TInt UnloadPhoneModule(const TDesC& aFileName) const;
-
-//
-// Check whether specified Phone module (TSY) supports certain functionality
-//
-		
-	IMPORT_C TInt IsSupportedByModule(const TDesC& aTsyName, const TInt aMixin, TBool& aResult) const;
-	IMPORT_C TInt GetTsyVersionNumber(const TDesC& aTsyName,TVersion& aVersion) const;
-//
-// Set this session as Priority client
-//
-	/** @deprecated This function has been deprecated. Use RTelServer::SetPriorityClientV2 followed by 
-	RPhone::SetEmergencyClient(EEmergencyCSVoiceCallRequest) */
-	IMPORT_C TInt SetPriorityClient() const;
-
-//
-// Set this session to receive detailed errors
-//
-
-/** Error granularity flags. */
-	enum TErrorGranularity
-		{
-	/** Client is only interested in core errors */
-		EErrorBasic,
-	/** Client is interested in extended errors */
-		EErrorExtended
-		};
-
-	IMPORT_C TInt SetExtendedErrorGranularity(const TErrorGranularity aGranularity) const;
-
-//
-// Debug calls - stubbed in release builds
-//
-	IMPORT_C TInt __DbgMarkHeap();
-	IMPORT_C TInt __DbgCheckHeap(TInt aCount);
-	IMPORT_C TInt __DbgMarkEnd(TInt aCount);
-	IMPORT_C TInt __DbgFailNext(TInt aCount);
-	IMPORT_C TInt __DbgFailNextAvailable(TBool& aResult);
-	
-//
-// Set this session as Priority client
-//
-	IMPORT_C TInt SetPriorityClientV2() const;
-	
-	};
-
-
-#include <etel.inl>
-#endif