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__