1.1 --- a/epoc32/include/etel.h Wed Mar 31 12:27:01 2010 +0100
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,1182 +0,0 @@
1.4 -// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
1.5 -// All rights reserved.
1.6 -// This component and the accompanying materials are made available
1.7 -// 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
1.8 -// which accompanies this distribution, and is available
1.9 -// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
1.10 -//
1.11 -// Initial Contributors:
1.12 -// Nokia Corporation - initial contribution.
1.13 -//
1.14 -// Contributors:
1.15 -//
1.16 -// Description:
1.17 -//
1.18 -
1.19 -
1.20 -
1.21 -/**
1.22 - @file
1.23 - @publishedAll
1.24 - @released
1.25 -*/
1.26 -
1.27 -#if !defined(__ETEL_H__)
1.28 -/** @internalComponent */
1.29 -#define __ETEL_H__
1.30 -
1.31 -#if !defined(__E32BASE_H__)
1.32 -#include <e32base.h>
1.33 -#endif
1.34 -
1.35 -#if !defined (__C32COMM_H__)
1.36 -#include <c32comm.h>
1.37 -#endif
1.38 -
1.39 -#if !defined(__D32COMM_H__)
1.40 -#include <d32comm.h>
1.41 -#endif
1.42 -
1.43 -#if !defined(__FAXDEFN_H)
1.44 -#include <faxdefn.h>
1.45 -#endif
1.46 -/** Major version number.*/
1.47 -const TUint KEtelMajorVersionNumber=1;
1.48 -/** Minor version number. */
1.49 -const TUint KEtelMinorVersionNumber=0;
1.50 -/** Build number. */
1.51 -const TUint KEtelBuildVersionNumber=606;
1.52 -/**
1.53 -@internalComponent
1.54 -*/
1.55 -IMPORT_C void PanicClient(TInt aFault);
1.56 -
1.57 -//
1.58 -// Etel Core Error Definitions
1.59 -//
1.60 -
1.61 -const TInt KErrEtelCoreBase = -2000;
1.62 -
1.63 -/** The client is not the call owner and has attempted to perform an operation
1.64 -that requires ownership.*/
1.65 -const TInt KErrEtelNotCallOwner=KErrEtelCoreBase;
1.66 -/** An attempt has been made to load an ETel (TSY) module which contains a phone
1.67 -with the same name as one already loaded. */
1.68 -const TInt KErrEtelDuplicatePhoneName=KErrEtelCoreBase-1;
1.69 -/** An attempt has been made to acquire call ownership when the requesting client
1.70 -is already the call owner. */
1.71 -const TInt KErrEtelAlreadyCallOwner=KErrEtelCoreBase-2;
1.72 -/** A connection has been terminated because the carrier has been lost. */
1.73 -const TInt KErrEtelNoCarrier=KErrEtelCoreBase-3;
1.74 -/** An attempt to establish a connection with the RCall::Dial() function has failed
1.75 -because the remote party's line was busy. */
1.76 -const TInt KErrEtelBusyDetected=KErrEtelCoreBase-4;
1.77 -/** An attempt has been made to transfer call ownership, but no other clients are
1.78 -interested in acquiring ownership. */
1.79 -const TInt KErrEtelNoClientInterestedInThisCall=KErrEtelCoreBase-5;
1.80 -/** The TSY has failed to initialise the modem. This may be occur if the modem
1.81 -is disconnected during initialisation, or if an attempt is made to initialise
1.82 -an unsupported modem. */
1.83 -const TInt KErrEtelInitialisationFailure=KErrEtelCoreBase-6;
1.84 -/** An attempt has been made to perform an operation which requires the call to
1.85 -be connected - when the call is not connected. E.g. RCall:LoanDataPort(). */
1.86 -const TInt KErrEtelCallNotActive=KErrEtelCoreBase-7;
1.87 -/** A connection request has failed because there is no answer. */
1.88 -const TInt KErrEtelNoAnswer=KErrEtelCoreBase-8;
1.89 -/** A connection request has failed because there is no dial tone. For example,
1.90 -if there is no connection between the modem and the network. */
1.91 -const TInt KErrEtelNoDialTone=KErrEtelCoreBase-9;
1.92 -/** An attempt to configure the port has failed because the hardware cannot match
1.93 -the desired configuration. For example, if an attempt is made to configure
1.94 -the comms port to a baud rate it cannot support. */
1.95 -const TInt KErrEtelConfigPortFailure=KErrEtelCoreBase-10;
1.96 -/** Out of memory error - global chunk cannot be created. */
1.97 -const TInt KErrEtelFaxChunkNotCreated=KErrEtelCoreBase-11;
1.98 -/** The client is not the fax owner and has attempted to perform an operation that
1.99 -requires fax ownership.
1.100 -
1.101 -The fax client should be used to access fax functionality. Consequently, client
1.102 -code should not return this error. */
1.103 -const TInt KErrEtelNotFaxOwner=KErrEtelCoreBase-12;
1.104 -/** An attempt has been made to perform an operation which requires port ownership.
1.105 -However, the client does not own the port. */
1.106 -const TInt KErrEtelPortNotLoanedToClient=KErrEtelCoreBase-13;
1.107 -/** An operation has failed because the modem has been incorrectly configured. */
1.108 -const TInt KErrEtelWrongModemType=KErrEtelCoreBase-14;
1.109 -/** An operation has failed because the modem does not understand the request -
1.110 -possible bug in modem. */
1.111 -const TInt KErrEtelUnknownModemCapability=KErrEtelCoreBase-15;
1.112 -/** The call has already placed an 'answer incoming call' request. Only 1 request
1.113 -of a type (e.g. fax, voice, data) can be outstanding on the server at a time. */
1.114 -const TInt KErrEtelAnswerAlreadyOutstanding=KErrEtelCoreBase-16;
1.115 -/** An attempt to establish a connection with the modem has failed because the
1.116 -modem cannot be detected. */
1.117 -const TInt KErrEtelModemNotDetected=KErrEtelCoreBase-17;
1.118 -/** Operation failed because the modem settings are corrupt. */
1.119 -const TInt KErrEtelModemSettingsCorrupt=KErrEtelCoreBase-18;
1.120 -/** The Data port is in use by another call or application. */
1.121 -const TInt KErrEtelPortAlreadyLoaned=KErrEtelCoreBase-19;
1.122 -/** Another call active. Close it before opening a new one. */
1.123 -const TInt KErrEtelCallAlreadyActive=KErrEtelCoreBase-20;
1.124 -
1.125 -//
1.126 -//
1.127 -// RTelSubSessionBase
1.128 -//
1.129 -//
1.130 -class CPtrHolder;
1.131 -class RFile;
1.132 -/**
1.133 -A base class used in the derivation of RCall, RLine, and RPhone. It has no user
1.134 -accessible functions.
1.135 -
1.136 -@publishedPartner
1.137 -@released
1.138 -*/
1.139 -class RTelSubSessionBase : public RSubSessionBase
1.140 - {
1.141 -public:
1.142 - inline RSessionBase& SessionHandle() const;
1.143 - inline void SetSessionHandle(RSessionBase& aSession);
1.144 - inline void ResetSessionHandle();
1.145 - inline TInt SubSessionHandle();
1.146 -
1.147 - IMPORT_C void CancelAsyncRequest(TInt aReqToCancel) const;
1.148 -
1.149 - enum TReqPriorityType
1.150 - {
1.151 - EIsNotaPriorityRequest,
1.152 - EIsaPriorityRequest,
1.153 - EIsaEmergencyRequest
1.154 - };
1.155 -
1.156 -protected:
1.157 -
1.158 - IMPORT_C RTelSubSessionBase();
1.159 - IMPORT_C TInt Blank(const TInt aIpc,TReqPriorityType aType = EIsNotaPriorityRequest) const;
1.160 - IMPORT_C void Blank(const TInt aIpc,TRequestStatus& aStatus,TReqPriorityType aType = EIsNotaPriorityRequest) const;
1.161 -
1.162 - IMPORT_C TInt Set(const TInt aIpc,const TDesC8& aDes,TReqPriorityType aType = EIsNotaPriorityRequest) const;
1.163 - IMPORT_C void Set(const TInt aIpc,TRequestStatus& aStatus,const TDesC8& aDes,TReqPriorityType aType = EIsNotaPriorityRequest) const;
1.164 - IMPORT_C TInt Get(const TInt aIpc,TDes8& aDes,TReqPriorityType aType = EIsNotaPriorityRequest) const;
1.165 - IMPORT_C void Get(const TInt aIpc,TRequestStatus& aStatus,TDes8& aDes,TReqPriorityType aType = EIsNotaPriorityRequest) const;
1.166 -
1.167 - IMPORT_C TInt Set(const TInt aIpc,const TDesC8& aDes1,const TDesC8& aDes2,TReqPriorityType aType = EIsNotaPriorityRequest) const;
1.168 - IMPORT_C void Set(const TInt aIpc,TRequestStatus& aStatus,const TDesC8& aDes1,const TDesC8& aDes2,TReqPriorityType aType = EIsNotaPriorityRequest) const;
1.169 - IMPORT_C TInt Get(const TInt aIpc,TDes8& aDes1,TDes8& aDes2,TReqPriorityType aType = EIsNotaPriorityRequest) const;
1.170 - IMPORT_C void Get(const TInt aIpc,TRequestStatus& aStatus,TDes8& aDes1,TDes8& aDes2,TReqPriorityType aType = EIsNotaPriorityRequest) const;
1.171 -
1.172 - IMPORT_C TInt Set(const TInt aIpc,const TDesC16& aDes,TReqPriorityType aType = EIsNotaPriorityRequest) const;
1.173 - IMPORT_C void Set(const TInt aIpc,TRequestStatus& aStatus,const TDesC16& aDes,TReqPriorityType aType = EIsNotaPriorityRequest) const;
1.174 - IMPORT_C TInt Get(const TInt aIpc,TDes16& aDes,TReqPriorityType aType = EIsNotaPriorityRequest) const;
1.175 - IMPORT_C void Get(const TInt aIpc,TRequestStatus& aStatus,TDes16& aDes,TReqPriorityType aType = EIsNotaPriorityRequest) const;
1.176 -
1.177 - IMPORT_C TInt Set(const TInt aIpc,const TDesC16& aDes1,const TDesC16& aDes2,TReqPriorityType aType = EIsNotaPriorityRequest) const;
1.178 - IMPORT_C void Set(const TInt aIpc,TRequestStatus& aStatus,const TDesC16& aDes1,const TDesC16& aDes2,TReqPriorityType aType = EIsNotaPriorityRequest) const;
1.179 - IMPORT_C TInt Set(const TInt aIpc,const TDesC8& aDes1,const TDesC16& aDes2,TReqPriorityType aType = EIsNotaPriorityRequest) const;
1.180 - IMPORT_C void Set(const TInt aIpc,TRequestStatus& aStatus,const TDesC8& aDes1,const TDesC16& aDes2,TReqPriorityType aType = EIsNotaPriorityRequest) const;
1.181 -
1.182 - IMPORT_C TInt Get(const TInt aIpc,TDes16& aDes1,TDes16& aDes2,TReqPriorityType aType = EIsNotaPriorityRequest) const;
1.183 - IMPORT_C void Get(const TInt aIpc,TRequestStatus& aStatus,TDes16& aDes1,TDes16& aDes2,TReqPriorityType aType = EIsNotaPriorityRequest) const;
1.184 - IMPORT_C TInt Get(const TInt aIpc,TDes8& aDes1,TDes16& aDes2,TReqPriorityType aType = EIsNotaPriorityRequest) const;
1.185 - IMPORT_C void Get(const TInt aIpc,TRequestStatus& aStatus,TDes8& aDes1,TDes16& aDes2,TReqPriorityType aType = EIsNotaPriorityRequest) const;
1.186 -
1.187 - IMPORT_C void SetAndGet(const TInt aIpc, TRequestStatus& aStatus, const TDesC8& aDes1, TDes8& aDes2, TReqPriorityType aType = EIsNotaPriorityRequest) const;
1.188 - IMPORT_C void SetAndGet(const TInt aIpc, TRequestStatus& aStatus, TDes8& aDes1, const TDesC16& aDes2, TReqPriorityType aType = EIsNotaPriorityRequest) const;
1.189 - IMPORT_C void SetAndGet(const TInt aIpc, TRequestStatus& aStatus, const TDesC8&, TDes16& aDes2, TReqPriorityType aType = EIsNotaPriorityRequest) const;
1.190 - IMPORT_C void SetAndGet(const TInt aIpc, TRequestStatus& aStatus, const TDesC16& aDes1, TDes16& aDes2, TReqPriorityType aType = EIsNotaPriorityRequest) const;
1.191 -
1.192 - IMPORT_C TInt Set(const TInt aIpc, const RFile& aFile, TReqPriorityType aType = EIsNotaPriorityRequest) const;
1.193 -
1.194 - IMPORT_C TInt CancelReq(const TInt aIpc,const TInt aIpcToCancel) const;
1.195 - IMPORT_C TInt CancelSubSession() const;
1.196 -
1.197 -private:
1.198 - RTelSubSessionBase(const RTelSubSessionBase& aTelSubSessionBase);
1.199 - RSessionBase* iTelSession;
1.200 -protected:
1.201 - CPtrHolder* iPtrHolder;
1.202 - };
1.203 -
1.204 -//
1.205 -//
1.206 -// RFax
1.207 -//
1.208 -//
1.209 -class RCall;
1.210 -/**
1.211 -ETel fax subsession.
1.212 -
1.213 -Contains the fax client progress information structure.
1.214 -
1.215 -ETel does include server-side RFax objects, however the
1.216 -associated APIs are intended solely for use by ETel's own
1.217 -fax client. Consequently, only the TProgress structure is
1.218 -considered part of the public API.
1.219 -
1.220 -@publishedPartner
1.221 -@released
1.222 -*/
1.223 -class RFax : public RTelSubSessionBase
1.224 - {
1.225 -public:
1.226 - IMPORT_C RFax();
1.227 - IMPORT_C TInt Open(RCall& aCall);
1.228 - IMPORT_C void Close();
1.229 -
1.230 -//
1.231 -// Read,Write and Wait for Page End
1.232 -//
1.233 - IMPORT_C void Read(TRequestStatus& aStatus,TDes8& aDes);
1.234 - IMPORT_C void Write(TRequestStatus& aStatus,const TDesC8& aDes);
1.235 - IMPORT_C void WaitForEndOfPage(TRequestStatus& aStatus) const;
1.236 - IMPORT_C TInt TerminateFaxSession() const;
1.237 -//
1.238 -// Progress Information
1.239 -//
1.240 - struct TProgress
1.241 - /** Contains fax progress information.*/
1.242 - {
1.243 - /** Time of last progress update.*/
1.244 - TTime iLastUpdateTime;
1.245 - /** ID of remote fax - filled in after connection.*/
1.246 - TBuf<20> iAnswerback;
1.247 -
1.248 - /** Phase of session.*/
1.249 - TFaxPhase iPhase;
1.250 - /** Resolution of document.*/
1.251 - TFaxResolution iResolution;
1.252 - /** Compression method in use.*/
1.253 - TFaxCompression iCompression;
1.254 - /** Error correction mode. Reserved for future releases.*/
1.255 - TInt iECM;
1.256 -
1.257 - /** Last or current page being transferred.*/
1.258 - TInt iPage;
1.259 - /** Last or current line on page.*/
1.260 - TInt iLines;
1.261 - /** Speed of fax session.*/
1.262 - TInt iSpeed;
1.263 - };
1.264 -
1.265 - IMPORT_C TInt GetProgress(TProgress& aProgress);
1.266 -private:
1.267 - TProgress* iProgressPtr;
1.268 - RChunk iChunk;
1.269 -protected:
1.270 - IMPORT_C virtual void ConstructL();
1.271 - IMPORT_C virtual void Destruct();
1.272 - };
1.273 -
1.274 -//
1.275 -//
1.276 -// RCall
1.277 -//
1.278 -//
1.279 -class RTelServer;
1.280 -class RPhone;
1.281 -class RLine;
1.282 -/**
1.283 -Call sub-session.
1.284 -
1.285 -Provides access to the functionality associated with a specific call.
1.286 -
1.287 -This class is not intended for user derivation.
1.288 -
1.289 -@publishedPartner
1.290 -@released
1.291 -*/
1.292 -class RCall : public RTelSubSessionBase
1.293 - {
1.294 -public:
1.295 - IMPORT_C RCall();
1.296 - IMPORT_C TInt OpenNewCall(RTelServer& aServer,const TDesC& aName,TDes& aNewName);
1.297 - IMPORT_C TInt OpenNewCall(RTelServer& aServer,const TDesC& aName);
1.298 - IMPORT_C TInt OpenNewCall(RPhone& aPhone,const TDesC& aName,TDes& aNewName);
1.299 - IMPORT_C TInt OpenNewCall(RPhone& aPhone,const TDesC& aName);
1.300 - IMPORT_C TInt OpenNewCall(RLine& aLine,TDes& aNewName);
1.301 - IMPORT_C TInt OpenNewCall(RLine& aLine);
1.302 - IMPORT_C TInt OpenExistingCall(RTelServer& aServer,const TDesC& aName);
1.303 - IMPORT_C TInt OpenExistingCall(RPhone& aPhone,const TDesC& aName);
1.304 - IMPORT_C TInt OpenExistingCall(RLine& aLine,const TDesC& aName);
1.305 - IMPORT_C void Close();
1.306 -
1.307 -//
1.308 -// Call Status
1.309 -//
1.310 -/** Call status flags. */
1.311 - enum TStatus
1.312 - {
1.313 - /** The call status is not known. */
1.314 - EStatusUnknown,
1.315 - /** The call is idle. */
1.316 - EStatusIdle,
1.317 - /** The call is dialling. */
1.318 - EStatusDialling,
1.319 - /** The call is ringing (an incoming, unanswered call). */
1.320 - EStatusRinging,
1.321 - /** The call is being answered. */
1.322 - EStatusAnswering,
1.323 - /** The call is connecting (immediate call establishment, without dialling). */
1.324 - EStatusConnecting,
1.325 - /** The call is connected and active. */
1.326 - EStatusConnected,
1.327 - /** The call is being terminated. */
1.328 - EStatusHangingUp
1.329 - };
1.330 -
1.331 - IMPORT_C TInt GetStatus(TStatus& aStatus) const;
1.332 -
1.333 -//
1.334 -// Call Caps
1.335 -//
1.336 -/** Call capability flags. */
1.337 - enum TCapsEnum
1.338 - {
1.339 - /** The call supports data calls. */
1.340 - KCapsData=0x00000001,
1.341 - /** The call supports fax calls. */
1.342 - KCapsFax=0x00000002,
1.343 - /** The call supports voice calls. */
1.344 - KCapsVoice=0x00000004,
1.345 - /** The Dial request is currently a valid action. */
1.346 - KCapsDial=0x00000008,
1.347 - /** The Connect request is currently a valid action. */
1.348 - KCapsConnect=0x00000010,
1.349 - /** The Hang Up request is currently a valid action. */
1.350 - KCapsHangUp=0x00000020,
1.351 - /** The Answer request is currently a valid action. */
1.352 - KCapsAnswer=0x00000040,
1.353 - /** The Loan Data Port request is currently a valid action. */
1.354 - KCapsLoanDataPort=0x00000080,
1.355 - /** The Recover Data Port request is currently a valid action. */
1.356 - KCapsRecoverDataPort=0x00000100
1.357 - };
1.358 -
1.359 - struct TCaps
1.360 -/** Call capability information. */
1.361 - {
1.362 - /** Call capability flag. Contains a bitmask of values defined in the TCapsEnum
1.363 - enumeration.*/
1.364 - TUint iFlags;
1.365 - };
1.366 -
1.367 - IMPORT_C TInt GetCaps(TCaps& aCaps) const;
1.368 - IMPORT_C void NotifyCapsChange(TRequestStatus& aStatus, TCaps& aCaps);
1.369 - IMPORT_C void NotifyCapsChangeCancel() const;
1.370 -
1.371 -//
1.372 -// Bearer Service Information
1.373 -//
1.374 -/** Bearer capability flags. */
1.375 - enum TBearerCaps
1.376 - {
1.377 - /** V42bis modem compression protocol. */
1.378 - KBearerCapsCompressionV42bis=0x00000001,
1.379 - /** MNP5 modem compression protocol. */
1.380 - KBearerCapsCompressionMNP5=0x00000002,
1.381 - /** No compression supported. */
1.382 - KBearerCapsCompressionNone=0x00000004,
1.383 - /** LAPM error correction protocol. */
1.384 - KBearerCapsProtocolLAPM=0x00000008,
1.385 - /** MNP10 mode. */
1.386 - KBearerCapsProtocolALT_CELLULAR=0x00000010,
1.387 - /** MNP error correction. */
1.388 - KBearerCapsProtocolALT=0x00000020,
1.389 - /** No protocol information provided. */
1.390 - KBearerCapsProtocolNone=0x00000040,
1.391 - /** Compression protocol unknown. */
1.392 - KBearerCapsCompressionUnknown=0x00000080,
1.393 - /** Unable to establish protocol. */
1.394 - KBearerCapsProtocolUnknown=0x00000100
1.395 - };
1.396 -
1.397 -/** Bearer speed flags. */
1.398 - enum TCallBearerSpeed
1.399 - {
1.400 - /** Transfer rate of 57600 bps. */
1.401 - EBearerData57600,
1.402 - /** Transfer rate of 33600 bps. */
1.403 - EBearerData33600,
1.404 - /** Transfer rate of 31200 bps. */
1.405 - EBearerData31200,
1.406 - /** Transfer rate of 9200 bps. */
1.407 - EBearerData19200,
1.408 - /** Transfer rate of 4400 bps. */
1.409 - EBearerData14400,
1.410 - /** Transfer rate of 12000 bps. */
1.411 - EBearerData12000,
1.412 - /** Transfer rate of 9600 bps. */
1.413 - EBearerData9600,
1.414 - /** Transfer rate of 7200 bps. */
1.415 - EBearerData7200,
1.416 - /** Transfer rate of 4800 bps. */
1.417 - EBearerData4800,
1.418 - /** Transfer rate of 2400 bps. */
1.419 - EBearerData2400,
1.420 - /** Transfer rate of 200 bps. */
1.421 - EBearerData1200,
1.422 - /** V.23 75 bps forward, 1200 bps back */
1.423 - EBearerData75_1200,
1.424 - /** V.23 1200 bps forward, 75 bps back */
1.425 - EBearerData1200_75,
1.426 - /** Transfer rate of 300 bps. */
1.427 - EBearerData300,
1.428 - /** Transfer rate is unknown. */
1.429 - EBearerDataUnknown
1.430 - };
1.431 -
1.432 - struct TBearerService
1.433 -/** Call bearer information.
1.434 -
1.435 -@see TCallBearerSpeed */
1.436 - {
1.437 - /** The bearer capabilities. */
1.438 - TUint32 iBearerCaps;
1.439 - /** The bearer's speed.
1.440 -
1.441 - @see TCallBearerSpeed */
1.442 - TCallBearerSpeed iBearerSpeed;
1.443 - };
1.444 -
1.445 - IMPORT_C TInt GetBearerServiceInfo(TBearerService& aBearerService) const;
1.446 -
1.447 -//
1.448 -// Notifications
1.449 -//
1.450 -/** Hook status flags. */
1.451 - enum THookStatus
1.452 - {
1.453 - /** The line is currently off hook. */
1.454 - EHookStatusOff,
1.455 - /** The line is currently on hook. */
1.456 - EHookStatusOn,
1.457 - /** The status of the line's hook is currently unknown */
1.458 - EHookStatusUnknown
1.459 - };
1.460 -
1.461 - class TCallInfo
1.462 -/** Line call capability information.
1.463 -
1.464 -@see TName
1.465 -@publishedAll
1.466 -@released
1.467 -*/
1.468 - {
1.469 - public:
1.470 - IMPORT_C TCallInfo();
1.471 - /** The name of a call.
1.472 -
1.473 - @see TName */
1.474 - TName iCallName;
1.475 - TName iLineName;
1.476 - THookStatus iHookStatus;
1.477 - /** The call status.
1.478 -
1.479 - @see RCall::TStatus */
1.480 - TStatus iStatus;
1.481 - TTimeIntervalSeconds iDuration;
1.482 - };
1.483 -
1.484 - IMPORT_C TInt GetInfo(TCallInfo& aCallInfo) const;
1.485 - IMPORT_C void NotifyHookChange(TRequestStatus& aStatus,THookStatus& aHookStatus);
1.486 - IMPORT_C void NotifyHookChangeCancel() const;
1.487 - IMPORT_C void NotifyStatusChange(TRequestStatus& aStatus,TStatus& aCallStatus);
1.488 - IMPORT_C void NotifyStatusChangeCancel() const;
1.489 - IMPORT_C void NotifyCallDurationChange(TRequestStatus& aStatus,TTimeIntervalSeconds& aTime);
1.490 - IMPORT_C void NotifyCallDurationChangeCancel() const;
1.491 -
1.492 -//
1.493 -// Duration of call
1.494 -//
1.495 - IMPORT_C TInt GetCallDuration(TTimeIntervalSeconds& aTime) const;
1.496 -//
1.497 -// Connecting and Disconnecting
1.498 -//
1.499 -/** Passes telephone numbers into Dial functions. */
1.500 - typedef TDesC TTelNumberC;
1.501 - IMPORT_C TInt Dial(const TTelNumberC& aTelNumber) const;
1.502 - IMPORT_C TInt Dial(const TDesC8& aCallParams,const TTelNumberC& aTelNumber) const;
1.503 - IMPORT_C void Dial(TRequestStatus& aStatus,const TTelNumberC& aTelNumber);
1.504 - IMPORT_C void Dial(TRequestStatus& aStatus,const TDesC8& aCallParams,const TTelNumberC& aTelNumber);
1.505 - IMPORT_C void DialCancel() const;
1.506 - IMPORT_C TInt Connect() const;
1.507 - IMPORT_C TInt Connect(const TDesC8& aCallParams) const;
1.508 - IMPORT_C void Connect(TRequestStatus& aStatus);
1.509 - IMPORT_C void Connect(TRequestStatus& aStatus,const TDesC8& aCallParams);
1.510 - IMPORT_C void ConnectCancel() const;
1.511 - IMPORT_C TInt AnswerIncomingCall() const;
1.512 - IMPORT_C TInt AnswerIncomingCall(const TDesC8& aCallParams) const;
1.513 - IMPORT_C void AnswerIncomingCall(TRequestStatus& aStatus);
1.514 - IMPORT_C void AnswerIncomingCall(TRequestStatus& aStatus,const TDesC8& aCallParams);
1.515 - IMPORT_C void AnswerIncomingCallCancel() const;
1.516 - IMPORT_C TInt HangUp() const;
1.517 - IMPORT_C void HangUp(TRequestStatus& aStatus) const;
1.518 - IMPORT_C void HangUpCancel() const;
1.519 -
1.520 -//
1.521 -// Call Data Access
1.522 -//
1.523 - struct TCommPort
1.524 -/** Communications port information.
1.525 -
1.526 -@see TFileName */
1.527 - {
1.528 - /** The CSY module used by the C32 Communications Server to talk to the serial
1.529 - device.
1.530 - @deprecated This has been deprecated as all the information that is needed by the
1.531 - lower layers is now being passed in iPort.
1.532 -
1.533 - @see TFileName */
1.534 - TFileName iCsy;
1.535 - /** The port used by the C32 Communications Server to talk to the serial device.
1.536 - It holds both the Csy name and the Port name.
1.537 -
1.538 - @see TName */
1.539 - TName iPort;
1.540 - };
1.541 -
1.542 - IMPORT_C TInt LoanDataPort(TCommPort& aDataPort) const;
1.543 - IMPORT_C void LoanDataPort(TRequestStatus& aStatus,TCommPort& aDataPort);
1.544 - IMPORT_C void LoanDataPortCancel() const;
1.545 - IMPORT_C TInt RecoverDataPort() const;
1.546 -
1.547 -//
1.548 -// Call Ownership manipulation
1.549 -//
1.550 -/** Call ownership status flags. */
1.551 - enum TOwnershipStatus
1.552 - {
1.553 - /** The call is not owned. */
1.554 - EOwnershipUnowned,
1.555 - /** The call is owned, but not by this RCall instance. */
1.556 - EOwnershipOwnedByAnotherClient, // not the priority client
1.557 - /** The call is owned by this RCall instance. */
1.558 - EOwnershipOwnedByThisClient,
1.559 - /** The call is owned, but not by the priority client */
1.560 - EOwnershipThisIsPriorityClient // not owned by this (the priority) client
1.561 - };
1.562 -
1.563 - IMPORT_C TInt TransferOwnership() const;
1.564 - IMPORT_C void AcquireOwnership(TRequestStatus& aStatus) const;
1.565 - IMPORT_C void AcquireOwnershipCancel() const;
1.566 - IMPORT_C TInt GetOwnershipStatus(TOwnershipStatus& aOwnershipStatus) const;
1.567 - //
1.568 -//
1.569 -// Get and Set Call Parameters
1.570 -//
1.571 -/** Monitor speaker control setting flags. */
1.572 - enum TMonitorSpeakerControl
1.573 - {
1.574 - /** Speaker control is always off */
1.575 - EMonitorSpeakerControlAlwaysOff,
1.576 - /** Speaker control is on until the carrier is detected */
1.577 - EMonitorSpeakerControlOnUntilCarrier,
1.578 - /** Speaker control is always active. */
1.579 - EMonitorSpeakerControlAlwaysOn,
1.580 - /** Speaker control is on, except while dialling */
1.581 - EMonitorSpeakerControlOnExceptDuringDialling,
1.582 - /** Speaker control is unknown. */
1.583 - EMonitorSpeakerControlUnknown
1.584 - };
1.585 -
1.586 -/** Monitor speaker volume control setting flags. */
1.587 - enum TMonitorSpeakerVolume
1.588 - {
1.589 - /** Speaker volume is off. */
1.590 - EMonitorSpeakerVolumeOff,
1.591 - /** Speaker volume is low. */
1.592 - EMonitorSpeakerVolumeLow,
1.593 - /** Speaker volume is medium. */
1.594 - EMonitorSpeakerVolumeMedium,
1.595 - /** Speaker volume is high. */
1.596 - EMonitorSpeakerVolumeHigh,
1.597 - /** Speaker volume is unknown. */
1.598 - EMonitorSpeakerVolumeUnknown
1.599 - };
1.600 -
1.601 -/** Wait for dial tone flags. */
1.602 - enum TWaitForDialTone
1.603 - {
1.604 - /** Waiting for dial tone. */
1.605 - EDialToneWait,
1.606 - /** Not waiting for dial tone. */
1.607 - EDialToneNoWait
1.608 - };
1.609 -
1.610 - class TCallParams
1.611 - /**
1.612 - @publishedAll
1.613 - @released
1.614 - */
1.615 - {
1.616 - public:
1.617 - IMPORT_C TCallParams();
1.618 - IMPORT_C TCallParams(TMonitorSpeakerControl aSpeakerControl,
1.619 - TMonitorSpeakerVolume aSpeakerVolume,
1.620 - TUint aInterval,
1.621 - TWaitForDialTone aWaitForDialTone);
1.622 - IMPORT_C TInt ExtensionId();
1.623 - IMPORT_C TBool IsDefault();
1.624 - TMonitorSpeakerControl iSpeakerControl;
1.625 - TMonitorSpeakerVolume iSpeakerVolume;
1.626 - TUint iInterval;
1.627 - TWaitForDialTone iWaitForDialTone;
1.628 - protected:
1.629 - TBool iIsDefault;
1.630 - TInt iExtensionId;
1.631 - };
1.632 -
1.633 -/** Call parameters package
1.634 -
1.635 -The call parameters to be associated with a call may be passed into functions
1.636 -using this type.
1.637 -
1.638 -@see TCallParams */
1.639 - typedef TPckg<TCallParams> TCallParamsPckg;
1.640 -
1.641 - IMPORT_C TInt GetCallParams(TDes8& aParams) const;
1.642 -
1.643 -//
1.644 -// Fax Settings
1.645 -//
1.646 -/** Fax mode flags. */
1.647 - enum TFaxMode
1.648 - {
1.649 - /** Fax is transmitting */
1.650 - ETransmit,
1.651 - /** Fax is receiving. */
1.652 - EReceive
1.653 - };
1.654 -
1.655 -/** Fax retrieval type flags. */
1.656 - enum TFaxRetrieveType
1.657 - {
1.658 - /** Retrieving a fax opened from voice call (not currently supported by GSM networks). */
1.659 - EFaxOnDemand,
1.660 - /** Retrieve a fax opened from fax call. */
1.661 - EFaxPoll
1.662 - };
1.663 -
1.664 -/** Fax identifier size flags. */
1.665 - enum TConstants
1.666 - {
1.667 - /** 20 */
1.668 - KFaxIdUserNameMaxSize=20
1.669 - };
1.670 -
1.671 - struct TFaxSessionSettings
1.672 -/** Fax session settings information.
1.673 -
1.674 -@see TFaxMode */
1.675 - {
1.676 - /** The fax mode.
1.677 -
1.678 - @see TFaxMode */
1.679 - TFaxMode iMode;
1.680 - /** The mode of retrieving faxes.
1.681 -
1.682 - @see TFaxRetrieveType */
1.683 - TFaxRetrieveType iFaxRetrieveType;
1.684 - /** The class of fax
1.685 -
1.686 - @see TFaxClass */
1.687 - TFaxClass iFaxClass;
1.688 - /** The fax identifier string displayed at the top of the fax.
1.689 -
1.690 - @see KFaxIdUserNameMaxSize */
1.691 - TBuf<KFaxIdUserNameMaxSize> iFaxId;
1.692 - /** The maximum transfer speed that can be negotiated. */
1.693 - TInt iMaxSpeed;
1.694 - /** The minimum transfer speed that should be negotiated. */
1.695 - TInt iMinSpeed;
1.696 - /** The preferred compression mode used for negotiation. This may take one of the
1.697 - following values: EModifiedHuffman, EModifiedRead, EUncompressedModifiedRead,
1.698 - EModifiedModifiedRead. */
1.699 - TInt iPreferredECM;
1.700 - /** The delay used for Fax on Demand services. Measured in seconds. */
1.701 - TInt iFaxOnDemandDelay;
1.702 - // Tx Settings
1.703 - /** The preferred transmit resolution. This may take one of the following values:
1.704 - EFaxNormal EFaxFine
1.705 -
1.706 - @see TFaxResolution */
1.707 - TFaxResolution iTxResolution;
1.708 - /** Compression mode for transmitting faxes.
1.709 -
1.710 - @see TFaxCompression */
1.711 - TFaxCompression iTxCompression;
1.712 - /** The number of pages to be transmitted. */
1.713 - TInt iTxPages;
1.714 - // Rx Settings
1.715 - /** The preferred receive resolution. This may take one of the following values:
1.716 - EFaxNormal EFaxFine.
1.717 -
1.718 - @see TFaxResolution */
1.719 - TFaxResolution iRxResolution;
1.720 - /** Compression mode for receiving faxes.
1.721 -
1.722 - @see TFaxCompression */
1.723 - TFaxCompression iRxCompression;
1.724 - };
1.725 -
1.726 - IMPORT_C TInt GetFaxSettings(TFaxSessionSettings& aSettings) const;
1.727 - IMPORT_C TInt SetFaxSettings(const TFaxSessionSettings& aSettings) const;
1.728 - IMPORT_C TInt AdoptFaxSharedHeaderFile(const RFile& aSharedFile) const;
1.729 -//
1.730 -// Retrieval of call objects' reference count
1.731 -//
1.732 - IMPORT_C TInt ReferenceCount() const;
1.733 -
1.734 -protected:
1.735 - IMPORT_C virtual void ConstructL();
1.736 - IMPORT_C virtual void Destruct();
1.737 - };
1.738 -
1.739 -//
1.740 -//
1.741 -// RLine
1.742 -//
1.743 -//
1.744 -class RPhone;
1.745 -/**
1.746 -Provides access to the functionality associated with a specific line.
1.747 -
1.748 -This class is not intended for user derivation.
1.749 -
1.750 -@publishedPartner
1.751 -@released
1.752 -*/
1.753 -class RLine : public RTelSubSessionBase
1.754 - {
1.755 -public:
1.756 - IMPORT_C RLine();
1.757 - IMPORT_C TInt Open(RPhone& aPhone,const TDesC& aName);
1.758 - IMPORT_C TInt Open(RTelServer& aServer,const TDesC& aName);
1.759 - IMPORT_C void Close();
1.760 -
1.761 -//
1.762 -// Caps
1.763 -//
1.764 -/** Line capability flags. */
1.765 - enum TCapsFlags
1.766 - {
1.767 - /** The line supports data connections.*/
1.768 - KCapsData=0x00000001,
1.769 - /** The line supports fax connections. */
1.770 - KCapsFax=0x00000002,
1.771 - /** The line supports voice connections.*/
1.772 - KCapsVoice=0x00000004,
1.773 - /** The line supports incoming call notification requests. */
1.774 - KCapsEventIncomingCall=0x00010000,
1.775 - };
1.776 -
1.777 - struct TCaps
1.778 -/** Line capability information. */
1.779 - {
1.780 - /** Line capability flag. Contains a bitmask of the values defined in the TCapsFlags
1.781 - enumeration.*/
1.782 - TUint iFlags;
1.783 - };
1.784 -
1.785 - IMPORT_C TInt GetCaps(TCaps& aCaps) const;
1.786 - IMPORT_C void NotifyCapsChange(TRequestStatus& aStatus, TCaps& aCaps);
1.787 - IMPORT_C void NotifyCapsChangeCancel() const;
1.788 -
1.789 -//
1.790 -// Line and Hook Status
1.791 -//
1.792 - IMPORT_C TInt GetStatus(RCall::TStatus& aStatus) const;
1.793 - IMPORT_C TInt GetHookStatus(RCall::THookStatus& aHookStatus) const;
1.794 -
1.795 -//
1.796 -// Call enumeration and Information
1.797 -//
1.798 - struct TCallInfo
1.799 -/** Line call capability information.
1.800 -
1.801 -@see TName */
1.802 - {
1.803 - /** The name of a call.
1.804 -
1.805 - @see TName */
1.806 - TName iCallName;
1.807 - /** The call status.
1.808 -
1.809 - @see RCall::TStatus */
1.810 - RCall::TStatus iStatus;
1.811 - /** The call capabilities flag.
1.812 -
1.813 - @see RCall::TCapsEnum*/
1.814 - TUint32 iCallCapsFlags;
1.815 - };
1.816 -
1.817 - IMPORT_C TInt EnumerateCall(TInt& aCount) const;
1.818 - IMPORT_C TInt GetCallInfo(TInt aIndex,TCallInfo& aCallInfo) const;
1.819 -//
1.820 -// General line notification information
1.821 -//
1.822 - class TLineInfo
1.823 -/** Line information.
1.824 -
1.825 -@see RCall::TStatus
1.826 -@publishedAll
1.827 -@released
1.828 -*/
1.829 - {
1.830 - public:
1.831 - IMPORT_C TLineInfo();
1.832 - RCall::THookStatus iHookStatus;
1.833 - /** The current line status.
1.834 -
1.835 - @see RCall::TStatus */
1.836 - RCall::TStatus iStatus;
1.837 - TName iNameOfLastCallAdded;
1.838 - TName iNameOfCallForAnswering; // if an incoming call occurs, this contains the name
1.839 - // of the call to answer it on.
1.840 - };
1.841 -
1.842 -//
1.843 -// Notifications
1.844 -//
1.845 - IMPORT_C TInt GetInfo(TLineInfo& aLineInfo) const;
1.846 - IMPORT_C void NotifyIncomingCall(TRequestStatus& aStatus, TName& aName);
1.847 - IMPORT_C void NotifyIncomingCallCancel() const;
1.848 - IMPORT_C void NotifyHookChange(TRequestStatus& aStatus,RCall::THookStatus& aHookStatus);
1.849 - IMPORT_C void NotifyHookChangeCancel() const;
1.850 - IMPORT_C void NotifyStatusChange(TRequestStatus& aStatus,RCall::TStatus& aLineStatus);
1.851 - IMPORT_C void NotifyStatusChangeCancel() const;
1.852 - IMPORT_C void NotifyCallAdded(TRequestStatus& aStatus,TName& aName);
1.853 - IMPORT_C void NotifyCallAddedCancel() const;
1.854 -protected:
1.855 - IMPORT_C virtual void ConstructL();
1.856 - IMPORT_C virtual void Destruct();
1.857 - };
1.858 -
1.859 -//
1.860 -//
1.861 -// RPhone
1.862 -//
1.863 -//
1.864 -class RTelServer;
1.865 -/**
1.866 -Phone sub-session.
1.867 -
1.868 -Provides access to the functionality associated with a specific phone.
1.869 -
1.870 -This class is not intended for user derivation.
1.871 -
1.872 -@publishedPartner
1.873 -@released
1.874 -*/
1.875 -class RPhone : public RTelSubSessionBase
1.876 - {
1.877 -public:
1.878 - IMPORT_C RPhone();
1.879 - IMPORT_C TInt Open(RTelServer& aSession,const TDesC& aName);
1.880 - IMPORT_C void Close();
1.881 -
1.882 -//
1.883 -// Initialisation
1.884 -//
1.885 - IMPORT_C TInt Initialise();
1.886 - IMPORT_C void Initialise(TRequestStatus& aStatus);
1.887 - IMPORT_C void InitialiseCancel();
1.888 -
1.889 -//
1.890 -// Caps
1.891 -//
1.892 -/** Phone capability flags. */
1.893 - enum TCapsFlags
1.894 - {
1.895 - /** The capabilities of the phone are not known. */
1.896 - KCapsUnknown=0x00000001,
1.897 - /** The phone supports data calls. */
1.898 - KCapsData=0x00000002,
1.899 - /** The phone supports the fax class 1 interface. */
1.900 - KCapsFaxClassOne=0x0000004,
1.901 - /** The phone supports the fax class 1.0 interface. */
1.902 - KCapsFaxClassOnePointZero=0x0000008,
1.903 - /** The phone supports the fax class 2 interface. */
1.904 - KCapsFaxClassTwo=0x00000010,
1.905 - /** The phone supports the fax class 2.0 interface. */
1.906 - KCapsFaxClassTwoPointZero=0x00000020,
1.907 - /** The phone supports the fax class 2.1 interface. */
1.908 - KCapsFaxClassTwoPointOne=0x00000040,
1.909 - /** The phone supports voice calls. */
1.910 - KCapsVoice=0x00000080,
1.911 - /** The phone supports modem detection events, i.e. it can notify clients when
1.912 - the modem can be or can no longer be detected. */
1.913 - KCapsEventModemDetection=0x00010000,
1.914 - /** The phone supports the ability to take the communications port from whatever
1.915 - component is currently using it. */
1.916 - KCapsStealCommPort=0x00020000
1.917 - };
1.918 -
1.919 - struct TCaps
1.920 -/** Phone capability information. */
1.921 - {
1.922 - /** Phone capability flag. Contains bitmask of values defined in the TCapsFlags
1.923 - enumeration. */
1.924 - TUint iFlags;
1.925 - };
1.926 -
1.927 - IMPORT_C TInt GetCaps(TCaps& aCaps) const;
1.928 - IMPORT_C void NotifyCapsChange(TRequestStatus& aStatus, TCaps& aCaps);
1.929 - IMPORT_C void NotifyCapsChangeCancel() const;
1.930 -
1.931 -//
1.932 -// Status
1.933 -//
1.934 -/** Phone mode status flags. */
1.935 - enum TMode
1.936 - {
1.937 - /** Phone (modem) status unknown. */
1.938 - EModeUnknown,
1.939 - /** Phone is idle. */
1.940 - EModeIdle,
1.941 - /** Phone is establishing link. */
1.942 - EModeEstablishingLink,
1.943 - /** Modem is in data mode. */
1.944 - EModeOnlineData,
1.945 - /** Modem is in command mode and the line is active. */
1.946 - EModeOnlineCommand
1.947 - };
1.948 -
1.949 -/** Modem connection status flags. */
1.950 - enum TModemDetection
1.951 - {
1.952 - /** Modem present. */
1.953 - EDetectedPresent,
1.954 - /** Modem is not present. */
1.955 - EDetectedNotPresent,
1.956 - /** Modem connection status is unknown. */
1.957 - EDetectedUnknown
1.958 - };
1.959 -
1.960 - struct TStatus
1.961 -/** Current phone status.
1.962 -
1.963 -@see TModemDetection */
1.964 - {
1.965 - /** The current modem connection status.
1.966 -
1.967 - @see TModemDetection */
1.968 - TModemDetection iModemDetected;
1.969 - /** The current mode of the phone.
1.970 -
1.971 - @see TMode */
1.972 - TMode iMode;
1.973 - };
1.974 -
1.975 - IMPORT_C TInt GetStatus(TStatus& aStatus) const;
1.976 -
1.977 -//
1.978 -// Line Enumeration and Information
1.979 -//
1.980 - struct TLineInfo
1.981 -/** Line information.
1.982 -
1.983 -@see RCall::TStatus */
1.984 - {
1.985 - /** The current line status.
1.986 -
1.987 - @see RCall::TStatus */
1.988 - RCall::TStatus iStatus;
1.989 - /** The line capabilities flag.
1.990 -
1.991 - @see RLine::TCapsFlags */
1.992 - TUint32 iLineCapsFlags;
1.993 - /** The name of the line.
1.994 -
1.995 - @see TName */
1.996 - TName iName;
1.997 - };
1.998 -
1.999 - IMPORT_C TInt EnumerateLines(TInt& aCount) const;
1.1000 - IMPORT_C TInt GetLineInfo(const TInt aIndex,TLineInfo& aLineInfo) const;
1.1001 -
1.1002 -//
1.1003 -// General phone notification information
1.1004 -//
1.1005 - class TPhoneInfo
1.1006 -/** Phone notification information.
1.1007 -
1.1008 -Collects all the information associated with an instance of the core API phone
1.1009 -class is collected together into a single, directly accessible, structure.
1.1010 -This increases the efficiency of applications that require access to the majority
1.1011 -of the phone's data.
1.1012 -
1.1013 -This class is not intended for user derivation.
1.1014 -
1.1015 -@see TNetworkType
1.1016 -@publishedAll
1.1017 -@released
1.1018 -*/
1.1019 - {
1.1020 - public:
1.1021 - IMPORT_C TPhoneInfo();
1.1022 - /** The current modem detection state (is it present or not).
1.1023 -
1.1024 - @see TModemDetection */
1.1025 - TModemDetection iDetection;
1.1026 - };
1.1027 -
1.1028 - IMPORT_C TInt GetInfo(TPhoneInfo& aPhoneInfo) const;
1.1029 -
1.1030 -//
1.1031 -// Notifications
1.1032 -//
1.1033 - IMPORT_C void NotifyModemDetected(TRequestStatus& aStatus,TModemDetection& aDetection);
1.1034 - IMPORT_C void NotifyModemDetectedCancel() const;
1.1035 -
1.1036 -//
1.1037 -// TEmergencyRequest is a bit-mask where each bit-flag represents
1.1038 -// the emergency request type that the client wishes to handle
1.1039 -//
1.1040 - enum TEmergencyRequest
1.1041 - {
1.1042 - /** Location Based Services Emergency Request */
1.1043 - EEmergencyLCSRequest = 0x00000001,
1.1044 - /** Circuit Switch Voice Call Emergency Request */
1.1045 - EEmergencyCSVoiceCallRequest = 0x00000002,
1.1046 - };
1.1047 -
1.1048 - IMPORT_C TInt SetEmergencyClient(const TUint32 aEmergencyRequest) const;
1.1049 -
1.1050 -protected:
1.1051 - IMPORT_C virtual void ConstructL();
1.1052 - IMPORT_C virtual void Destruct();
1.1053 - };
1.1054 -
1.1055 -//
1.1056 -//
1.1057 -// RTelServer
1.1058 -//
1.1059 -//
1.1060 -/**
1.1061 -Root telephony server session.
1.1062 -
1.1063 -Provides access to general telephony information and functionality. Clients
1.1064 -wishing to use the ETel Server must open a connection with the root server
1.1065 -using the functions defined in this class. They may then obtain information
1.1066 -about loaded TSY modules, and the phones that they support. To access functionality
1.1067 -associated with a specific phone, the client must open a sub-session for that
1.1068 -phone.
1.1069 -
1.1070 -This class is not intended for user derivation.
1.1071 -
1.1072 -@publishedPartner
1.1073 -@released
1.1074 -*/
1.1075 -class RTelServer : public RSessionBase
1.1076 - {
1.1077 -public:
1.1078 - enum { KDefaultMessageSlots=32 };
1.1079 -
1.1080 - IMPORT_C RTelServer();
1.1081 - IMPORT_C TInt Connect(TInt aMessageSlots =KDefaultMessageSlots);
1.1082 - inline TVersion Version() const;
1.1083 -
1.1084 -//
1.1085 -// Enumeration and Information
1.1086 -//
1.1087 -/** Types of telephony connection flags. */
1.1088 - enum TNetworkType
1.1089 - {
1.1090 - /** Wired analog network. */
1.1091 - ENetworkTypeWiredAnalog,
1.1092 - /** Wired digital network (not supported by ETel). */
1.1093 - ENetworkTypeWiredDigital,
1.1094 - /** Mobile analog network (not supported by ETel). */
1.1095 - ENetworkTypeMobileAnalog,
1.1096 - /** Mobile digital network. */
1.1097 - ENetworkTypeMobileDigital,
1.1098 - /** Unknown network type. */
1.1099 - ENetworkTypeUnknown
1.1100 - };
1.1101 -
1.1102 - struct TPhoneInfo
1.1103 -/** Phone notification information.
1.1104 -
1.1105 -Collects all the information associated with an instance of the core API phone
1.1106 -class is collected together into a single, directly accessible, structure.
1.1107 -This increases the efficiency of applications that require access to the majority
1.1108 -of the phone's data.
1.1109 -
1.1110 -This class is not intended for user derivation.
1.1111 -
1.1112 -@see TNetworkType */
1.1113 - {
1.1114 - /** The type of telephony connection supported by the phone.
1.1115 -
1.1116 - @see TNetworkType */
1.1117 - TNetworkType iNetworkType;
1.1118 - /** The name of the phone.
1.1119 -
1.1120 - @see TName */
1.1121 - TName iName;
1.1122 - /** The number of lines supported by the phone. */
1.1123 - TUint iNumberOfLines;
1.1124 - /** The extensions that the TSY module supports. */
1.1125 - TUint iExtensions;
1.1126 - };
1.1127 -
1.1128 - IMPORT_C TInt EnumeratePhones(TInt& aNoOfPhones) const;
1.1129 - IMPORT_C TInt GetPhoneInfo(const TInt aIndex,TPhoneInfo& aInfo) const;
1.1130 - IMPORT_C TInt GetTsyName(const TInt aIndexOfPhone, TDes& aTsyName) const;
1.1131 -
1.1132 -//
1.1133 -// Load and Unload Phone modules
1.1134 -//
1.1135 -
1.1136 - IMPORT_C TInt LoadPhoneModule(const TDesC& aFileName) const;
1.1137 - IMPORT_C TInt UnloadPhoneModule(const TDesC& aFileName) const;
1.1138 -
1.1139 -//
1.1140 -// Check whether specified Phone module (TSY) supports certain functionality
1.1141 -//
1.1142 -
1.1143 - IMPORT_C TInt IsSupportedByModule(const TDesC& aTsyName, const TInt aMixin, TBool& aResult) const;
1.1144 - IMPORT_C TInt GetTsyVersionNumber(const TDesC& aTsyName,TVersion& aVersion) const;
1.1145 -//
1.1146 -// Set this session as Priority client
1.1147 -//
1.1148 - /** @deprecated This function has been deprecated. Use RTelServer::SetPriorityClientV2 followed by
1.1149 - RPhone::SetEmergencyClient(EEmergencyCSVoiceCallRequest) */
1.1150 - IMPORT_C TInt SetPriorityClient() const;
1.1151 -
1.1152 -//
1.1153 -// Set this session to receive detailed errors
1.1154 -//
1.1155 -
1.1156 -/** Error granularity flags. */
1.1157 - enum TErrorGranularity
1.1158 - {
1.1159 - /** Client is only interested in core errors */
1.1160 - EErrorBasic,
1.1161 - /** Client is interested in extended errors */
1.1162 - EErrorExtended
1.1163 - };
1.1164 -
1.1165 - IMPORT_C TInt SetExtendedErrorGranularity(const TErrorGranularity aGranularity) const;
1.1166 -
1.1167 -//
1.1168 -// Debug calls - stubbed in release builds
1.1169 -//
1.1170 - IMPORT_C TInt __DbgMarkHeap();
1.1171 - IMPORT_C TInt __DbgCheckHeap(TInt aCount);
1.1172 - IMPORT_C TInt __DbgMarkEnd(TInt aCount);
1.1173 - IMPORT_C TInt __DbgFailNext(TInt aCount);
1.1174 - IMPORT_C TInt __DbgFailNextAvailable(TBool& aResult);
1.1175 -
1.1176 -//
1.1177 -// Set this session as Priority client
1.1178 -//
1.1179 - IMPORT_C TInt SetPriorityClientV2() const;
1.1180 -
1.1181 - };
1.1182 -
1.1183 -
1.1184 -#include <etel.inl>
1.1185 -#endif