epoc32/include/etel3rdparty.h
branchSymbian2
changeset 2 2fe1408b6811
parent 0 061f57f2323e
child 4 837f303aceeb
     1.1 --- a/epoc32/include/etel3rdparty.h	Tue Nov 24 13:55:44 2009 +0000
     1.2 +++ b/epoc32/include/etel3rdparty.h	Tue Mar 16 16:12:26 2010 +0000
     1.3 @@ -1,1 +1,2016 @@
     1.4 -etel3rdparty.h
     1.5 +/*
     1.6 +* Copyright (c) 2009 Sony Ericsson Mobile Communications AB
     1.7 +* All rights reserved.
     1.8 +* This component and the accompanying materials are made available
     1.9 +* 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.10 +* which accompanies this distribution, and is available
    1.11 +* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
    1.12 +*
    1.13 +* Initial Contributors:
    1.14 +* Sony Ericsson Mobile Communications AB - initial contribution.
    1.15 +* Nokia Corporation - additional changes.
    1.16 +* 
    1.17 +* Contributors:
    1.18 +* 
    1.19 +* Description:
    1.20 +* Etel3rdParty.dll interface, using CTelephony class defined here.
    1.21 +* Etel 3rd Party API Header file
    1.22 +* Describes the Etel 3rd Party API - classes, methods and types.
    1.23 +*
    1.24 +*/
    1.25 +
    1.26 +
    1.27 +/**
    1.28 + @file
    1.29 +*/
    1.30 +
    1.31 +
    1.32 +#ifndef ETEL3RDPARTY_H__
    1.33 +#define ETEL3RDPARTY_H__
    1.34 +
    1.35 +#include <e32base.h>
    1.36 +
    1.37 +const TInt	KTelephonyMajorVersionNumber=7; ///< Major version-number
    1.38 +const TInt	KTelephonyMinorVersionNumber=0; ///< Minor version-number
    1.39 +const TInt	KTelephonyBuildVersionNumber=0; ///< Build version-number
    1.40 +
    1.41 +// Panic numbers returned to applications. 0 upwards...
    1.42 +const TInt KTelephonyPanicIllegalReuse = 0;	///< Client code has attempted to re-post an asynchronous request before the original request has completed.
    1.43 +
    1.44 +class CTelephonyFunctions;		// forward declaration
    1.45 +
    1.46 +/**
    1.47 +This class provides a simple interface to the phone's telephony
    1.48 +system. It provides two services:
    1.49 +
    1.50 +1. You can find out information about the phone. This class
    1.51 +provides support for retrieving Phone Settings, Line Information, Call
    1.52 +Functionality, Network Information and (basic) Supplementary Service
    1.53 +Settings.
    1.54 +
    1.55 +2. You can dial, answer and control voice calls.  You cannot make fax or data calls.
    1.56 +
    1.57 +Architecturally, CTelephony provides an interface to the Telephony
    1.58 +Multimode API.  This interface exposes only a subset of the complete
    1.59 +Multimode functionality.
    1.60 +
    1.61 +Note that a CActiveScheduler is required to be installed for all asynchronous CTelephony calls. 
    1.62 +
    1.63 +@publishedAll
    1.64 +@released
    1.65 + */
    1.66 +class CTelephony : public CBase
    1.67 +	{
    1.68 +public:
    1.69 +
    1.70 +//////////////////////////////////////////////////////////
    1.71 +//General Functionality
    1.72 +//////////////////////////////////////////////////////////
    1.73 +
    1.74 +	/**
    1.75 +	Unique parameter class identifier.
    1.76 +	*/
    1.77 +	enum
    1.78 +		{
    1.79 +		/**
    1.80 +		Unique reference identifier for Etel 3rd Party v1.0 parameter classes.
    1.81 +		*/
    1.82 +		KEtelISVV1 = 1,
    1.83 +		/**
    1.84 +		Unique reference identifier for Etel 3rd Party v2.0 parameter classes.
    1.85 +		*/
    1.86 +		KEtelISVV2 = 2
    1.87 +		};
    1.88 +
    1.89 +	class TEtelISVType
    1.90 +	/**
    1.91 +	Specifies which version of an API parameter a client has used.
    1.92 + 	For most ETel ISV v1.0/2.0 parameters this will equal KETelISV1.
    1.93 +	*/
    1.94 +		{
    1.95 +	public:
    1.96 +		IMPORT_C TInt VersionId() const;
    1.97 +	protected:
    1.98 +		TEtelISVType();
    1.99 +	protected:
   1.100 +		TInt iVersionId;
   1.101 +		};
   1.102 +
   1.103 +	/**
   1.104 +	The maximum number of digits allowed in a multimode telephone number.
   1.105 +	*/
   1.106 +	enum { KMaxTelNumberSize = 100 };
   1.107 +
   1.108 +	/**
   1.109 +	Address types.
   1.110 +	*/
   1.111 +	enum TTelNumberTON
   1.112 +		{
   1.113 +		/**
   1.114 +		User or the network has no knowledge of the type of number.
   1.115 +	    */
   1.116 +		EUnknownNumber,
   1.117 +		/**
   1.118 +		International number.
   1.119 +	    */
   1.120 +		EInternationalNumber,
   1.121 +		/**
   1.122 +		National number.
   1.123 +	    */
   1.124 +		ENationalNumber,
   1.125 +		/**
   1.126 +		Administration/service number specific to the serving network, e.g. used to
   1.127 +		access an operator.
   1.128 +	    */
   1.129 +		ENetworkSpecificNumber,
   1.130 +		/**
   1.131 +		Subscriber number.
   1.132 +	    */
   1.133 +		ESubscriberNumber,
   1.134 +		/**
   1.135 +		Alphanumeric number.
   1.136 +	    */
   1.137 +		EAlphanumericNumber,
   1.138 +		/**
   1.139 +		Abbreviated number.
   1.140 +	    */
   1.141 +		EAbbreviatedNumber
   1.142 +		};
   1.143 +
   1.144 +	/**
   1.145 +	Number Plan Indicator.
   1.146 +	*/
   1.147 +	enum TTelNumberNPI
   1.148 +		{
   1.149 +		/**
   1.150 +		User or the network has no knowledge of the numbering plan.
   1.151 +	    */
   1.152 +		EUnknownNumberingPlan		= 0,
   1.153 +		/**
   1.154 +		ISDN/telephony numbering plan.
   1.155 +	    */
   1.156 +		EIsdnNumberPlan				= 1,
   1.157 +		/**
   1.158 +		Data numbering plan.
   1.159 +	    */
   1.160 +		EDataNumberPlan				= 3,
   1.161 +		/**
   1.162 +		Telex numbering plan.
   1.163 +	    */
   1.164 +		ETelexNumberPlan			= 4,
   1.165 +		/**
   1.166 +		Service centre specific plan used to indicate a numbering plan specific to external
   1.167 +		Short Message entities attached to the SMSC.
   1.168 +	    */
   1.169 +		EServiceCentreSpecificPlan1	= 5,
   1.170 +		/**
   1.171 +		Service centre specific plan used to indicate a numbering plan specific to external
   1.172 +		Short Message entities attached to the SMSC.
   1.173 +	    */
   1.174 +		EServiceCentreSpecificPlan2	= 6,
   1.175 +		/**
   1.176 +		National numbering plan.
   1.177 +	    */
   1.178 +		ENationalNumberPlan			= 8,
   1.179 +		/**
   1.180 +		Private numbering plan.
   1.181 +	    */
   1.182 +		EPrivateNumberPlan			= 9,
   1.183 +		/**
   1.184 +		ERMES numbering plan.
   1.185 +	    */
   1.186 +		EERMESNumberPlan			= 10
   1.187 +		};
   1.188 +
   1.189 +	/**
   1.190 +	A typedef to hold the telephone number.
   1.191 +	*/
   1.192 +	typedef TBuf<KMaxTelNumberSize> TTelNumber;
   1.193 +
   1.194 +	class TTelAddress
   1.195 +	/**
   1.196 +	Defines API abstraction of a mobile telephone number.
   1.197 +	*/
   1.198 +		{
   1.199 +	public:
   1.200 +		IMPORT_C TTelAddress();
   1.201 +	public:
   1.202 +		/**
   1.203 +		Type of number.
   1.204 +		*/
   1.205 +		TTelNumberTON 				iTypeOfNumber;
   1.206 +		/**
   1.207 +		Number plan.
   1.208 +		*/
   1.209 +		TTelNumberNPI 				iNumberPlan;
   1.210 +		/**
   1.211 +		Telephone number.
   1.212 +		*/
   1.213 +		TTelNumber					iTelNumber;
   1.214 +		};
   1.215 +
   1.216 +//////////////////////////////////////////////////////////
   1.217 +// Phone Functionality
   1.218 +//////////////////////////////////////////////////////////
   1.219 +
   1.220 +	/**
   1.221 +	Max size of Manufacturer Id.
   1.222 +	*/
   1.223 +	enum { KPhoneManufacturerIdSize = 50 };
   1.224 +	/**
   1.225 +	Max size of Phone Model Id.
   1.226 +	*/
   1.227 +	enum { KPhoneModelIdSize 		= 50 };
   1.228 +	/**
   1.229 +	Max size ofSerial Number.
   1.230 +	*/
   1.231 +	enum { KPhoneSerialNumberSize 	= 50 };
   1.232 +
   1.233 +
   1.234 +	class TPhoneIdV1 : public TEtelISVType
   1.235 +	/**
   1.236 +	Defines the mobile phone identity.
   1.237 +	*/
   1.238 +		{
   1.239 +	public:
   1.240 +		IMPORT_C TPhoneIdV1();
   1.241 +	public:
   1.242 +		/**
   1.243 +		Phone manufacturer identification, in character string format.
   1.244 +		*/
   1.245 +		TBuf<KPhoneManufacturerIdSize> 	iManufacturer;
   1.246 +		/**
   1.247 +		Phone model identification, in character string format.
   1.248 +		*/
   1.249 +		TBuf<KPhoneModelIdSize> 		iModel;
   1.250 +		/**
   1.251 +		Phone serial number (IMEI or ESN), in character string format.
   1.252 +		*/
   1.253 +		TBuf<KPhoneSerialNumberSize> 	iSerialNumber;
   1.254 +		};
   1.255 +
   1.256 +	/**
   1.257 +	A typedef'd packaged CTelephony::TPhoneIdV1 for passing through a generic API method
   1.258 +	*/
   1.259 +	typedef TPckg<TPhoneIdV1> TPhoneIdV1Pckg;
   1.260 +
   1.261 +	/**
   1.262 +	Maximum size of IMSI identifier.
   1.263 +	*/
   1.264 +	enum { KIMSISize = 15 };
   1.265 +
   1.266 +	class TSubscriberIdV1 : public TEtelISVType
   1.267 +	/**
   1.268 +	Defines the Subscriber (IMSI) Id
   1.269 +	*/
   1.270 +		{
   1.271 +	public:
   1.272 +		IMPORT_C TSubscriberIdV1();
   1.273 +	public:
   1.274 +		/**
   1.275 +		IMSI identifier.
   1.276 +		*/
   1.277 +		TBuf<KIMSISize> iSubscriberId;
   1.278 +		};
   1.279 +
   1.280 +	/**
   1.281 +	A typedef'd packaged CTelephony::TSubscriberIdV1 for passing through a generic API method.
   1.282 +	*/
   1.283 +	typedef TPckg<TSubscriberIdV1> TSubscriberIdV1Pckg;
   1.284 +
   1.285 +	/**
   1.286 +	The flight mode status.
   1.287 +	*/
   1.288 +	enum TFlightModeStatus
   1.289 +		{
   1.290 +		/**
   1.291 +		Flight mode is off.
   1.292 +		*/
   1.293 +		EFlightModeOff	= 0,
   1.294 +		/**
   1.295 +		Flight mode is on.
   1.296 +		*/
   1.297 +		EFlightModeOn	= 1,
   1.298 +		};
   1.299 +
   1.300 +	class TFlightModeV1 : public TEtelISVType
   1.301 +	/**
   1.302 +	Defines the flight mode status.
   1.303 +	*/
   1.304 +		{
   1.305 +	public:
   1.306 +		IMPORT_C TFlightModeV1();
   1.307 +	public:
   1.308 +		/**
   1.309 +		The current status of the mobile radio interface and bluetooth.
   1.310 +		*/
   1.311 +		TFlightModeStatus iFlightModeStatus;
   1.312 +		};
   1.313 +
   1.314 +	/**
   1.315 +	A typedef'd packaged CTelephony::TFlightModeV1 for passing through a generic API method.
   1.316 +	*/
   1.317 +	typedef TPckg<TFlightModeV1> TFlightModeV1Pckg;
   1.318 +
   1.319 +	/**
   1.320 +	The mobile phone indicators.
   1.321 +	*/
   1.322 +	enum TPhoneIndicators
   1.323 +		{
   1.324 +		/**
   1.325 +		If bit-flag is set to '1' indicates that the battery charger
   1.326 +		is connected to the phone. If bit-flag is set to '0' indicates
   1.327 +		that the battery charger is disconnected
   1.328 +
   1.329 +		For capability: If bit-flag is set to '0' indicates that the
   1.330 +		battery charger indication reporting is unavailable.
   1.331 +		*/
   1.332 +		KIndChargerConnected	= 0x00000001,
   1.333 +		/**
   1.334 +		If bit-flag is set to '1' indicates that network service is
   1.335 +		available. If bit-flag is set to '0' indicates that network
   1.336 +		service is unavailable
   1.337 +
   1.338 +		For capability: If bit-flag is set to '0' indicates that the
   1.339 +		network availability indication reporting is unavailable.
   1.340 +		*/
   1.341 +		KIndNetworkAvailable	= 0x00000002,
   1.342 +		/**
   1.343 +		If bit-flag is set to '1' indicates that a call is in
   1.344 +		progress. If set to '0' indicates that a call is not in
   1.345 +		progress
   1.346 +
   1.347 +		For capability: If bit-flag is set to '0' indicates
   1.348 +		that the call is in progress indication reporting is
   1.349 +		unavailable.
   1.350 +		*/
   1.351 +		KIndCallInProgress		= 0x00000004
   1.352 +		};
   1.353 +
   1.354 +	class TIndicatorV1 : public TEtelISVType
   1.355 +	/**
   1.356 +	Contains indicator parameters:
   1.357 +	@see TPhoneIndicators
   1.358 +	*/
   1.359 +		{
   1.360 +	public:
   1.361 +		IMPORT_C TIndicatorV1();
   1.362 +	public:
   1.363 +		/**
   1.364 +		The value of the indicators.  It is the sum
   1.365 +		of CTelephony::TPhoneIndicators constants.
   1.366 +		*/
   1.367 +		TUint32 iIndicator;
   1.368 +		/**
   1.369 +		The supported (available) indicator capability that the telephony service module offers.
   1.370 +		It is the sum of CTelephony::TPhoneIndicators constants.
   1.371 +		*/
   1.372 +		TUint32 iCapabilities;
   1.373 +		};
   1.374 +
   1.375 +	/**
   1.376 +	A typedef'd packaged CTelephony::TIndicatorV1 for passing through a generic API method.
   1.377 +	*/
   1.378 +	typedef TPckg<TIndicatorV1> TIndicatorV1Pckg;
   1.379 +
   1.380 +	/**
   1.381 +	The mobile phone battery status.
   1.382 +	*/
   1.383 +	enum TBatteryStatus
   1.384 +		{
   1.385 +		/**
   1.386 +		The phone software can not determine the phone's current power status.
   1.387 +		*/
   1.388 +		EPowerStatusUnknown,
   1.389 +		/**
   1.390 +		The phone is powered by the battery.
   1.391 +		*/
   1.392 +		EPoweredByBattery,
   1.393 +		/**
   1.394 +		A battery is connected, but the phone is externally powered.
   1.395 +		*/
   1.396 +		EBatteryConnectedButExternallyPowered,
   1.397 +		/**
   1.398 +		No battery is connected.
   1.399 +		*/
   1.400 +		ENoBatteryConnected,
   1.401 +		/**
   1.402 +		Power fault.
   1.403 +		*/
   1.404 +		EPowerFault
   1.405 +		};
   1.406 +
   1.407 +	class TBatteryInfoV1 : public TEtelISVType
   1.408 +	/**
   1.409 +	Defines contents of the battery status of the phone.
   1.410 +	*/
   1.411 +		{
   1.412 +	public:
   1.413 +		IMPORT_C TBatteryInfoV1();
   1.414 +	public:
   1.415 +		/**
   1.416 +		The power and battery status.
   1.417 +		*/
   1.418 +		TBatteryStatus iStatus;
   1.419 +		/**
   1.420 +		The percentage battery charge level.
   1.421 +		*/
   1.422 +		TUint iChargeLevel;
   1.423 +		};
   1.424 +
   1.425 +	/**
   1.426 +	A typedef'd packaged CTelephony::TBatteryInfoV1 for passing through a generic API method.
   1.427 +	*/
   1.428 +	typedef TPckg<TBatteryInfoV1> TBatteryInfoV1Pckg;
   1.429 +
   1.430 +	class TSignalStrengthV1 : public TEtelISVType
   1.431 +	/**
   1.432 +	Defines the phone's current signal strength.
   1.433 +	*/
   1.434 +		{
   1.435 +	public:
   1.436 +		IMPORT_C TSignalStrengthV1();
   1.437 +	public:
   1.438 +		/**
   1.439 +		The value of signal strength.
   1.440 +		*/
   1.441 +		TInt32 iSignalStrength;
   1.442 +		/**
   1.443 +		The absolute number of signal "bars" that the phone should display.
   1.444 +		*/
   1.445 +		TInt8 iBar;
   1.446 +		};
   1.447 +
   1.448 +	/**
   1.449 +	A typedef'd packaged CTelephony::TSignalStrengthV1 for passing through a generic API method.
   1.450 +	*/
   1.451 +	typedef TPckg<TSignalStrengthV1> TSignalStrengthV1Pckg;
   1.452 +
   1.453 +	/**
   1.454 +	Pin 1/Pin 2 security
   1.455 +	*/
   1.456 +	enum TIccLock
   1.457 +		{
   1.458 +		/**
   1.459 +		Lock PIN1 on the ICC.
   1.460 +		*/
   1.461 +		ELockPin1,
   1.462 +		/**
   1.463 +		Lock PIN2 on the ICC.
   1.464 +		*/
   1.465 +		ELockPin2
   1.466 +		};
   1.467 +
   1.468 +	/**
   1.469 +	Status of an ICC lock.
   1.470 +	*/
   1.471 +	enum TIccLockStatus
   1.472 +		{
   1.473 +		/**
   1.474 +		The status of the lock is unknown.
   1.475 +		*/
   1.476 +		EStatusLockUnknown,
   1.477 +		/**
   1.478 +		Lock is closed.
   1.479 +
   1.480 +		User can not access functionality governed by this lock until
   1.481 +		user correctly enters associated security code.
   1.482 +		*/
   1.483 +		EStatusLocked,
   1.484 +		/**
   1.485 +		Lock is open.
   1.486 +
   1.487 +		User can access functionality governed by this lock
   1.488 +		*/
   1.489 +		EStatusUnlocked,
   1.490 +		/**
   1.491 +		Lock is blocked.
   1.492 +
   1.493 +		User should enter the unblocking code to be able to switch back to the unlocked mode.
   1.494 +		Blocking is enabled after a number of unsuccessful attempts to verify PIN1/2.
   1.495 +		*/
   1.496 +		EStatusBlocked
   1.497 +		};
   1.498 +
   1.499 +	/**
   1.500 +	Setting of the ICC lock.
   1.501 +	*/
   1.502 +	enum TIccLockSetting
   1.503 +		{
   1.504 +		/**
   1.505 +		The setting of the lock is unknown.
   1.506 +		*/
   1.507 +		ELockSetUnknown,
   1.508 +		/**
   1.509 +		Lock is enabled, and is available for use. Its status may be
   1.510 +		CTelephony::EStatusLocked, CTelephony::EStatusUnlocked,
   1.511 +		or CTelephony::EStatusBlocked.
   1.512 +
   1.513 +		The associated security code will be required to unlock the lock
   1.514 +		the next time the lock's status is CTelephony::EStatusLocked.
   1.515 +		*/
   1.516 +		ELockSetEnabled,
   1.517 +		/**
   1.518 +		Lock is disabled.  It is not available for use, so its status
   1.519 +		is always CTelephony::EStatusUnlocked.
   1.520 +		*/
   1.521 +		ELockSetDisabled
   1.522 +		};
   1.523 +
   1.524 +	class TIccLockInfoV1 : public TEtelISVType
   1.525 +	/**
   1.526 +	Defines the Icc Lock parameters.
   1.527 +	*/
   1.528 +		{
   1.529 +	public:
   1.530 +		IMPORT_C TIccLockInfoV1();
   1.531 +	public:
   1.532 +		/**
   1.533 +		The current status of the lock.
   1.534 +		*/
   1.535 +		TIccLockStatus iStatus;
   1.536 +		/**
   1.537 +		The current availability of the lock. When not available (i.e. the
   1.538 +		lock is not in use) then its status will always be CTelephony::EStatusUnlocked.
   1.539 +		*/
   1.540 +		TIccLockSetting iSetting;
   1.541 +		};
   1.542 +
   1.543 +	/**
   1.544 +	A typedef'd packaged CTelephony::TIccLockInfoV1 for passing through a generic API method.
   1.545 +	*/
   1.546 +	typedef TPckg<TIccLockInfoV1> TIccLockInfoV1Pckg;
   1.547 +
   1.548 +//////////////////////////////////////////////////////////
   1.549 +// Line Functionality
   1.550 +//////////////////////////////////////////////////////////
   1.551 +
   1.552 +	/**
   1.553 +	Line types
   1.554 +	*/
   1.555 +	enum TPhoneLine
   1.556 +		{
   1.557 +		/**
   1.558 +		Voice line.
   1.559 +		*/
   1.560 +		EVoiceLine,
   1.561 +		/**
   1.562 +		Data line.
   1.563 +		*/
   1.564 +		EDataLine,
   1.565 +		/**
   1.566 +		Fax line.
   1.567 +		*/
   1.568 +		EFaxLine,
   1.569 +		};
   1.570 +
   1.571 +	/**
   1.572 +	Describes the possible call or line states.
   1.573 +	*/
   1.574 +	enum TCallStatus
   1.575 +		{
   1.576 +		/**
   1.577 +		Indicates that the status is unknown.
   1.578 +		*/
   1.579 +		EStatusUnknown,
   1.580 +		/**
   1.581 +		Idle line status (no active calls).
   1.582 +		*/
   1.583 +		EStatusIdle,
   1.584 +		/**
   1.585 +		Call dialling status .
   1.586 +		*/
   1.587 +		EStatusDialling,
   1.588 +		/**
   1.589 +		Call ringing status.
   1.590 +		*/
   1.591 +		EStatusRinging,
   1.592 +		/**
   1.593 +		Call answering status.
   1.594 +		*/
   1.595 +		EStatusAnswering,
   1.596 +		/**
   1.597 +		Call connecting status.
   1.598 +		*/
   1.599 +		EStatusConnecting,
   1.600 +		/**
   1.601 +		Call connected status.
   1.602 +		*/
   1.603 +		EStatusConnected,
   1.604 +		/**
   1.605 +		Call is undergoing temporary channel loss and it may or may not be reconnected.
   1.606 +		*/
   1.607 +		EStatusReconnectPending,
   1.608 +		/**
   1.609 +		Call disconnecting status.
   1.610 +		*/
   1.611 +		EStatusDisconnecting,
   1.612 +		/**
   1.613 +		Call on hold.
   1.614 +		*/
   1.615 +		EStatusHold,
   1.616 +		/**
   1.617 +		Call is transferring.
   1.618 +		*/
   1.619 +		EStatusTransferring,
   1.620 +		/**
   1.621 +		Call in transfer is alerting the remote party.
   1.622 +		*/
   1.623 +		EStatusTransferAlerting
   1.624 +		};
   1.625 +
   1.626 +	class TCallStatusV1 : public TEtelISVType
   1.627 +	/**
   1.628 +	Defines the current call or line status.
   1.629 +	*/
   1.630 +		{
   1.631 +	public:
   1.632 +		IMPORT_C TCallStatusV1();
   1.633 +	public:
   1.634 +		/**
   1.635 +		The current call or line status.
   1.636 +		*/
   1.637 +		TCallStatus iStatus;
   1.638 +		};
   1.639 +
   1.640 +	/**
   1.641 +	A typedef'd packaged CTelephony::TCallStatusV1 for passing through a generic API method.
   1.642 +	*/
   1.643 +	typedef TPckg<TCallStatusV1> TCallStatusV1Pckg;
   1.644 +
   1.645 +	/**
   1.646 +	Select a call defined by it current stats.
   1.647 +	*/
   1.648 +	enum TCallSelect
   1.649 +		{
   1.650 +		/**
   1.651 +		Currently active call.
   1.652 +		*/
   1.653 +		EActiveCall,
   1.654 +		/**
   1.655 +		Currently held (applicable only for voice) call.
   1.656 +		*/
   1.657 +		EHeldCall,
   1.658 +		/**
   1.659 +		Call during the setup/disconnecting process - (dialling/connecting/answering/hanging up).
   1.660 +		*/
   1.661 +		EInProgressCall
   1.662 +		};
   1.663 +
   1.664 +	class TCallSelectionV1 : public TEtelISVType
   1.665 +	/**
   1.666 +	Defines parameters to select a call, determined by its call state for a specific line
   1.667 +	*/
   1.668 +		{
   1.669 +	public:
   1.670 +		IMPORT_C TCallSelectionV1();
   1.671 +	public:
   1.672 +		/**
   1.673 +		The current phone line selection.
   1.674 +		*/
   1.675 +		TPhoneLine iLine;
   1.676 +		/**
   1.677 +		The current call selection.
   1.678 +		*/
   1.679 +		TCallSelect iSelect;
   1.680 +		};
   1.681 +
   1.682 +	/**
   1.683 +	A typedef'd packaged CTelephony::TCallSelectionV1 for passing through a generic API method.
   1.684 +	*/
   1.685 +	typedef TPckg<TCallSelectionV1> TCallSelectionV1Pckg;
   1.686 +
   1.687 +	/**
   1.688 +	Etel 3rd Party owned call identifiers
   1.689 +	*/
   1.690 +	enum TCallId
   1.691 +		{
   1.692 +		/**
   1.693 +		Call owned by this ISV application.
   1.694 +		*/
   1.695 +		EISVCall1,
   1.696 +		/**
   1.697 +		Call owned by this ISV application.
   1.698 +		*/
   1.699 +		EISVCall2,
   1.700 +		/**
   1.701 +		Max number of calls supported by Etel 3rd Party.
   1.702 +		*/
   1.703 +		EISVMaxNumOfCalls
   1.704 +		};
   1.705 +
   1.706 +	/**
   1.707 +	Remote party identity status.
   1.708 +	*/
   1.709 +	enum TCallRemoteIdentityStatus
   1.710 +		{
   1.711 +		/**
   1.712 +		The remote party's identity can not be determined.
   1.713 +		*/
   1.714 +		ERemoteIdentityUnknown,
   1.715 +		/**
   1.716 +		The remote party's identity is available.
   1.717 +		*/
   1.718 +		ERemoteIdentityAvailable,
   1.719 +		/**
   1.720 +		The remote party has suppressed the transmission of its identity.
   1.721 +		*/
   1.722 +		ERemoteIdentitySuppressed
   1.723 +		};
   1.724 +
   1.725 +	/**
   1.726 +	The direction of the call.
   1.727 +	*/
   1.728 +	enum TCallDirection
   1.729 +		{
   1.730 +		/**
   1.731 +		The direction of the call is unknown.
   1.732 +		*/
   1.733 +		EDirectionUnknown,
   1.734 +		/**
   1.735 +		The call was originated by this phone, i.e. it is an outgoing call.
   1.736 +		*/
   1.737 +		EMobileOriginated,
   1.738 +		/**
   1.739 +		The call was terminated by this phone, i.e. it is an incoming call.
   1.740 +		*/
   1.741 +		EMobileTerminated
   1.742 +		};
   1.743 +
   1.744 +	/**
   1.745 +	Enumerated network security types.
   1.746 +	*/
   1.747 +	enum TPhoneNetworkSecurity
   1.748 +		{
   1.749 +		/**
   1.750 +		The encryption level is NONE.
   1.751 +		*/
   1.752 +		ECipheringOff,
   1.753 +		/**
   1.754 +		The encryption level is GSM.(standard encryption algorithms for 2nd Generation Mobile networks).
   1.755 +		*/
   1.756 +		ECipheringGSM,
   1.757 +		/**
   1.758 +		The encryption level is WDCMA.(standard encryption algorithms for 3rd Generation Mobile networks).
   1.759 +		*/
   1.760 +		ECipheringWCDMA
   1.761 +		};
   1.762 +
   1.763 +	class TCallInfoV1 : public TEtelISVType
   1.764 +	/**
   1.765 +	Defines general information about a call.
   1.766 +	*/
   1.767 +		{
   1.768 +	public:
   1.769 +		IMPORT_C TCallInfoV1();
   1.770 +	public:
   1.771 +		/**
   1.772 +		The current status of the call.
   1.773 +		*/
   1.774 +		TCallStatus iStatus;
   1.775 +		/**
   1.776 +		The time & date the call started.
   1.777 +		*/
   1.778 +		TDateTime iStartTime;
   1.779 +		/**
   1.780 +		The current duration of the call.
   1.781 +		*/
   1.782 +		TTimeIntervalSeconds iDuration;
   1.783 +		/**
   1.784 +		The original number (including DTMF) dialled for an outgoing call.
   1.785 +		*/
   1.786 +		TTelAddress iDialledParty;
   1.787 +		/**
   1.788 +		The reason for termination of a finished call.
   1.789 +		Will equal KErrNone if the call ended normally and KErrNotFound if the call has not ended.
   1.790 +		*/
   1.791 +		TInt iExitCode;
   1.792 +		/**
   1.793 +		This attribute indicates whether Ciphering Status of a Call is enabled or disabled.
   1.794 +		*/
   1.795 +		TPhoneNetworkSecurity iSecurity;
   1.796 +		/**
   1.797 +		The call id of an ISV application owned call. For calls not owned by this ISV application (-1) is returned.
   1.798 +		*/
   1.799 +		TInt iCallId;
   1.800 +		};
   1.801 +
   1.802 +	/**
   1.803 +	A typedef'd packaged CTelephony::TCallInfoV1 for passing through a generic API method.
   1.804 +	*/
   1.805 +	typedef TPckg<TCallInfoV1> TCallInfoV1Pckg;
   1.806 +
   1.807 +	/**
   1.808 +	Maximum size of the calling party name.
   1.809 +	*/
   1.810 +	enum { KCallingNameSize = 80 };
   1.811 +
   1.812 +	class TRemotePartyInfoV1 : public TEtelISVType
   1.813 +		{
   1.814 +		/**
   1.815 +		Defines information about the remote party of a call.
   1.816 +		*/
   1.817 +	public:
   1.818 +		IMPORT_C TRemotePartyInfoV1();
   1.819 +	public:
   1.820 +		/**
   1.821 +		Indicates whether the remote party information in the rest of this structure is valid or not.
   1.822 +		*/
   1.823 +		TCallRemoteIdentityStatus iRemoteIdStatus;
   1.824 +		/**
   1.825 +		Calling party name available through the CNAP supplementary service (if provisioned).
   1.826 +		*/
   1.827 +		TBuf<KCallingNameSize> iCallingName;
   1.828 +		/**
   1.829 +		The phone number of the remote party if available.
   1.830 +		*/
   1.831 +		TTelAddress iRemoteNumber;
   1.832 +		/**
   1.833 +		The direction of the call and hence the role of the remote party.
   1.834 +		i.e. if the call is mobile originated then the remote party is the called party.
   1.835 +		Whereas if the call is mobile terminated then the remote party is the calling party.
   1.836 +		*/
   1.837 +		TCallDirection iDirection;
   1.838 +		};
   1.839 +
   1.840 +	/**
   1.841 +	A typedef'd packaged CTelephony::TRemotePartyInfoV1 for passing through a generic API method.
   1.842 +	*/
   1.843 +	typedef TPckg<TRemotePartyInfoV1> TRemotePartyInfoV1Pckg;
   1.844 +
   1.845 +//////////////////////////////////////////////////////////
   1.846 +// Call Functionality
   1.847 +//////////////////////////////////////////////////////////
   1.848 +
   1.849 +	/**
   1.850 +	Caller Id restriction settings.
   1.851 +	*/
   1.852 +	enum TCallerIdentityRestrict
   1.853 +		{
   1.854 +		/**
   1.855 +		The default setting should be used if the user has not explicitly requested their identity to be restricted/allowed.
   1.856 +		*/
   1.857 +		EIdRestrictDefault,
   1.858 +		/**
   1.859 +		The user has explicitly requested their identity to be sent for this call.
   1.860 +		*/
   1.861 +		ESendMyId,
   1.862 +		/**
   1.863 +		The user has explicitly requested their identity not to be sent for this call.
   1.864 +		*/
   1.865 +		EDontSendMyId
   1.866 +		};
   1.867 +
   1.868 +	class TCallParamsV1 : public TEtelISVType
   1.869 +		{
   1.870 +		/**
   1.871 +		Defines the parameters used for set-up of a call.
   1.872 +		*/
   1.873 +	public:
   1.874 +		IMPORT_C TCallParamsV1();
   1.875 +	public:
   1.876 +		/**
   1.877 +		Call Id restriction setting to be used for this call.
   1.878 +		*/
   1.879 +		TCallerIdentityRestrict iIdRestrict;
   1.880 +		};
   1.881 +
   1.882 +	/**
   1.883 +	A typedef'd packaged CTelephony::TCallParamsV1 for passing through a generic API method.
   1.884 +	*/
   1.885 +	typedef TPckg<TCallParamsV1> TCallParamsV1Pckg;
   1.886 +
   1.887 +	/**
   1.888 +	Mobile call control capabilities.
   1.889 +	*/
   1.890 +	enum TMobileCallControlCaps
   1.891 +		{
   1.892 +		/**
   1.893 +		Indicates that this call can be put on hold.
   1.894 +		This implies that the call is currently active and that there is no other held call.
   1.895 +		*/
   1.896 +		KCapsHold 	= 0x00000200,
   1.897 +		/**
   1.898 +		Indicates that this call can be resumed.
   1.899 +		This implies that the call is currently on hold and that there is no other active call.
   1.900 +		*/
   1.901 +		KCapsResume = 0x00000400,
   1.902 +		/**
   1.903 +		Indicates that this call's state can be swapped to the opposite state.
   1.904 +		This implies that this call is either active or held.
   1.905 +		There may be another call in the opposite state and if this is the case then both calls will be simultaneously swapped to their opposite state.
   1.906 +		*/
   1.907 +		KCapsSwap 	= 0x00000800
   1.908 +		};
   1.909 +
   1.910 +	class TCallCapsV1 : public TEtelISVType
   1.911 +		{
   1.912 +		/**
   1.913 +		Defines the dynamic capabilities of a call.
   1.914 +		@see TMobileCallControlCaps
   1.915 +		*/
   1.916 +	public:
   1.917 +		IMPORT_C TCallCapsV1();
   1.918 +	public:
   1.919 +		/**
   1.920 +		Call Id restriction setting to be used for this call.
   1.921 +		It is the sum of CTelephony::TMobileCallControlCaps constants.
   1.922 +		*/
   1.923 +		TUint32 iControlCaps;
   1.924 +		};
   1.925 +
   1.926 +	/**
   1.927 +	A typedef'd packaged CTelephony::TCallParamsV1 for passing through a generic API method.
   1.928 +	*/
   1.929 +	typedef TPckg<TCallCapsV1> TCallCapsV1Pckg;
   1.930 +
   1.931 +
   1.932 +//////////////////////////////////////////////////////////
   1.933 +// Network Functionality
   1.934 +//////////////////////////////////////////////////////////
   1.935 +
   1.936 +	/**
   1.937 +	The registration status of the phone.
   1.938 +	*/
   1.939 +	enum TRegistrationStatus
   1.940 +		{
   1.941 +		/**
   1.942 +		Registration status is unknown.
   1.943 +		*/
   1.944 +		ERegistrationUnknown,
   1.945 +		/**
   1.946 +		Not registered. The ME can not detect any other networks and is not currently searching a new operator to register to.
   1.947 +		*/
   1.948 +		ENotRegisteredNoService,
   1.949 +		/**
   1.950 +		Not registered. The ME can detect other networks on which it is possible to make emergency calls only.
   1.951 +		*/
   1.952 +		ENotRegisteredEmergencyOnly,
   1.953 +		/**
   1.954 +		Not registered, but the ME is currently searching a new operator to register to.
   1.955 +		*/
   1.956 +		ENotRegisteredSearching,
   1.957 +		/**
   1.958 +		Registered, network busy.
   1.959 +		*/
   1.960 +		ERegisteredBusy,
   1.961 +		/**
   1.962 +		Registered on home network.
   1.963 +		*/
   1.964 +		ERegisteredOnHomeNetwork,
   1.965 +		/**
   1.966 +		Registration denied.
   1.967 +		*/
   1.968 +		ERegistrationDenied,
   1.969 +		/**
   1.970 +		Registered, roaming.
   1.971 +		*/
   1.972 +		ERegisteredRoaming
   1.973 +		};
   1.974 +
   1.975 +	class TNetworkRegistrationV1 : public TEtelISVType
   1.976 +		/**
   1.977 +		Defines the current network registration status
   1.978 +		*/
   1.979 +		{
   1.980 +	public:
   1.981 +		IMPORT_C TNetworkRegistrationV1();
   1.982 +	public:
   1.983 +		/**
   1.984 +        The current network registration status.
   1.985 +		*/
   1.986 +		TRegistrationStatus iRegStatus;
   1.987 +		};
   1.988 +
   1.989 +	/**
   1.990 +	A typedef'd packaged CTelephony::TNetworkRegistrationV1 for passing through a generic API method.
   1.991 +	*/
   1.992 +	typedef TPckg<TNetworkRegistrationV1> TNetworkRegistrationV1Pckg;
   1.993 +
   1.994 +	/***********************************************/
   1.995 +	// CTelephony::TNetworkInfoV1
   1.996 +
   1.997 +	/**
   1.998 +	Maximum size of the network country code.
   1.999 +	*/
  1.1000 +	enum { KNetworkCountryCodeSize 	= 4  };
  1.1001 +	/**
  1.1002 +	Maximum size of the network identity..
  1.1003 +	*/
  1.1004 +	enum { KNetworkIdentitySize 	= 8  };
  1.1005 +	/**
  1.1006 +	Maximum size of the network display tag..
  1.1007 +	*/
  1.1008 +	enum { KNetworkDisplayTagSize 	= 32 };
  1.1009 +	/**
  1.1010 +	Maximum size of the short network name.
  1.1011 +	*/
  1.1012 +	enum { KNetworkShortNameSize 	= 8  };
  1.1013 +	/**
  1.1014 +	Maximum size of the long network name.
  1.1015 +	*/
  1.1016 +	enum { KNetworkLongNameSize 	= 16 };
  1.1017 +	/**
  1.1018 +	Maximum size of the short network name version 2.
  1.1019 +	*/
  1.1020 +	enum { KNetworkShortNameSizeV2 	= 10  };
  1.1021 +	/**
  1.1022 +	Maximum size of the long network name version 2.
  1.1023 +	*/
  1.1024 +	enum { KNetworkLongNameSizeV2 	= 20 };
  1.1025 +
  1.1026 +	/**
  1.1027 +	Defines Current Network Modes.
  1.1028 +	*/
  1.1029 +	enum TNetworkMode
  1.1030 +		{
  1.1031 +		/**
  1.1032 +		Network mode is unknown.
  1.1033 +		*/
  1.1034 +		ENetworkModeUnknown,
  1.1035 +		/**
  1.1036 +		Mobile device is not registered.
  1.1037 +		*/
  1.1038 +		ENetworkModeUnregistered,
  1.1039 +		/**
  1.1040 +		GSM/GPRS or DCS1800 network.
  1.1041 +		*/
  1.1042 +		ENetworkModeGsm,
  1.1043 +		/**
  1.1044 +		AMPS network.
  1.1045 +		*/
  1.1046 +		ENetworkModeAmps,
  1.1047 +		/**
  1.1048 +		CDMA (IS-95) network.
  1.1049 +		*/
  1.1050 +		ENetworkModeCdma95,
  1.1051 +		/**
  1.1052 +		CDMA (cdma2000) network.
  1.1053 +		*/
  1.1054 +		ENetworkModeCdma2000,
  1.1055 +		/**
  1.1056 +		WCDMA (UTRA Frequency Division Duplex (FDD)) network.
  1.1057 +		*/
  1.1058 +		ENetworkModeWcdma,
  1.1059 +		/**
  1.1060 +		TD-CDMA (UTRA Time Division Duplex (TDD)) network.
  1.1061 +		 */
  1.1062 +		ENetworkModeTdcdma
  1.1063 +		};
  1.1064 +
  1.1065 +	/**
  1.1066 +	The access technology that the network is based on.
  1.1067 +	*/
  1.1068 +	enum TNetworkAccess
  1.1069 +		{
  1.1070 +		/**
  1.1071 +		This is used when there is no network activity and therefore no RAT active.
  1.1072 +		*/
  1.1073 +		ENetworkAccessUnknown,
  1.1074 +		/**
  1.1075 +		The access technology is GSM.
  1.1076 +		*/
  1.1077 +		ENetworkAccessGsm,
  1.1078 +		/**
  1.1079 +		The access technology is GSM COMPACT.
  1.1080 +		However GSM COMPACT systems which use GSM frequency bands but with the CBPCCH broadcast channel are considered as a separate access technology from GSM.
  1.1081 +		*/
  1.1082 +		ENetworkAccessGsmCompact,
  1.1083 +		/**
  1.1084 +		The access technology is UTRAN (UMTS Network).
  1.1085 +		*/
  1.1086 +		ENetworkAccessUtran
  1.1087 +		};
  1.1088 +
  1.1089 +	/**
  1.1090 +	Phone network status.
  1.1091 +	*/
  1.1092 +	enum TNetworkStatus
  1.1093 +		{
  1.1094 +		/**
  1.1095 +		Status is unknown.
  1.1096 +		*/
  1.1097 +		ENetworkStatusUnknown,
  1.1098 +		/**
  1.1099 +		A network that the mobile device is allowed to register to.
  1.1100 +		*/
  1.1101 +		ENetworkStatusAvailable,
  1.1102 +		/**
  1.1103 +		Currently registered network.
  1.1104 +		*/
  1.1105 +		ENetworkStatusCurrent,
  1.1106 +		/**
  1.1107 +		A network that the ME is not allowed to register to.
  1.1108 +		*/
  1.1109 +		ENetworkStatusForbidden
  1.1110 +		};
  1.1111 +
  1.1112 +	/**
  1.1113 +	Mobile phone network band information.
  1.1114 +	*/
  1.1115 +	enum TNetworkBandInfo
  1.1116 +		{
  1.1117 +		/**
  1.1118 +		The current band and band class is unknown.
  1.1119 +		*/
  1.1120 +		EBandUnknown,
  1.1121 +		/**
  1.1122 +		The network operates at 800MHz on Band A.
  1.1123 +		*/
  1.1124 +		E800BandA,
  1.1125 +		/**
  1.1126 +		The network operates at 800MHz on Band B.
  1.1127 +		*/
  1.1128 +		E800BandB,
  1.1129 +		/**
  1.1130 +		The network operates at 800MHz on Band C.
  1.1131 +		*/
  1.1132 +		E800BandC,
  1.1133 +		/**
  1.1134 +		The network operates at 1900MHz on Band A.
  1.1135 +		*/
  1.1136 +		E1900BandA,
  1.1137 +		/**
  1.1138 +		The network operates at 1900MHz on Band B.
  1.1139 +		*/
  1.1140 +		E1900BandB,
  1.1141 +		/**
  1.1142 +		The network operates at 1900MHz on Band C.
  1.1143 +		*/
  1.1144 +		E1900BandC,
  1.1145 +		/**
  1.1146 +		The network operates at 1900MHz on Band D.
  1.1147 +		*/
  1.1148 +		E1900BandD,
  1.1149 +		/**
  1.1150 +		The network operates at 1900MHz on Band E.
  1.1151 +		*/
  1.1152 +		E1900BandE,
  1.1153 +		/**
  1.1154 +		The network operates at 1900MHz on Band F.
  1.1155 +		*/
  1.1156 +		E1900BandF
  1.1157 +		};
  1.1158 +
  1.1159 +	/**
  1.1160 +	Defines information related to a mobile phone network.
  1.1161 +
  1.1162 +	@see CTelephony::TNetworkInfoV2
  1.1163 +	*/
  1.1164 +	class TNetworkInfoV1 : public TEtelISVType
  1.1165 +		{
  1.1166 +	public:
  1.1167 +		IMPORT_C TNetworkInfoV1();
  1.1168 +	public:
  1.1169 +		/**
  1.1170 +		Mode of the network.
  1.1171 +		*/
  1.1172 +		TNetworkMode iMode;
  1.1173 +		/**
  1.1174 +		Status of the network
  1.1175 +		*/
  1.1176 +		TNetworkStatus iStatus;
  1.1177 +		/**
  1.1178 +		The MCC of the network.
  1.1179 +		*/
  1.1180 +		TBuf<KNetworkCountryCodeSize> 	iCountryCode;
  1.1181 +		/**
  1.1182 +		The network identity (NID in CDMA and MNC in GSM).
  1.1183 +		*/
  1.1184 +		TBuf<KNetworkIdentitySize> 		iNetworkId;
  1.1185 +		/**
  1.1186 +		The alpha-tag displayed when this is the serving network.
  1.1187 +		*/
  1.1188 +		TBuf<KNetworkDisplayTagSize> 	iDisplayTag;
  1.1189 +		/**
  1.1190 +		On GSM/WCDMA networks, the short name (up to 8 characters) of the network operator.
  1.1191 +		*/
  1.1192 +		TBuf<KNetworkShortNameSize> 	iShortName;
  1.1193 +		/**
  1.1194 +		On CDMA networks, the band and band class of the CDMA network operator.
  1.1195 +		*/
  1.1196 +		TNetworkBandInfo iBandInfo;
  1.1197 +		/**
  1.1198 +		On CDMA networks, the system identity (SID) of the CDMA or AMPS network
  1.1199 +		*/
  1.1200 +		TBuf<KNetworkIdentitySize> 		iCdmaSID;
  1.1201 +		/**
  1.1202 +		On GSM/WCDMA networks, the long name (up to 16 characters) of the network operator.
  1.1203 +		*/
  1.1204 +		TBuf<KNetworkLongNameSize> 		iLongName;
  1.1205 +		/**
  1.1206 +		On GSM/WCDMA networks, the type of network access.
  1.1207 +		*/
  1.1208 +		TNetworkAccess iAccess;
  1.1209 +		/**
  1.1210 +		On GSM/WCDMA networks, boolean indicating whether the location area is known.
  1.1211 +		*/
  1.1212 +		TBool iAreaKnown;
  1.1213 +		/**
  1.1214 +		On GSM/WCDMA networks, the location area code.  Only valid when iAreaKnown is true.		
  1.1215 +		*/
  1.1216 +		TUint iLocationAreaCode;
  1.1217 +		/**
  1.1218 +		On GSM/WCDMA networks, the cell identity code.  Only valid when iAreaKnown is true.		
  1.1219 +		*/
  1.1220 +		TUint iCellId;
  1.1221 +		};
  1.1222 +
  1.1223 +	/**
  1.1224 +	A typedef'd packaged CTelephony::TNetworkInfoV1 for passing through a generic API method.
  1.1225 +	*/
  1.1226 +	typedef TPckg<TNetworkInfoV1> TNetworkInfoV1Pckg;
  1.1227 +
  1.1228 +	class TNetworkNameV1 : public TEtelISVType
  1.1229 +	/**
  1.1230 +	Defines the name network name.
  1.1231 +
  1.1232 +    Note: This information is only available on GSM/WCDMA networks.
  1.1233 +	*/
  1.1234 +		{
  1.1235 +	public:
  1.1236 +		IMPORT_C TNetworkNameV1();
  1.1237 +	public:
  1.1238 +		/**
  1.1239 +		The displayed name (up to 16 characters) of the network provider.
  1.1240 +		*/
  1.1241 +		TBuf<KNetworkLongNameSize> 		iNetworkName;
  1.1242 +		};
  1.1243 +
  1.1244 +	/**
  1.1245 +	A typedef'd packaged CTelephony::TNetworkNameV1 for passing through a generic API method.
  1.1246 +	*/
  1.1247 +	typedef TPckg<TNetworkNameV1> TNetworkNameV1Pckg;
  1.1248 +
  1.1249 +	class TOperatorNameV1 : public TEtelISVType
  1.1250 +	/**
  1.1251 +	Defines the current operator.
  1.1252 +
  1.1253 +    Note: This information is only available on GSM/WCDMA networks.
  1.1254 +	*/
  1.1255 +		{
  1.1256 +	public:
  1.1257 +		IMPORT_C TOperatorNameV1();
  1.1258 +	public:
  1.1259 +		/**
  1.1260 +		 The displayed name (up to 16 characters) of the network operator.
  1.1261 +		*/
  1.1262 +		TBuf<KNetworkLongNameSize> 		iOperatorName;
  1.1263 +		};
  1.1264 +
  1.1265 +	/**
  1.1266 +	A typedef'd packaged CTelephony::TOperatorNameV1 for passing through a generic API method.
  1.1267 +	*/
  1.1268 +	typedef TPckg<TOperatorNameV1> TOperatorNameV1Pckg;
  1.1269 +
  1.1270 +
  1.1271 +	/**
  1.1272 +	Defines information related to a mobile phone network.
  1.1273 +	TNetworkInfoV2 differs from Version 1 (TNetworkInfoV1) in that the
  1.1274 +	length of iShortName and iLongName are 10 and 20 respectively
  1.1275 +	(rather than 8 and 16).
  1.1276 +
  1.1277 +	TNetworkInfoV2 should be used in preference to TNetworkInfoV1.  The
  1.1278 +	short and long network names provided in this V2 class are of the
  1.1279 +	length supplied by the platform.  The V1 class's names will be
  1.1280 +	truncated if the platform provides names longer than its limits.
  1.1281 +	*/
  1.1282 +	class TNetworkInfoV2 : public TEtelISVType
  1.1283 +		{
  1.1284 +	public:
  1.1285 +		IMPORT_C TNetworkInfoV2();
  1.1286 +	public:
  1.1287 +		/**
  1.1288 +		Mode of the network.
  1.1289 +		*/
  1.1290 +		TNetworkMode iMode;
  1.1291 +		/**
  1.1292 +		Status of the network.
  1.1293 +		*/
  1.1294 +		TNetworkStatus iStatus;
  1.1295 +		/**
  1.1296 +		The MCC of the network.
  1.1297 +		*/
  1.1298 +		TBuf<KNetworkCountryCodeSize>    iCountryCode;
  1.1299 +		/**
  1.1300 +		The network identity (NID in CDMA and MNC in GSM).
  1.1301 +		*/
  1.1302 +		TBuf<KNetworkIdentitySize>       iNetworkId;
  1.1303 +		/**
  1.1304 +		The alpha-tag displayed when this is the serving network.
  1.1305 +		*/
  1.1306 +		TBuf<KNetworkDisplayTagSize>     iDisplayTag;
  1.1307 +		/**
  1.1308 +		On GSM/WCDMA networks, the short name (up to 10 characters) of the network operator.
  1.1309 +		*/
  1.1310 +		TBuf<KNetworkShortNameSizeV2>    iShortName;
  1.1311 +		/**
  1.1312 +		On CDMA networks, the band and band class of the CDMA network operator.
  1.1313 +		*/
  1.1314 +		TNetworkBandInfo                 iBandInfo;
  1.1315 +		/**
  1.1316 +		On CDMA networks, the system identity (SID) of the CDMA or AMPS network.
  1.1317 +		*/
  1.1318 +		TBuf<KNetworkIdentitySize>       iCdmaSID;
  1.1319 +		/**
  1.1320 +		On GSM/WCDMA networks, the long name (up to 20 characters) of the network operator.
  1.1321 +		*/
  1.1322 +		TBuf<KNetworkLongNameSizeV2>     iLongName;
  1.1323 +		/**
  1.1324 +		On GSM/WCDMA networks, the type of network access.
  1.1325 +		*/
  1.1326 +		TNetworkAccess                   iAccess;
  1.1327 +		/**
  1.1328 +		On GSM/WCDMA networks, boolean indicating whether the location area is known.
  1.1329 +		*/
  1.1330 +		TBool                            iAreaKnown;
  1.1331 +		/**
  1.1332 +		On GSM/WCDMA networks, the location area code.  Only valid when iAreaKnown is true.		
  1.1333 +		*/
  1.1334 +		TUint                            iLocationAreaCode;
  1.1335 +		/**
  1.1336 +		On GSM/WCDMA networks, the cell identity code.  Only valid when iAreaKnown is true.		
  1.1337 +		*/
  1.1338 +		TUint                            iCellId;
  1.1339 +		};
  1.1340 +
  1.1341 +	/**
  1.1342 +	A typedef'd packaged CTelephony::TNetworkInfoV2 for passing
  1.1343 +	through a generic API method.
  1.1344 +	*/
  1.1345 +	typedef TPckg<TNetworkInfoV2> TNetworkInfoV2Pckg;
  1.1346 +
  1.1347 +	/**
  1.1348 +	Defines the name network name.
  1.1349 +	TNetworkNameV2 differs from Version 1 (TNetworkNameV1) in that the
  1.1350 +	length of iNetworkName is 20 (rather than 16).
  1.1351 +
  1.1352 +	TNetworkNameV2 should be used in preference to TNetworkNameV1.  The
  1.1353 +	network name provided in this V2 class is of the length supplied
  1.1354 +	by the platform.  The V1 class' network name will be truncated if
  1.1355 +	the platform provides a name longer than V1 name's limit.
  1.1356 +
  1.1357 +   Note: This information is only available on GSM/WCDMA networks.
  1.1358 +	*/
  1.1359 +	class TNetworkNameV2 : public TEtelISVType
  1.1360 +		{
  1.1361 +	public:
  1.1362 +		IMPORT_C TNetworkNameV2();
  1.1363 +	public:
  1.1364 +		/**
  1.1365 +		The displayed name (up to 20 characters) of the network provider.
  1.1366 +		*/
  1.1367 +		TBuf<KNetworkLongNameSizeV2> iNetworkName;
  1.1368 +		};
  1.1369 +
  1.1370 +	/**
  1.1371 +	A typedef'd packaged CTelephony::TNetworkNameV2 for passing through
  1.1372 +	a generic API method.  TNetworkNameV2 differs from Version 1 in
  1.1373 +	that the length of iNetworkName is 20 rather than 16.
  1.1374 +	*/
  1.1375 +	typedef TPckg<TNetworkNameV2> TNetworkNameV2Pckg;
  1.1376 +
  1.1377 +//////////////////////////////////////////////////////////
  1.1378 +// (Basic) Supplementary Services Functionality
  1.1379 +//////////////////////////////////////////////////////////
  1.1380 +
  1.1381 +	/**
  1.1382 +	Supplementary Service status.
  1.1383 +	*/
  1.1384 +	enum TSupplServiceStatus
  1.1385 +		{
  1.1386 +		/**
  1.1387 +		The supplementary service is currently active and operative.
  1.1388 +		*/
  1.1389 +		EStatusActive,
  1.1390 +		/**
  1.1391 +		The supplementary service is currently deactivated or quiescent.
  1.1392 +		*/
  1.1393 +		ENotActive,
  1.1394 +		/**
  1.1395 +		In GSM/WCDMA mode, the supplementary service is not provisioned.
  1.1396 +		In CDMA mode, this value has no meaning.
  1.1397 +		*/
  1.1398 +		ENotProvisioned,
  1.1399 +		/**
  1.1400 +		In GSM/WCDMA mode, the supplementary service is not available in serving network.
  1.1401 +		In CDMA mode, the supplementary service is not available in the phone.
  1.1402 +		*/
  1.1403 +		ENotAvailable,
  1.1404 +		/**
  1.1405 +		The phone can not determine supplementary service status.
  1.1406 +		*/
  1.1407 +		EUnknown
  1.1408 +		};
  1.1409 +
  1.1410 +	/**
  1.1411 +	Call Forwarding conditions.
  1.1412 +	*/
  1.1413 +	enum TCallForwardingCondition
  1.1414 +		{
  1.1415 +		/**
  1.1416 +		All calls to this subscriber are forwarded.
  1.1417 +		*/
  1.1418 +		ECallForwardingUnconditional,
  1.1419 +		/**
  1.1420 +		Calls are forwarded when this subscriber is busy.
  1.1421 +		*/
  1.1422 +		ECallForwardingBusy,
  1.1423 +		/**
  1.1424 +		Calls are forwarded when this subscriber does not reply within a timeout period.
  1.1425 +		*/
  1.1426 +		ECallForwardingNoReply,
  1.1427 +		/**
  1.1428 +		Calls are forwarded when this subscriber is unreachable.
  1.1429 +		*/
  1.1430 +		ECallForwardingNotReachable
  1.1431 +		};
  1.1432 +
  1.1433 +	class TCallForwardingSupplServicesV1 : public TEtelISVType
  1.1434 +	/**
  1.1435 +	Defines information about the call forwarding service.
  1.1436 +
  1.1437 +    Note: This information is only available on GSM/WCDMA networks.
  1.1438 +	*/
  1.1439 +		{
  1.1440 +	public:
  1.1441 +		IMPORT_C TCallForwardingSupplServicesV1();
  1.1442 +	public:
  1.1443 +		/**
  1.1444 +		The status of the call forwarding supplementary service.
  1.1445 +		It applies to the condition in iCallForwardingCondition and
  1.1446 +		to the line specified to CTelephony::GetCallForwardingStatus().
  1.1447 +		*/
  1.1448 +		TSupplServiceStatus iCallForwarding;
  1.1449 +		/**
  1.1450 +		The provisioned call forwarding condition to which iCallForwarding applies.
  1.1451 +		*/
  1.1452 +		TCallForwardingCondition iCallForwardingCondition;
  1.1453 +		};
  1.1454 +
  1.1455 +	/**
  1.1456 +	A typedef'd packaged CTelephony::TCallForwardingSupplServicesV1 for passing through a generic API method.
  1.1457 +	*/
  1.1458 +	typedef TPckg<TCallForwardingSupplServicesV1> TCallForwardingSupplServicesV1Pckg;
  1.1459 +
  1.1460 +
  1.1461 +	/**
  1.1462 +	Call Barring conditions.
  1.1463 +	*/
  1.1464 +	enum TCallBarringCondition
  1.1465 +		{
  1.1466 +		/**
  1.1467 +		All incoming calls to this subscriber are barred (BAIC).
  1.1468 +		*/
  1.1469 +		EBarAllIncoming,
  1.1470 +		/**
  1.1471 +		All incoming calls to this subscriber are barred when roaming outside the home PLMN country (BAIC-roam).
  1.1472 +		*/
  1.1473 +		EBarIncomingRoaming,
  1.1474 +		/**
  1.1475 +		All outgoing calls by this subscriber are barred (BAOC).
  1.1476 +		*/
  1.1477 +		EBarAllOutgoing,
  1.1478 +		/**
  1.1479 +		All outgoing international calls by this subscriber are barred (BOIC).
  1.1480 +		*/
  1.1481 +		EBarOutgoingInternational,
  1.1482 +		/**
  1.1483 +		All outgoing international calls except those directed to the home PLMN country by this subscriber are barred (BOIC-ExHC).
  1.1484 +		*/
  1.1485 +		EBarOutgoingInternationalExHC
  1.1486 +		};
  1.1487 +
  1.1488 +	class TCallBarringSupplServicesV1 : public TEtelISVType
  1.1489 +	/**
  1.1490 +	Defines information about the call barring service.
  1.1491 +	*/
  1.1492 +		{
  1.1493 +	public:
  1.1494 +		IMPORT_C TCallBarringSupplServicesV1();
  1.1495 +	public:
  1.1496 +		/**
  1.1497 +		The status of the call barring supplementary service.
  1.1498 +		It applies to the condition in iCallBarringCondition and
  1.1499 +		to the service group specified to CTelephony::GetCallBarringStatus().
  1.1500 +		*/
  1.1501 +		TSupplServiceStatus iCallBarring;
  1.1502 +		/**
  1.1503 +	    The provisioned call barring condition to which iCallBarring applies.
  1.1504 +		*/
  1.1505 +		TCallBarringCondition iCallBarringCondition;
  1.1506 +		};
  1.1507 +
  1.1508 +	/**
  1.1509 +	A typedef'd packaged CTelephony::TCallBarringSupplServicesV1 for passing through a generic API method.
  1.1510 +	*/
  1.1511 +	typedef TPckg<TCallBarringSupplServicesV1> TCallBarringSupplServicesV1Pckg;
  1.1512 +
  1.1513 +	class TCallWaitingSupplServicesV1 : public TEtelISVType
  1.1514 +	/**
  1.1515 +	Defines information about the call waiting service.
  1.1516 +	*/
  1.1517 +		{
  1.1518 +	public:
  1.1519 +		IMPORT_C TCallWaitingSupplServicesV1();
  1.1520 +	public:
  1.1521 +		/**
  1.1522 +		The status of the call waiting supplementary service
  1.1523 +		for the service group specified to CTelephony::GetCallWaitingStatus().
  1.1524 +		*/
  1.1525 +		TSupplServiceStatus iCallWaiting;
  1.1526 +		};
  1.1527 +
  1.1528 +	/**
  1.1529 +	A typedef'd packaged CTelephony::TCallWaitingSupplServicesV1 for passing through a generic API method.
  1.1530 +	*/
  1.1531 +	typedef TPckg<TCallWaitingSupplServicesV1> TCallWaitingSupplServicesV1Pckg;
  1.1532 +
  1.1533 +	/**
  1.1534 +	Phone ID services.
  1.1535 +	*/
  1.1536 +	enum TIdentityService
  1.1537 +		{
  1.1538 +		/**
  1.1539 +		The identity service is unspecified.
  1.1540 +		*/
  1.1541 +		EIdServiceUnspecified,
  1.1542 +		/**
  1.1543 +		The caller's ID is presented to the called party.
  1.1544 +		*/
  1.1545 +		EIdServiceCallerPresentation,
  1.1546 +		/**
  1.1547 +		The caller's ID is restricted to the called party.
  1.1548 +		*/
  1.1549 +		EIdServiceCallerRestriction
  1.1550 +		};
  1.1551 +
  1.1552 +	/**
  1.1553 +	Service status of the Phone ID services.
  1.1554 +	*/
  1.1555 +	enum TIdentityServiceStatus
  1.1556 +		{
  1.1557 +		/**
  1.1558 +		The interrogated identity service is provisioned and permanently active.
  1.1559 +		*/
  1.1560 +		EIdServiceActivePermanent,
  1.1561 +		/**
  1.1562 +		The interrogated identity service is provisioned and active.
  1.1563 +		By default, the number is restricted unless overridden by the user.
  1.1564 +		*/
  1.1565 +		EIdServiceActiveDefaultRestricted,
  1.1566 +		/**
  1.1567 +		The interrogated identity service is provisioned and active.
  1.1568 +		By default, the number is displayed unless specifically restricted by the user.
  1.1569 +		*/
  1.1570 +		EIdServiceActiveDefaultAllowed,
  1.1571 +		/**
  1.1572 +		The interrogated identity service is not provisioned.
  1.1573 +		*/
  1.1574 +		EIdServiceNotProvisioned,
  1.1575 +		/**
  1.1576 +		The status of the interrogated Identity service is unknown.
  1.1577 +		*/
  1.1578 +		EIdServiceUnknown
  1.1579 +		};
  1.1580 +
  1.1581 +	class TIdentityServiceV1 : public TEtelISVType
  1.1582 +	/**
  1.1583 +	Defines the call identity service status.
  1.1584 +
  1.1585 +    Note: This information is only available on GSM/WCDMA networks.
  1.1586 +	*/
  1.1587 +		{
  1.1588 +	public:
  1.1589 +		IMPORT_C TIdentityServiceV1();
  1.1590 +	public:
  1.1591 +		/**
  1.1592 +		The status of the call identity service.
  1.1593 +		*/
  1.1594 +		TIdentityServiceStatus iIdentityStatus;
  1.1595 +		};
  1.1596 +
  1.1597 +	/**
  1.1598 +	A typedef'd packaged CTelephony::TIdentityServiceV1 for passing through a generic API method.
  1.1599 +	*/
  1.1600 +	typedef TPckg<TIdentityServiceV1> TIdentityServiceV1Pckg;
  1.1601 +
  1.1602 +	/**
  1.1603 +	Service group identifier.
  1.1604 +	*/
  1.1605 +	enum TServiceGroup
  1.1606 +		{
  1.1607 +		/**
  1.1608 +		Voice service group
  1.1609 +		*/
  1.1610 +		EVoiceService,
  1.1611 +		/**
  1.1612 +		Fax service group
  1.1613 +		*/
  1.1614 +		EFaxService,
  1.1615 +		/**
  1.1616 +		Data service group
  1.1617 +		*/
  1.1618 +		EDataService
  1.1619 +		};
  1.1620 +
  1.1621 +	/**
  1.1622 +	Cancel apending request
  1.1623 +	*/
  1.1624 +	enum TCancellationRequest
  1.1625 +		{
  1.1626 +		/**
  1.1627 +		Cancel a pending GetPhoneId request.
  1.1628 +		*/
  1.1629 +		EGetPhoneIdCancel,                             // 0
  1.1630 +		/**
  1.1631 +		Cancel a pending GetSubscriberId request.
  1.1632 +		*/
  1.1633 +		EGetSubscriberIdCancel,                        // 1
  1.1634 +		/**
  1.1635 +		Cancel a pending GetFlightMode request.
  1.1636 +		*/
  1.1637 +		EGetFlightModeCancel,                          // 2
  1.1638 +		/**
  1.1639 +		Cancel a pending FlightModeChange request.
  1.1640 +		*/
  1.1641 +		EFlightModeChangeCancel,                       // 3
  1.1642 +		/**
  1.1643 +		Cancel a pending GetIndicator request.
  1.1644 +		*/
  1.1645 +		EGetIndicatorCancel,                           // 4
  1.1646 +		/**
  1.1647 +		Cancel a pending IndicatorChange request.
  1.1648 +		*/
  1.1649 +		EIndicatorChangeCancel,                        // 5
  1.1650 +		/**
  1.1651 +		Cancel a pending GetBatteryInfo request.
  1.1652 +		*/
  1.1653 +		EGetBatteryInfoCancel,                         // 6
  1.1654 +		/**
  1.1655 +		Cancel a pending BatteryInfoChange request.
  1.1656 +		*/
  1.1657 +		EBatteryInfoChangeCancel,                      // 7
  1.1658 +		/**
  1.1659 +		Cancel a pending GetSignalStrength request.
  1.1660 +		*/
  1.1661 +		EGetSignalStrengthCancel,                      // 8
  1.1662 +		/**
  1.1663 +		Cancel a pending SignalStrengthChange request.
  1.1664 +		*/
  1.1665 +		ESignalStrengthChangeCancel,                   // 9
  1.1666 +		/**
  1.1667 +		Cancel a pending GetLockInfo request.
  1.1668 +		*/
  1.1669 +		EGetLockInfoCancel,                            // 10
  1.1670 +		/**
  1.1671 +		Cancel a pending Pin 1 LockInfoChange request.
  1.1672 +		*/
  1.1673 +		EPin1LockInfoChangeCancel,                     // 11
  1.1674 +		/**
  1.1675 +		Cancel a pending Pin 2 LockInfoChange request.
  1.1676 +		*/
  1.1677 +		EPin2LockInfoChangeCancel,                     // 12
  1.1678 +		/**
  1.1679 +		Cancel a pending VoiceLineStatusChange request.
  1.1680 +		*/
  1.1681 +		EVoiceLineStatusChangeCancel,                  // 13
  1.1682 +		/**
  1.1683 +		Cancel a pending Call1StatusChange request.
  1.1684 +		*/
  1.1685 +		EOwnedCall1StatusChangeCancel,                 // 14
  1.1686 +		/**
  1.1687 +		Cancel a pending Call2StatusChange request.
  1.1688 +		*/
  1.1689 +		EOwnedCall2StatusChangeCancel,                 // 15
  1.1690 +		/**
  1.1691 +		Cancel a pending OwnedCall1RemotePartyInfoChange request.
  1.1692 +		*/
  1.1693 +		EOwnedCall1RemotePartyInfoChangeCancel,        // 16
  1.1694 +		/**
  1.1695 +		Cancel a pending OwnedCall2RemotePartyInfoChange request.
  1.1696 +		*/
  1.1697 +		EOwnedCall2RemotePartyInfoChangeCancel,        // 17
  1.1698 +		/**
  1.1699 +		Cancel a pending SendDTMFTones request.
  1.1700 +		*/
  1.1701 +		ESendDTMFTonesCancel,                          // 18
  1.1702 +		/**
  1.1703 +		Cancel a pending DialNewCall request.
  1.1704 +		*/
  1.1705 +		EDialNewCallCancel,                            // 19
  1.1706 +		/**
  1.1707 +		Cancel a pending Hold request.
  1.1708 +		*/
  1.1709 +		EHoldCancel,                                   // 20
  1.1710 +		/**
  1.1711 +		Cancel a pending Resume request.
  1.1712 +		*/
  1.1713 +		EResumeCancel,                                 // 21
  1.1714 +		/**
  1.1715 +		Cancel a pending Swap request.
  1.1716 +		*/
  1.1717 +		ESwapCancel,                                   // 22
  1.1718 +		/**
  1.1719 +		Cancel a pending Hangup request.
  1.1720 +		*/
  1.1721 +		EHangupCancel,                                 // 23
  1.1722 +		/**
  1.1723 +		Cancel a pending AnswerIncomingCall request.
  1.1724 +		*/
  1.1725 +		EAnswerIncomingCallCancel,                     // 24
  1.1726 +		/**
  1.1727 +		Cancel a pending GetNetworkRegistrationStatus request.
  1.1728 +		*/
  1.1729 +		EGetNetworkRegistrationStatusCancel,           // 25
  1.1730 +		/**
  1.1731 +		Cancel a pending NetworkRegistrationStatusChange request.
  1.1732 +		*/
  1.1733 +		ENetworkRegistrationStatusChangeCancel,        // 26
  1.1734 +		/**
  1.1735 +		Cancel a pending GetCurrentNetworkInfo request.
  1.1736 +		*/
  1.1737 +		EGetCurrentNetworkInfoCancel,                  // 27
  1.1738 +		/**
  1.1739 +		Cancel a pending CurrentNetworkInfoChange request.
  1.1740 +		*/
  1.1741 +		ECurrentNetworkInfoChangeCancel,               // 28
  1.1742 +		/**
  1.1743 +		Cancel a pending GetCurrentNetworkName request.
  1.1744 +		*/
  1.1745 +		EGetCurrentNetworkNameCancel,                  // 29
  1.1746 +		/**
  1.1747 +		Cancel a pending GetOperatorName request.
  1.1748 +		*/
  1.1749 +		EGetOperatorNameCancel,                        // 30
  1.1750 +		/**
  1.1751 +		Cancel a pending GetCallForwardingStatus request.
  1.1752 +		*/
  1.1753 +		EGetCallForwardingStatusCancel,                // 31
  1.1754 +		/**
  1.1755 +		Cancel a pending GetCallBarringStatus request.
  1.1756 +		*/
  1.1757 +		EGetCallBarringStatusCancel,                   // 32
  1.1758 +		/**
  1.1759 +		Cancel a pending GetCallWaitingStatus request.
  1.1760 +		*/
  1.1761 +		EGetCallWaitingStatusCancel,                   // 33
  1.1762 +		/**
  1.1763 +		Cancel a pending GetIdentityServiceStatus request.
  1.1764 +		*/
  1.1765 +	 	EGetIdentityServiceStatusCancel,               // 34
  1.1766 +		/**
  1.1767 +		Cancel a pending FaxLineStatusChange request.
  1.1768 +		*/
  1.1769 +	 	EFaxLineStatusChangeCancel,                    // 35
  1.1770 +		/**
  1.1771 +		Cancel a pending DataLineStatusChange request.
  1.1772 +		*/
  1.1773 +	 	EDataLineStatusChangeCancel                    // 36
  1.1774 +		};
  1.1775 +
  1.1776 +//////////////////////////////////////////////////////////
  1.1777 +// Notification Functionality
  1.1778 +//////////////////////////////////////////////////////////
  1.1779 +
  1.1780 +	/**
  1.1781 +	Notification events
  1.1782 +	*/
  1.1783 +	enum TNotificationEvent
  1.1784 +		{
  1.1785 +		/**
  1.1786 +		Register interest for receiving a notification for flight mode changes.
  1.1787 +
  1.1788 +        New flight mode returned in a CTelephony::TFlightModeV1Pckg, a packaged CTelephony::TFlightModeV1.
  1.1789 +
  1.1790 +		Pass CancelAsync() CTelephony::EFlightModeChangeCancel to cancel.
  1.1791 +		
  1.1792 +		@capability None
  1.1793 +		@ref CTelephony::NotifyChange
  1.1794 +		*/
  1.1795 +		EFlightModeChange,                   // 0
  1.1796 +		/**
  1.1797 +		Register interest for receiving a notification for phone indicator changes.
  1.1798 +
  1.1799 +		New indicators returned in a CTelephony::TIndicatorV1Pckg, a packaged CTelephony::TIndicatorV1.
  1.1800 +
  1.1801 +        Pass CancelAsync() CTelephony::EIndicatorChangeCancel to cancel.
  1.1802 +		
  1.1803 +		@capability None
  1.1804 +		@ref CTelephony::NotifyChange
  1.1805 +		*/
  1.1806 +		EIndicatorChange,                    // 1
  1.1807 +		/**
  1.1808 +		Register interest for receiving a notification for Battery information changes.
  1.1809 +
  1.1810 +		New Battery information returned in a CTelephony::TBatteryInfoV1Pckg, a packaged CTelephony::TBatteryInfoV1.
  1.1811 +
  1.1812 +        Pass CancelAsync() CTelephony::EBatteryInfoChangeCancel to cancel.
  1.1813 +		
  1.1814 +		@capability None
  1.1815 +		@ref CTelephony::NotifyChange
  1.1816 +		*/
  1.1817 +		EBatteryInfoChange,                  // 2
  1.1818 +		/**
  1.1819 +		Register interest for receiving a notification for Signal Strength changes.
  1.1820 +
  1.1821 +		New Signal Strength returned in a CTelephony::TSignalStrengthV1Pckg, a packaged CTelephony::TSignalStrengthV1.
  1.1822 +
  1.1823 +        Pass CancelAsync() CTelephony::ESignalStrengthChangeCancel to cancel.
  1.1824 +		
  1.1825 +		@capability None
  1.1826 +		@ref CTelephony::NotifyChange
  1.1827 +		*/
  1.1828 +		ESignalStrengthChange,               // 3
  1.1829 +		/**
  1.1830 +		Register interest for receiving a notification for Icc Pin1 Lock Information changes.
  1.1831 +
  1.1832 +		New Icc Pin1 Lock Information returned in a CTelephony::TIccLockInfoV1Pckg, a packaged CTelephony::TIccLockInfoV1.
  1.1833 +
  1.1834 +        Pass CancelAsync() CTelephony::EPin1LockInfoChangeCancel to cancel.
  1.1835 +		
  1.1836 +		@capability ReadDeviceData
  1.1837 +		@ref CTelephony::NotifyChange
  1.1838 +		*/
  1.1839 +		EPin1LockInfoChange,                 // 4
  1.1840 +		/**
  1.1841 +		Register interest for receiving a notification for Icc Pin2 Lock Information changes.
  1.1842 +
  1.1843 +		New Icc Pin2 Lock Information returned in a CTelephony::TIccLockInfoV1Pckg, a packaged CTelephony::TIccLockInfoV1.
  1.1844 +
  1.1845 +        Pass CancelAsync() CTelephony::EPin2LockInfoChangeCancel to cancel.
  1.1846 +		
  1.1847 +		@capability ReadDeviceData
  1.1848 +		@ref CTelephony::NotifyChange
  1.1849 +		*/
  1.1850 +		EPin2LockInfoChange,                 // 5
  1.1851 +		/**
  1.1852 +		Register interest for receiving a notification for Voice Line Status changes.
  1.1853 +
  1.1854 +		New Voice Line Status returned in a CTelephony::TCallStatusV1Pckg, a packaged CTelephony::TCallStatusV1.
  1.1855 +
  1.1856 +        Pass CancelAsync() CTelephony::EVoiceLineStatusChangeCancel to cancel.
  1.1857 +		
  1.1858 +		@capability None
  1.1859 +		@ref CTelephony::NotifyChange
  1.1860 +		*/
  1.1861 +		EVoiceLineStatusChange,              // 6
  1.1862 +		/**
  1.1863 +		Register interest for receiving a notification for owned Call 1 Status changes.
  1.1864 +
  1.1865 +		New Call 1 Status returned in a CTelephony::TCallStatusV1Pckg, a packaged CTelephony::TCallStatusV1.
  1.1866 +
  1.1867 +        Pass CancelAsync() CTelephony::EOwnedCall1StatusChangeCancel to cancel.
  1.1868 +		
  1.1869 +		@capability None
  1.1870 +		@ref CTelephony::NotifyChange
  1.1871 +		*/
  1.1872 +		EOwnedCall1StatusChange,             // 7
  1.1873 +		/**
  1.1874 +		Register interest for receiving a notification for owned Call 2 Status changes.
  1.1875 +
  1.1876 +		New Call 2 Status returned in a CTelephony::TCallStatusV1Pckg, a packaged CTelephony::TCallStatusV1.
  1.1877 +
  1.1878 +        Pass CancelAsync() CTelephony::EOwnedCall2StatusChangeCancel to cancel.
  1.1879 +		
  1.1880 +		@capability None
  1.1881 +		@ref CTelephony::NotifyChange
  1.1882 +		*/
  1.1883 +		EOwnedCall2StatusChange,             // 8
  1.1884 +		/**
  1.1885 +		Register interest for receiving a notification for Call 1 Remote Party Info changes.
  1.1886 +
  1.1887 +		New Call 1 Remote Party Info returned in a CTelephony::TRemotePartyInfoV1Pckg, a packaged CTelephony::TRemotePartyInfoV1.
  1.1888 +
  1.1889 +        Pass CancelAsync() CTelephony::EOwnedCall1RemotePartyInfoChangeCancel to cancel.
  1.1890 +		
  1.1891 +		@capability ReadUserData
  1.1892 +		@ref CTelephony::NotifyChange
  1.1893 +		*/
  1.1894 +		EOwnedCall1RemotePartyInfoChange,    // 9
  1.1895 +		/**
  1.1896 +		Register interest for receiving a notification for Call 2 Remote Party Info changes.
  1.1897 +
  1.1898 +		New Call 2 Remote Party Info returned in a CTelephony::TRemotePartyInfoV1Pckg, a packaged CTelephony::TRemotePartyInfoV1.
  1.1899 +
  1.1900 +        Pass CancelAsync() CTelephony::EOwnedCall2RemotePartyInfoChangeCancel to cancel.
  1.1901 +		
  1.1902 +		@capability ReadUserData
  1.1903 +		@ref CTelephony::NotifyChange
  1.1904 +		*/
  1.1905 +		EOwnedCall2RemotePartyInfoChange,    // 10
  1.1906 +		/**
  1.1907 +		Register interest for receiving a notification for Network registration status changes.
  1.1908 +
  1.1909 +		New Network registration status returned in a CTelephony::TNetworkRegistrationV1Pckg, a packaged CTelephony::TNetworkRegistrationV1.
  1.1910 +
  1.1911 +        Pass CancelAsync() CTelephony::ENetworkRegistrationStatusChangeCancel to cancel.
  1.1912 +		
  1.1913 +		@capability None
  1.1914 +		@ref CTelephony::NotifyChange
  1.1915 +		*/
  1.1916 +		ENetworkRegistrationStatusChange,    // 11
  1.1917 +		/**
  1.1918 +		Register interest for receiving a notification for Network information changes.
  1.1919 +
  1.1920 +		New Network information returned in a CTelephony::TNetworkInfoV1Pckg, a packaged CTelephony::TNetworkInfoV1.
  1.1921 +
  1.1922 +        Pass CancelAsync() CTelephony::ECurrentNetworkInfoChangeCancel to cancel.
  1.1923 +		
  1.1924 +		@capability ReadDeviceData
  1.1925 +		@ref CTelephony::NotifyChange
  1.1926 +		*/
  1.1927 +		ECurrentNetworkInfoChange,           // 12
  1.1928 +		/**
  1.1929 +		Register interest for receiving a notification for Fax Line Status changes.
  1.1930 +
  1.1931 +		New Fax Line Status returned in a CTelephony::TCallStatusV1Pckg, a packaged CTelephony::TCallStatusV1.
  1.1932 +
  1.1933 +        Pass CancelAsync() CTelephony::EFaxLineStatusChangeCancel to cancel.
  1.1934 +		
  1.1935 +		@capability None
  1.1936 +		@ref CTelephony::NotifyChange
  1.1937 +		*/
  1.1938 +		EFaxLineStatusChange,                // 13
  1.1939 +		/**
  1.1940 +		Register interest for receiving a notification for Data Line Status changes.
  1.1941 +
  1.1942 +		New Data Line Status returned in a CTelephony::TCallStatusV1Pckg, a packaged CTelephony::TCallStatusV1.
  1.1943 +
  1.1944 +        Pass CancelAsync() CTelephony::EDataLineStatusChangeCancel to cancel.
  1.1945 +		
  1.1946 +		@capability None
  1.1947 +		@ref CTelephony::NotifyChange
  1.1948 +		*/
  1.1949 +		EDataLineStatusChange                // 14
  1.1950 +		};
  1.1951 +
  1.1952 +public:
  1.1953 +	// Constructors
  1.1954 +	IMPORT_C static CTelephony* NewLC();
  1.1955 +	IMPORT_C static CTelephony* NewL();
  1.1956 +
  1.1957 +	// Destructor - virtual and class not intended
  1.1958 +	// for derivation, so not exported
  1.1959 +
  1.1960 +	~CTelephony();
  1.1961 +
  1.1962 +	// General Functionality
  1.1963 +	inline TVersion Version() const;
  1.1964 +
  1.1965 +	// Phone Functionality
  1.1966 +	IMPORT_C void GetPhoneId(TRequestStatus& aReqStatus, TDes8& aId) const;
  1.1967 +	IMPORT_C void GetSubscriberId(TRequestStatus& aReqStatus, TDes8& aId) const;
  1.1968 +	IMPORT_C void GetFlightMode(TRequestStatus& aReqStatus, TDes8& aMode) const;
  1.1969 +	IMPORT_C void GetIndicator(TRequestStatus& aReqStatus, TDes8& aIndicator) const;
  1.1970 +	IMPORT_C void GetBatteryInfo(TRequestStatus& aReqStatus, TDes8& aBatteryInfo) const;
  1.1971 +	IMPORT_C void GetSignalStrength(TRequestStatus& aReqStatus, TDes8& aSignalStrength) const;
  1.1972 +	IMPORT_C void GetLockInfo(TRequestStatus& aReqStatus, const TIccLock& aLock, TDes8& aLockInfo) const;
  1.1973 +	IMPORT_C void SendDTMFTones(TRequestStatus& aReqStatus, const TDesC& aTones) const;
  1.1974 +	// Line Functionality
  1.1975 +	IMPORT_C TInt GetLineStatus(const TPhoneLine& aLine, TDes8& aStatus) const;
  1.1976 +	IMPORT_C TInt GetCallInfo(TDes8& aCallSelect, TDes8& aCallInfo, TDes8& aRemoteInfo) const;
  1.1977 +	// Call Functionality
  1.1978 +	IMPORT_C void DialNewCall(TRequestStatus& aStatus, TDes8& aCallParams,
  1.1979 +		const TTelNumber& aTelNumber, TCallId& aCallId, const TPhoneLine aLine=EVoiceLine) const;
  1.1980 +	IMPORT_C TInt GetCallDynamicCaps(const TCallId& aCallId, TDes8& aCallCaps) const;
  1.1981 +	IMPORT_C TInt GetCallStatus(const TCallId& aCallId, TDes8& aCallStatus) const;
  1.1982 +	IMPORT_C void Hold(TRequestStatus& aReqStatus, const TCallId& aCallId) const;
  1.1983 +	IMPORT_C void Resume(TRequestStatus& aReqStatus, const TCallId& aCallId) const;
  1.1984 +	IMPORT_C void Swap(TRequestStatus& aReqStatus, const TCallId& aCallId1,
  1.1985 +		const TCallId& aCallId2) const;
  1.1986 +	IMPORT_C void Hangup(TRequestStatus& aReqStatus, const TCallId& aCallId) const;
  1.1987 +	IMPORT_C void AnswerIncomingCall(TRequestStatus& aReqStatus, TCallId& aCallId,
  1.1988 +		const TPhoneLine aLine=EVoiceLine) const;
  1.1989 +	// Network Functionality
  1.1990 +	IMPORT_C void GetNetworkRegistrationStatus(TRequestStatus& aReqStatus, TDes8& aStatus) const;
  1.1991 +	IMPORT_C void GetCurrentNetworkInfo(TRequestStatus& aReqStatus, TDes8& aNetworkInfo) const;
  1.1992 +	IMPORT_C void GetCurrentNetworkName(TRequestStatus& aReqStatus, TDes8& aNetworkName) const;
  1.1993 +	IMPORT_C void GetOperatorName(TRequestStatus& aReqStatus, TDes8& aOperator) const;
  1.1994 + 	// (Basic) Supplementary Services Functionality
  1.1995 +	IMPORT_C void GetCallForwardingStatus(TRequestStatus& aRequestStatus, const	TCallForwardingCondition aCondition, TDes8& aSSInfo, const TServiceGroup aServiceGroup=EVoiceService) const;
  1.1996 +	IMPORT_C void GetCallBarringStatus(TRequestStatus& aRequestStatus, const TCallBarringCondition aCondition, TDes8& aSSInfo, const TServiceGroup aServiceGroup=EVoiceService) const;
  1.1997 +	IMPORT_C void GetCallWaitingStatus(TRequestStatus& aRequestStatus, TDes8& aSSInfo, const TServiceGroup aServiceGroup=EVoiceService) const;
  1.1998 +	IMPORT_C void GetIdentityServiceStatus(TRequestStatus& aReqStatus, const TIdentityService& aService, TDes8& aStatus) const;
  1.1999 +  	// Cancel Request Functionality
  1.2000 +	IMPORT_C TInt CancelAsync(TCancellationRequest aCancel) const;
  1.2001 + 	// Notification Functionality
  1.2002 +	IMPORT_C void NotifyChange(TRequestStatus& aReqStatus, const TNotificationEvent& aEvent, TDes8& aDes) const;
  1.2003 +
  1.2004 +	IMPORT_C TInt FindDeviceStatus(TInt& aCallStatus);
  1.2005 +	IMPORT_C TInt EstablishDataCall(TInt& aDataChannel, const TDesC& aDialNumber);
  1.2006 +	IMPORT_C void EstablishDataCall(TRequestStatus& aRequestStatus, TInt& aDataChannel, const TDesC& aDialNumber);
  1.2007 +	IMPORT_C TInt TerminateDataCall();
  1.2008 +	IMPORT_C TInt ReceiveDataCall(TInt& aDataChannel);
  1.2009 +	IMPORT_C void ReceiveDataCall(TRequestStatus& aRequestStatus, TInt& aDataChannel);
  1.2010 +	IMPORT_C void CancelEstablishDataCall();
  1.2011 +	IMPORT_C void CancelReceiveDataCall();
  1.2012 +
  1.2013 +private:
  1.2014 +	CTelephony();	// C++ constructor - not exported. Called from NewLC()
  1.2015 +	void ConstructL();	// second-phase constructor
  1.2016 +	CTelephonyFunctions*	iTelephonyFunctions;	///< Object to do the real work
  1.2017 +	};
  1.2018 +
  1.2019 +#include <telephony.inl>
  1.2020 +#endif	// ETEL3RDPARTY_H__