williamr@2: /* williamr@2: * Copyright (c) 2009 Sony Ericsson Mobile Communications AB williamr@2: * All rights reserved. williamr@2: * This component and the accompanying materials are made available williamr@4: * under the terms of "Eclipse Public License v1.0" williamr@2: * which accompanies this distribution, and is available williamr@4: * at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@2: * williamr@2: * Initial Contributors: williamr@2: * Sony Ericsson Mobile Communications AB - initial contribution. williamr@2: * Nokia Corporation - additional changes. williamr@2: * williamr@2: * Contributors: williamr@2: * williamr@2: * Description: williamr@2: * Etel3rdParty.dll interface, using CTelephony class defined here. williamr@2: * Etel 3rd Party API Header file williamr@2: * Describes the Etel 3rd Party API - classes, methods and types. williamr@2: * williamr@2: */ williamr@2: williamr@2: williamr@2: /** williamr@2: @file williamr@2: */ williamr@2: williamr@2: williamr@2: #ifndef ETEL3RDPARTY_H__ williamr@2: #define ETEL3RDPARTY_H__ williamr@2: williamr@2: #include williamr@2: williamr@2: const TInt KTelephonyMajorVersionNumber=7; ///< Major version-number williamr@2: const TInt KTelephonyMinorVersionNumber=0; ///< Minor version-number williamr@2: const TInt KTelephonyBuildVersionNumber=0; ///< Build version-number williamr@2: williamr@2: // Panic numbers returned to applications. 0 upwards... williamr@2: const TInt KTelephonyPanicIllegalReuse = 0; ///< Client code has attempted to re-post an asynchronous request before the original request has completed. williamr@2: williamr@2: class CTelephonyFunctions; // forward declaration williamr@2: williamr@2: /** williamr@2: This class provides a simple interface to the phone's telephony williamr@2: system. It provides two services: williamr@2: williamr@2: 1. You can find out information about the phone. This class williamr@2: provides support for retrieving Phone Settings, Line Information, Call williamr@2: Functionality, Network Information and (basic) Supplementary Service williamr@2: Settings. williamr@2: williamr@2: 2. You can dial, answer and control voice calls. You cannot make fax or data calls. williamr@2: williamr@2: Architecturally, CTelephony provides an interface to the Telephony williamr@2: Multimode API. This interface exposes only a subset of the complete williamr@2: Multimode functionality. williamr@2: williamr@2: Note that a CActiveScheduler is required to be installed for all asynchronous CTelephony calls. williamr@2: williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class CTelephony : public CBase williamr@2: { williamr@2: public: williamr@2: williamr@2: ////////////////////////////////////////////////////////// williamr@2: //General Functionality williamr@2: ////////////////////////////////////////////////////////// williamr@2: williamr@2: /** williamr@2: Unique parameter class identifier. williamr@2: */ williamr@2: enum williamr@2: { williamr@2: /** williamr@2: Unique reference identifier for Etel 3rd Party v1.0 parameter classes. williamr@2: */ williamr@2: KEtelISVV1 = 1, williamr@2: /** williamr@2: Unique reference identifier for Etel 3rd Party v2.0 parameter classes. williamr@2: */ williamr@2: KEtelISVV2 = 2 williamr@2: }; williamr@2: williamr@2: class TEtelISVType williamr@2: /** williamr@2: Specifies which version of an API parameter a client has used. williamr@2: For most ETel ISV v1.0/2.0 parameters this will equal KETelISV1. williamr@2: */ williamr@2: { williamr@2: public: williamr@2: IMPORT_C TInt VersionId() const; williamr@2: protected: williamr@2: TEtelISVType(); williamr@2: protected: williamr@2: TInt iVersionId; williamr@2: }; williamr@2: williamr@2: /** williamr@2: The maximum number of digits allowed in a multimode telephone number. williamr@2: */ williamr@2: enum { KMaxTelNumberSize = 100 }; williamr@2: williamr@2: /** williamr@2: Address types. williamr@2: */ williamr@2: enum TTelNumberTON williamr@2: { williamr@2: /** williamr@2: User or the network has no knowledge of the type of number. williamr@2: */ williamr@2: EUnknownNumber, williamr@2: /** williamr@2: International number. williamr@2: */ williamr@2: EInternationalNumber, williamr@2: /** williamr@2: National number. williamr@2: */ williamr@2: ENationalNumber, williamr@2: /** williamr@2: Administration/service number specific to the serving network, e.g. used to williamr@2: access an operator. williamr@2: */ williamr@2: ENetworkSpecificNumber, williamr@2: /** williamr@2: Subscriber number. williamr@2: */ williamr@2: ESubscriberNumber, williamr@2: /** williamr@2: Alphanumeric number. williamr@2: */ williamr@2: EAlphanumericNumber, williamr@2: /** williamr@2: Abbreviated number. williamr@2: */ williamr@2: EAbbreviatedNumber williamr@2: }; williamr@2: williamr@2: /** williamr@2: Number Plan Indicator. williamr@2: */ williamr@2: enum TTelNumberNPI williamr@2: { williamr@2: /** williamr@2: User or the network has no knowledge of the numbering plan. williamr@2: */ williamr@2: EUnknownNumberingPlan = 0, williamr@2: /** williamr@2: ISDN/telephony numbering plan. williamr@2: */ williamr@2: EIsdnNumberPlan = 1, williamr@2: /** williamr@2: Data numbering plan. williamr@2: */ williamr@2: EDataNumberPlan = 3, williamr@2: /** williamr@2: Telex numbering plan. williamr@2: */ williamr@2: ETelexNumberPlan = 4, williamr@2: /** williamr@2: Service centre specific plan used to indicate a numbering plan specific to external williamr@2: Short Message entities attached to the SMSC. williamr@2: */ williamr@2: EServiceCentreSpecificPlan1 = 5, williamr@2: /** williamr@2: Service centre specific plan used to indicate a numbering plan specific to external williamr@2: Short Message entities attached to the SMSC. williamr@2: */ williamr@2: EServiceCentreSpecificPlan2 = 6, williamr@2: /** williamr@2: National numbering plan. williamr@2: */ williamr@2: ENationalNumberPlan = 8, williamr@2: /** williamr@2: Private numbering plan. williamr@2: */ williamr@2: EPrivateNumberPlan = 9, williamr@2: /** williamr@2: ERMES numbering plan. williamr@2: */ williamr@2: EERMESNumberPlan = 10 williamr@2: }; williamr@2: williamr@2: /** williamr@2: A typedef to hold the telephone number. williamr@2: */ williamr@2: typedef TBuf TTelNumber; williamr@2: williamr@2: class TTelAddress williamr@2: /** williamr@2: Defines API abstraction of a mobile telephone number. williamr@2: */ williamr@2: { williamr@2: public: williamr@2: IMPORT_C TTelAddress(); williamr@2: public: williamr@2: /** williamr@2: Type of number. williamr@2: */ williamr@2: TTelNumberTON iTypeOfNumber; williamr@2: /** williamr@2: Number plan. williamr@2: */ williamr@2: TTelNumberNPI iNumberPlan; williamr@2: /** williamr@2: Telephone number. williamr@2: */ williamr@2: TTelNumber iTelNumber; williamr@2: }; williamr@2: williamr@2: ////////////////////////////////////////////////////////// williamr@2: // Phone Functionality williamr@2: ////////////////////////////////////////////////////////// williamr@2: williamr@2: /** williamr@2: Max size of Manufacturer Id. williamr@2: */ williamr@2: enum { KPhoneManufacturerIdSize = 50 }; williamr@2: /** williamr@2: Max size of Phone Model Id. williamr@2: */ williamr@2: enum { KPhoneModelIdSize = 50 }; williamr@2: /** williamr@2: Max size ofSerial Number. williamr@2: */ williamr@2: enum { KPhoneSerialNumberSize = 50 }; williamr@2: williamr@2: williamr@2: class TPhoneIdV1 : public TEtelISVType williamr@2: /** williamr@2: Defines the mobile phone identity. williamr@2: */ williamr@2: { williamr@2: public: williamr@2: IMPORT_C TPhoneIdV1(); williamr@2: public: williamr@2: /** williamr@2: Phone manufacturer identification, in character string format. williamr@2: */ williamr@2: TBuf iManufacturer; williamr@2: /** williamr@2: Phone model identification, in character string format. williamr@2: */ williamr@2: TBuf iModel; williamr@2: /** williamr@2: Phone serial number (IMEI or ESN), in character string format. williamr@2: */ williamr@2: TBuf iSerialNumber; williamr@2: }; williamr@2: williamr@2: /** williamr@2: A typedef'd packaged CTelephony::TPhoneIdV1 for passing through a generic API method williamr@2: */ williamr@2: typedef TPckg TPhoneIdV1Pckg; williamr@2: williamr@2: /** williamr@2: Maximum size of IMSI identifier. williamr@2: */ williamr@2: enum { KIMSISize = 15 }; williamr@2: williamr@2: class TSubscriberIdV1 : public TEtelISVType williamr@2: /** williamr@2: Defines the Subscriber (IMSI) Id williamr@2: */ williamr@2: { williamr@2: public: williamr@2: IMPORT_C TSubscriberIdV1(); williamr@2: public: williamr@2: /** williamr@2: IMSI identifier. williamr@2: */ williamr@2: TBuf iSubscriberId; williamr@2: }; williamr@2: williamr@2: /** williamr@2: A typedef'd packaged CTelephony::TSubscriberIdV1 for passing through a generic API method. williamr@2: */ williamr@2: typedef TPckg TSubscriberIdV1Pckg; williamr@2: williamr@2: /** williamr@2: The flight mode status. williamr@2: */ williamr@2: enum TFlightModeStatus williamr@2: { williamr@2: /** williamr@2: Flight mode is off. williamr@2: */ williamr@2: EFlightModeOff = 0, williamr@2: /** williamr@2: Flight mode is on. williamr@2: */ williamr@2: EFlightModeOn = 1, williamr@2: }; williamr@2: williamr@2: class TFlightModeV1 : public TEtelISVType williamr@2: /** williamr@2: Defines the flight mode status. williamr@2: */ williamr@2: { williamr@2: public: williamr@2: IMPORT_C TFlightModeV1(); williamr@2: public: williamr@2: /** williamr@2: The current status of the mobile radio interface and bluetooth. williamr@2: */ williamr@2: TFlightModeStatus iFlightModeStatus; williamr@2: }; williamr@2: williamr@2: /** williamr@2: A typedef'd packaged CTelephony::TFlightModeV1 for passing through a generic API method. williamr@2: */ williamr@2: typedef TPckg TFlightModeV1Pckg; williamr@2: williamr@2: /** williamr@2: The mobile phone indicators. williamr@2: */ williamr@2: enum TPhoneIndicators williamr@2: { williamr@2: /** williamr@2: If bit-flag is set to '1' indicates that the battery charger williamr@2: is connected to the phone. If bit-flag is set to '0' indicates williamr@2: that the battery charger is disconnected williamr@2: williamr@2: For capability: If bit-flag is set to '0' indicates that the williamr@2: battery charger indication reporting is unavailable. williamr@2: */ williamr@2: KIndChargerConnected = 0x00000001, williamr@2: /** williamr@2: If bit-flag is set to '1' indicates that network service is williamr@2: available. If bit-flag is set to '0' indicates that network williamr@2: service is unavailable williamr@2: williamr@2: For capability: If bit-flag is set to '0' indicates that the williamr@2: network availability indication reporting is unavailable. williamr@2: */ williamr@2: KIndNetworkAvailable = 0x00000002, williamr@2: /** williamr@2: If bit-flag is set to '1' indicates that a call is in williamr@2: progress. If set to '0' indicates that a call is not in williamr@2: progress williamr@2: williamr@2: For capability: If bit-flag is set to '0' indicates williamr@2: that the call is in progress indication reporting is williamr@2: unavailable. williamr@2: */ williamr@2: KIndCallInProgress = 0x00000004 williamr@2: }; williamr@2: williamr@2: class TIndicatorV1 : public TEtelISVType williamr@2: /** williamr@2: Contains indicator parameters: williamr@2: @see TPhoneIndicators williamr@2: */ williamr@2: { williamr@2: public: williamr@2: IMPORT_C TIndicatorV1(); williamr@2: public: williamr@2: /** williamr@2: The value of the indicators. It is the sum williamr@2: of CTelephony::TPhoneIndicators constants. williamr@2: */ williamr@2: TUint32 iIndicator; williamr@2: /** williamr@2: The supported (available) indicator capability that the telephony service module offers. williamr@2: It is the sum of CTelephony::TPhoneIndicators constants. williamr@2: */ williamr@2: TUint32 iCapabilities; williamr@2: }; williamr@2: williamr@2: /** williamr@2: A typedef'd packaged CTelephony::TIndicatorV1 for passing through a generic API method. williamr@2: */ williamr@2: typedef TPckg TIndicatorV1Pckg; williamr@2: williamr@2: /** williamr@2: The mobile phone battery status. williamr@2: */ williamr@2: enum TBatteryStatus williamr@2: { williamr@2: /** williamr@2: The phone software can not determine the phone's current power status. williamr@2: */ williamr@2: EPowerStatusUnknown, williamr@2: /** williamr@2: The phone is powered by the battery. williamr@2: */ williamr@2: EPoweredByBattery, williamr@2: /** williamr@2: A battery is connected, but the phone is externally powered. williamr@2: */ williamr@2: EBatteryConnectedButExternallyPowered, williamr@2: /** williamr@2: No battery is connected. williamr@2: */ williamr@2: ENoBatteryConnected, williamr@2: /** williamr@2: Power fault. williamr@2: */ williamr@2: EPowerFault williamr@2: }; williamr@2: williamr@2: class TBatteryInfoV1 : public TEtelISVType williamr@2: /** williamr@2: Defines contents of the battery status of the phone. williamr@2: */ williamr@2: { williamr@2: public: williamr@2: IMPORT_C TBatteryInfoV1(); williamr@2: public: williamr@2: /** williamr@2: The power and battery status. williamr@2: */ williamr@2: TBatteryStatus iStatus; williamr@2: /** williamr@2: The percentage battery charge level. williamr@2: */ williamr@2: TUint iChargeLevel; williamr@2: }; williamr@2: williamr@2: /** williamr@2: A typedef'd packaged CTelephony::TBatteryInfoV1 for passing through a generic API method. williamr@2: */ williamr@2: typedef TPckg TBatteryInfoV1Pckg; williamr@2: williamr@2: class TSignalStrengthV1 : public TEtelISVType williamr@2: /** williamr@2: Defines the phone's current signal strength. williamr@2: */ williamr@2: { williamr@2: public: williamr@2: IMPORT_C TSignalStrengthV1(); williamr@2: public: williamr@2: /** williamr@2: The value of signal strength. williamr@2: */ williamr@2: TInt32 iSignalStrength; williamr@2: /** williamr@2: The absolute number of signal "bars" that the phone should display. williamr@2: */ williamr@2: TInt8 iBar; williamr@2: }; williamr@2: williamr@2: /** williamr@2: A typedef'd packaged CTelephony::TSignalStrengthV1 for passing through a generic API method. williamr@2: */ williamr@2: typedef TPckg TSignalStrengthV1Pckg; williamr@2: williamr@2: /** williamr@2: Pin 1/Pin 2 security williamr@2: */ williamr@2: enum TIccLock williamr@2: { williamr@2: /** williamr@2: Lock PIN1 on the ICC. williamr@2: */ williamr@2: ELockPin1, williamr@2: /** williamr@2: Lock PIN2 on the ICC. williamr@2: */ williamr@2: ELockPin2 williamr@2: }; williamr@2: williamr@2: /** williamr@2: Status of an ICC lock. williamr@2: */ williamr@2: enum TIccLockStatus williamr@2: { williamr@2: /** williamr@2: The status of the lock is unknown. williamr@2: */ williamr@2: EStatusLockUnknown, williamr@2: /** williamr@2: Lock is closed. williamr@2: williamr@2: User can not access functionality governed by this lock until williamr@2: user correctly enters associated security code. williamr@2: */ williamr@2: EStatusLocked, williamr@2: /** williamr@2: Lock is open. williamr@2: williamr@2: User can access functionality governed by this lock williamr@2: */ williamr@2: EStatusUnlocked, williamr@2: /** williamr@2: Lock is blocked. williamr@2: williamr@2: User should enter the unblocking code to be able to switch back to the unlocked mode. williamr@2: Blocking is enabled after a number of unsuccessful attempts to verify PIN1/2. williamr@2: */ williamr@2: EStatusBlocked williamr@2: }; williamr@2: williamr@2: /** williamr@2: Setting of the ICC lock. williamr@2: */ williamr@2: enum TIccLockSetting williamr@2: { williamr@2: /** williamr@2: The setting of the lock is unknown. williamr@2: */ williamr@2: ELockSetUnknown, williamr@2: /** williamr@2: Lock is enabled, and is available for use. Its status may be williamr@2: CTelephony::EStatusLocked, CTelephony::EStatusUnlocked, williamr@2: or CTelephony::EStatusBlocked. williamr@2: williamr@2: The associated security code will be required to unlock the lock williamr@2: the next time the lock's status is CTelephony::EStatusLocked. williamr@2: */ williamr@2: ELockSetEnabled, williamr@2: /** williamr@2: Lock is disabled. It is not available for use, so its status williamr@2: is always CTelephony::EStatusUnlocked. williamr@2: */ williamr@2: ELockSetDisabled williamr@2: }; williamr@2: williamr@2: class TIccLockInfoV1 : public TEtelISVType williamr@2: /** williamr@2: Defines the Icc Lock parameters. williamr@2: */ williamr@2: { williamr@2: public: williamr@2: IMPORT_C TIccLockInfoV1(); williamr@2: public: williamr@2: /** williamr@2: The current status of the lock. williamr@2: */ williamr@2: TIccLockStatus iStatus; williamr@2: /** williamr@2: The current availability of the lock. When not available (i.e. the williamr@2: lock is not in use) then its status will always be CTelephony::EStatusUnlocked. williamr@2: */ williamr@2: TIccLockSetting iSetting; williamr@2: }; williamr@2: williamr@2: /** williamr@2: A typedef'd packaged CTelephony::TIccLockInfoV1 for passing through a generic API method. williamr@2: */ williamr@2: typedef TPckg TIccLockInfoV1Pckg; williamr@2: williamr@2: ////////////////////////////////////////////////////////// williamr@2: // Line Functionality williamr@2: ////////////////////////////////////////////////////////// williamr@2: williamr@2: /** williamr@2: Line types williamr@2: */ williamr@2: enum TPhoneLine williamr@2: { williamr@2: /** williamr@2: Voice line. williamr@2: */ williamr@2: EVoiceLine, williamr@2: /** williamr@2: Data line. williamr@2: */ williamr@2: EDataLine, williamr@2: /** williamr@2: Fax line. williamr@2: */ williamr@2: EFaxLine, williamr@2: }; williamr@2: williamr@2: /** williamr@2: Describes the possible call or line states. williamr@2: */ williamr@2: enum TCallStatus williamr@2: { williamr@2: /** williamr@2: Indicates that the status is unknown. williamr@2: */ williamr@2: EStatusUnknown, williamr@2: /** williamr@2: Idle line status (no active calls). williamr@2: */ williamr@2: EStatusIdle, williamr@2: /** williamr@2: Call dialling status . williamr@2: */ williamr@2: EStatusDialling, williamr@2: /** williamr@2: Call ringing status. williamr@2: */ williamr@2: EStatusRinging, williamr@2: /** williamr@2: Call answering status. williamr@2: */ williamr@2: EStatusAnswering, williamr@2: /** williamr@2: Call connecting status. williamr@2: */ williamr@2: EStatusConnecting, williamr@2: /** williamr@2: Call connected status. williamr@2: */ williamr@2: EStatusConnected, williamr@2: /** williamr@2: Call is undergoing temporary channel loss and it may or may not be reconnected. williamr@2: */ williamr@2: EStatusReconnectPending, williamr@2: /** williamr@2: Call disconnecting status. williamr@2: */ williamr@2: EStatusDisconnecting, williamr@2: /** williamr@2: Call on hold. williamr@2: */ williamr@2: EStatusHold, williamr@2: /** williamr@2: Call is transferring. williamr@2: */ williamr@2: EStatusTransferring, williamr@2: /** williamr@2: Call in transfer is alerting the remote party. williamr@2: */ williamr@2: EStatusTransferAlerting williamr@2: }; williamr@2: williamr@2: class TCallStatusV1 : public TEtelISVType williamr@2: /** williamr@2: Defines the current call or line status. williamr@2: */ williamr@2: { williamr@2: public: williamr@2: IMPORT_C TCallStatusV1(); williamr@2: public: williamr@2: /** williamr@2: The current call or line status. williamr@2: */ williamr@2: TCallStatus iStatus; williamr@2: }; williamr@2: williamr@2: /** williamr@2: A typedef'd packaged CTelephony::TCallStatusV1 for passing through a generic API method. williamr@2: */ williamr@2: typedef TPckg TCallStatusV1Pckg; williamr@2: williamr@2: /** williamr@2: Select a call defined by it current stats. williamr@2: */ williamr@2: enum TCallSelect williamr@2: { williamr@2: /** williamr@2: Currently active call. williamr@2: */ williamr@2: EActiveCall, williamr@2: /** williamr@2: Currently held (applicable only for voice) call. williamr@2: */ williamr@2: EHeldCall, williamr@2: /** williamr@2: Call during the setup/disconnecting process - (dialling/connecting/answering/hanging up). williamr@2: */ williamr@2: EInProgressCall williamr@2: }; williamr@2: williamr@2: class TCallSelectionV1 : public TEtelISVType williamr@2: /** williamr@2: Defines parameters to select a call, determined by its call state for a specific line williamr@2: */ williamr@2: { williamr@2: public: williamr@2: IMPORT_C TCallSelectionV1(); williamr@2: public: williamr@2: /** williamr@2: The current phone line selection. williamr@2: */ williamr@2: TPhoneLine iLine; williamr@2: /** williamr@2: The current call selection. williamr@2: */ williamr@2: TCallSelect iSelect; williamr@2: }; williamr@2: williamr@2: /** williamr@2: A typedef'd packaged CTelephony::TCallSelectionV1 for passing through a generic API method. williamr@2: */ williamr@2: typedef TPckg TCallSelectionV1Pckg; williamr@2: williamr@2: /** williamr@2: Etel 3rd Party owned call identifiers williamr@2: */ williamr@2: enum TCallId williamr@2: { williamr@2: /** williamr@2: Call owned by this ISV application. williamr@2: */ williamr@2: EISVCall1, williamr@2: /** williamr@2: Call owned by this ISV application. williamr@2: */ williamr@2: EISVCall2, williamr@2: /** williamr@2: Max number of calls supported by Etel 3rd Party. williamr@2: */ williamr@2: EISVMaxNumOfCalls williamr@2: }; williamr@2: williamr@2: /** williamr@2: Remote party identity status. williamr@2: */ williamr@2: enum TCallRemoteIdentityStatus williamr@2: { williamr@2: /** williamr@2: The remote party's identity can not be determined. williamr@2: */ williamr@2: ERemoteIdentityUnknown, williamr@2: /** williamr@2: The remote party's identity is available. williamr@2: */ williamr@2: ERemoteIdentityAvailable, williamr@2: /** williamr@2: The remote party has suppressed the transmission of its identity. williamr@2: */ williamr@2: ERemoteIdentitySuppressed williamr@2: }; williamr@2: williamr@2: /** williamr@2: The direction of the call. williamr@2: */ williamr@2: enum TCallDirection williamr@2: { williamr@2: /** williamr@2: The direction of the call is unknown. williamr@2: */ williamr@2: EDirectionUnknown, williamr@2: /** williamr@2: The call was originated by this phone, i.e. it is an outgoing call. williamr@2: */ williamr@2: EMobileOriginated, williamr@2: /** williamr@2: The call was terminated by this phone, i.e. it is an incoming call. williamr@2: */ williamr@2: EMobileTerminated williamr@2: }; williamr@2: williamr@2: /** williamr@2: Enumerated network security types. williamr@2: */ williamr@2: enum TPhoneNetworkSecurity williamr@2: { williamr@2: /** williamr@2: The encryption level is NONE. williamr@2: */ williamr@2: ECipheringOff, williamr@2: /** williamr@2: The encryption level is GSM.(standard encryption algorithms for 2nd Generation Mobile networks). williamr@2: */ williamr@2: ECipheringGSM, williamr@2: /** williamr@2: The encryption level is WDCMA.(standard encryption algorithms for 3rd Generation Mobile networks). williamr@2: */ williamr@2: ECipheringWCDMA williamr@2: }; williamr@2: williamr@2: class TCallInfoV1 : public TEtelISVType williamr@2: /** williamr@2: Defines general information about a call. williamr@2: */ williamr@2: { williamr@2: public: williamr@2: IMPORT_C TCallInfoV1(); williamr@2: public: williamr@2: /** williamr@2: The current status of the call. williamr@2: */ williamr@2: TCallStatus iStatus; williamr@2: /** williamr@2: The time & date the call started. williamr@2: */ williamr@2: TDateTime iStartTime; williamr@2: /** williamr@2: The current duration of the call. williamr@2: */ williamr@2: TTimeIntervalSeconds iDuration; williamr@2: /** williamr@2: The original number (including DTMF) dialled for an outgoing call. williamr@2: */ williamr@2: TTelAddress iDialledParty; williamr@2: /** williamr@2: The reason for termination of a finished call. williamr@2: Will equal KErrNone if the call ended normally and KErrNotFound if the call has not ended. williamr@2: */ williamr@2: TInt iExitCode; williamr@2: /** williamr@2: This attribute indicates whether Ciphering Status of a Call is enabled or disabled. williamr@2: */ williamr@2: TPhoneNetworkSecurity iSecurity; williamr@2: /** williamr@2: The call id of an ISV application owned call. For calls not owned by this ISV application (-1) is returned. williamr@2: */ williamr@2: TInt iCallId; williamr@2: }; williamr@2: williamr@2: /** williamr@2: A typedef'd packaged CTelephony::TCallInfoV1 for passing through a generic API method. williamr@2: */ williamr@2: typedef TPckg TCallInfoV1Pckg; williamr@2: williamr@2: /** williamr@2: Maximum size of the calling party name. williamr@2: */ williamr@2: enum { KCallingNameSize = 80 }; williamr@2: williamr@2: class TRemotePartyInfoV1 : public TEtelISVType williamr@2: { williamr@2: /** williamr@2: Defines information about the remote party of a call. williamr@2: */ williamr@2: public: williamr@2: IMPORT_C TRemotePartyInfoV1(); williamr@2: public: williamr@2: /** williamr@2: Indicates whether the remote party information in the rest of this structure is valid or not. williamr@2: */ williamr@2: TCallRemoteIdentityStatus iRemoteIdStatus; williamr@2: /** williamr@2: Calling party name available through the CNAP supplementary service (if provisioned). williamr@2: */ williamr@2: TBuf iCallingName; williamr@2: /** williamr@2: The phone number of the remote party if available. williamr@2: */ williamr@2: TTelAddress iRemoteNumber; williamr@2: /** williamr@2: The direction of the call and hence the role of the remote party. williamr@2: i.e. if the call is mobile originated then the remote party is the called party. williamr@2: Whereas if the call is mobile terminated then the remote party is the calling party. williamr@2: */ williamr@2: TCallDirection iDirection; williamr@2: }; williamr@2: williamr@2: /** williamr@2: A typedef'd packaged CTelephony::TRemotePartyInfoV1 for passing through a generic API method. williamr@2: */ williamr@2: typedef TPckg TRemotePartyInfoV1Pckg; williamr@2: williamr@2: ////////////////////////////////////////////////////////// williamr@2: // Call Functionality williamr@2: ////////////////////////////////////////////////////////// williamr@2: williamr@2: /** williamr@2: Caller Id restriction settings. williamr@2: */ williamr@2: enum TCallerIdentityRestrict williamr@2: { williamr@2: /** williamr@2: The default setting should be used if the user has not explicitly requested their identity to be restricted/allowed. williamr@2: */ williamr@2: EIdRestrictDefault, williamr@2: /** williamr@2: The user has explicitly requested their identity to be sent for this call. williamr@2: */ williamr@2: ESendMyId, williamr@2: /** williamr@2: The user has explicitly requested their identity not to be sent for this call. williamr@2: */ williamr@2: EDontSendMyId williamr@2: }; williamr@2: williamr@2: class TCallParamsV1 : public TEtelISVType williamr@2: { williamr@2: /** williamr@2: Defines the parameters used for set-up of a call. williamr@2: */ williamr@2: public: williamr@2: IMPORT_C TCallParamsV1(); williamr@2: public: williamr@2: /** williamr@2: Call Id restriction setting to be used for this call. williamr@2: */ williamr@2: TCallerIdentityRestrict iIdRestrict; williamr@2: }; williamr@2: williamr@2: /** williamr@2: A typedef'd packaged CTelephony::TCallParamsV1 for passing through a generic API method. williamr@2: */ williamr@2: typedef TPckg TCallParamsV1Pckg; williamr@2: williamr@2: /** williamr@2: Mobile call control capabilities. williamr@2: */ williamr@2: enum TMobileCallControlCaps williamr@2: { williamr@2: /** williamr@2: Indicates that this call can be put on hold. williamr@2: This implies that the call is currently active and that there is no other held call. williamr@2: */ williamr@2: KCapsHold = 0x00000200, williamr@2: /** williamr@2: Indicates that this call can be resumed. williamr@2: This implies that the call is currently on hold and that there is no other active call. williamr@2: */ williamr@2: KCapsResume = 0x00000400, williamr@2: /** williamr@2: Indicates that this call's state can be swapped to the opposite state. williamr@2: This implies that this call is either active or held. williamr@2: 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. williamr@2: */ williamr@2: KCapsSwap = 0x00000800 williamr@2: }; williamr@2: williamr@2: class TCallCapsV1 : public TEtelISVType williamr@2: { williamr@2: /** williamr@2: Defines the dynamic capabilities of a call. williamr@2: @see TMobileCallControlCaps williamr@2: */ williamr@2: public: williamr@2: IMPORT_C TCallCapsV1(); williamr@2: public: williamr@2: /** williamr@2: Call Id restriction setting to be used for this call. williamr@2: It is the sum of CTelephony::TMobileCallControlCaps constants. williamr@2: */ williamr@2: TUint32 iControlCaps; williamr@2: }; williamr@2: williamr@2: /** williamr@2: A typedef'd packaged CTelephony::TCallParamsV1 for passing through a generic API method. williamr@2: */ williamr@2: typedef TPckg TCallCapsV1Pckg; williamr@2: williamr@2: williamr@2: ////////////////////////////////////////////////////////// williamr@2: // Network Functionality williamr@2: ////////////////////////////////////////////////////////// williamr@2: williamr@2: /** williamr@2: The registration status of the phone. williamr@2: */ williamr@2: enum TRegistrationStatus williamr@2: { williamr@2: /** williamr@2: Registration status is unknown. williamr@2: */ williamr@2: ERegistrationUnknown, williamr@2: /** williamr@2: Not registered. The ME can not detect any other networks and is not currently searching a new operator to register to. williamr@2: */ williamr@2: ENotRegisteredNoService, williamr@2: /** williamr@2: Not registered. The ME can detect other networks on which it is possible to make emergency calls only. williamr@2: */ williamr@2: ENotRegisteredEmergencyOnly, williamr@2: /** williamr@2: Not registered, but the ME is currently searching a new operator to register to. williamr@2: */ williamr@2: ENotRegisteredSearching, williamr@2: /** williamr@2: Registered, network busy. williamr@2: */ williamr@2: ERegisteredBusy, williamr@2: /** williamr@2: Registered on home network. williamr@2: */ williamr@2: ERegisteredOnHomeNetwork, williamr@2: /** williamr@2: Registration denied. williamr@2: */ williamr@2: ERegistrationDenied, williamr@2: /** williamr@2: Registered, roaming. williamr@2: */ williamr@2: ERegisteredRoaming williamr@2: }; williamr@2: williamr@2: class TNetworkRegistrationV1 : public TEtelISVType williamr@2: /** williamr@2: Defines the current network registration status williamr@2: */ williamr@2: { williamr@2: public: williamr@2: IMPORT_C TNetworkRegistrationV1(); williamr@2: public: williamr@2: /** williamr@2: The current network registration status. williamr@2: */ williamr@2: TRegistrationStatus iRegStatus; williamr@2: }; williamr@2: williamr@2: /** williamr@2: A typedef'd packaged CTelephony::TNetworkRegistrationV1 for passing through a generic API method. williamr@2: */ williamr@2: typedef TPckg TNetworkRegistrationV1Pckg; williamr@2: williamr@2: /***********************************************/ williamr@2: // CTelephony::TNetworkInfoV1 williamr@2: williamr@2: /** williamr@2: Maximum size of the network country code. williamr@2: */ williamr@2: enum { KNetworkCountryCodeSize = 4 }; williamr@2: /** williamr@2: Maximum size of the network identity.. williamr@2: */ williamr@2: enum { KNetworkIdentitySize = 8 }; williamr@2: /** williamr@2: Maximum size of the network display tag.. williamr@2: */ williamr@2: enum { KNetworkDisplayTagSize = 32 }; williamr@2: /** williamr@2: Maximum size of the short network name. williamr@2: */ williamr@2: enum { KNetworkShortNameSize = 8 }; williamr@2: /** williamr@2: Maximum size of the long network name. williamr@2: */ williamr@2: enum { KNetworkLongNameSize = 16 }; williamr@2: /** williamr@2: Maximum size of the short network name version 2. williamr@2: */ williamr@2: enum { KNetworkShortNameSizeV2 = 10 }; williamr@2: /** williamr@2: Maximum size of the long network name version 2. williamr@2: */ williamr@2: enum { KNetworkLongNameSizeV2 = 20 }; williamr@2: williamr@2: /** williamr@2: Defines Current Network Modes. williamr@2: */ williamr@2: enum TNetworkMode williamr@2: { williamr@2: /** williamr@2: Network mode is unknown. williamr@2: */ williamr@2: ENetworkModeUnknown, williamr@2: /** williamr@2: Mobile device is not registered. williamr@2: */ williamr@2: ENetworkModeUnregistered, williamr@2: /** williamr@2: GSM/GPRS or DCS1800 network. williamr@2: */ williamr@2: ENetworkModeGsm, williamr@2: /** williamr@2: AMPS network. williamr@2: */ williamr@2: ENetworkModeAmps, williamr@2: /** williamr@2: CDMA (IS-95) network. williamr@2: */ williamr@2: ENetworkModeCdma95, williamr@2: /** williamr@2: CDMA (cdma2000) network. williamr@2: */ williamr@2: ENetworkModeCdma2000, williamr@2: /** williamr@2: WCDMA (UTRA Frequency Division Duplex (FDD)) network. williamr@2: */ williamr@2: ENetworkModeWcdma, williamr@2: /** williamr@2: TD-CDMA (UTRA Time Division Duplex (TDD)) network. williamr@2: */ williamr@2: ENetworkModeTdcdma williamr@2: }; williamr@2: williamr@2: /** williamr@2: The access technology that the network is based on. williamr@2: */ williamr@2: enum TNetworkAccess williamr@2: { williamr@2: /** williamr@2: This is used when there is no network activity and therefore no RAT active. williamr@2: */ williamr@2: ENetworkAccessUnknown, williamr@2: /** williamr@2: The access technology is GSM. williamr@2: */ williamr@2: ENetworkAccessGsm, williamr@2: /** williamr@2: The access technology is GSM COMPACT. williamr@2: However GSM COMPACT systems which use GSM frequency bands but with the CBPCCH broadcast channel are considered as a separate access technology from GSM. williamr@2: */ williamr@2: ENetworkAccessGsmCompact, williamr@2: /** williamr@2: The access technology is UTRAN (UMTS Network). williamr@2: */ williamr@2: ENetworkAccessUtran williamr@2: }; williamr@2: williamr@2: /** williamr@2: Phone network status. williamr@2: */ williamr@2: enum TNetworkStatus williamr@2: { williamr@2: /** williamr@2: Status is unknown. williamr@2: */ williamr@2: ENetworkStatusUnknown, williamr@2: /** williamr@2: A network that the mobile device is allowed to register to. williamr@2: */ williamr@2: ENetworkStatusAvailable, williamr@2: /** williamr@2: Currently registered network. williamr@2: */ williamr@2: ENetworkStatusCurrent, williamr@2: /** williamr@2: A network that the ME is not allowed to register to. williamr@2: */ williamr@2: ENetworkStatusForbidden williamr@2: }; williamr@2: williamr@2: /** williamr@2: Mobile phone network band information. williamr@2: */ williamr@2: enum TNetworkBandInfo williamr@2: { williamr@2: /** williamr@2: The current band and band class is unknown. williamr@2: */ williamr@2: EBandUnknown, williamr@2: /** williamr@2: The network operates at 800MHz on Band A. williamr@2: */ williamr@2: E800BandA, williamr@2: /** williamr@2: The network operates at 800MHz on Band B. williamr@2: */ williamr@2: E800BandB, williamr@2: /** williamr@2: The network operates at 800MHz on Band C. williamr@2: */ williamr@2: E800BandC, williamr@2: /** williamr@2: The network operates at 1900MHz on Band A. williamr@2: */ williamr@2: E1900BandA, williamr@2: /** williamr@2: The network operates at 1900MHz on Band B. williamr@2: */ williamr@2: E1900BandB, williamr@2: /** williamr@2: The network operates at 1900MHz on Band C. williamr@2: */ williamr@2: E1900BandC, williamr@2: /** williamr@2: The network operates at 1900MHz on Band D. williamr@2: */ williamr@2: E1900BandD, williamr@2: /** williamr@2: The network operates at 1900MHz on Band E. williamr@2: */ williamr@2: E1900BandE, williamr@2: /** williamr@2: The network operates at 1900MHz on Band F. williamr@2: */ williamr@2: E1900BandF williamr@2: }; williamr@2: williamr@2: /** williamr@2: Defines information related to a mobile phone network. williamr@2: williamr@2: @see CTelephony::TNetworkInfoV2 williamr@2: */ williamr@2: class TNetworkInfoV1 : public TEtelISVType williamr@2: { williamr@2: public: williamr@2: IMPORT_C TNetworkInfoV1(); williamr@2: public: williamr@2: /** williamr@2: Mode of the network. williamr@2: */ williamr@2: TNetworkMode iMode; williamr@2: /** williamr@2: Status of the network williamr@2: */ williamr@2: TNetworkStatus iStatus; williamr@2: /** williamr@2: The MCC of the network. williamr@2: */ williamr@2: TBuf iCountryCode; williamr@2: /** williamr@2: The network identity (NID in CDMA and MNC in GSM). williamr@2: */ williamr@2: TBuf iNetworkId; williamr@2: /** williamr@2: The alpha-tag displayed when this is the serving network. williamr@2: */ williamr@2: TBuf iDisplayTag; williamr@2: /** williamr@2: On GSM/WCDMA networks, the short name (up to 8 characters) of the network operator. williamr@2: */ williamr@2: TBuf iShortName; williamr@2: /** williamr@2: On CDMA networks, the band and band class of the CDMA network operator. williamr@2: */ williamr@2: TNetworkBandInfo iBandInfo; williamr@2: /** williamr@2: On CDMA networks, the system identity (SID) of the CDMA or AMPS network williamr@2: */ williamr@2: TBuf iCdmaSID; williamr@2: /** williamr@2: On GSM/WCDMA networks, the long name (up to 16 characters) of the network operator. williamr@2: */ williamr@2: TBuf iLongName; williamr@2: /** williamr@2: On GSM/WCDMA networks, the type of network access. williamr@2: */ williamr@2: TNetworkAccess iAccess; williamr@2: /** williamr@2: On GSM/WCDMA networks, boolean indicating whether the location area is known. williamr@2: */ williamr@2: TBool iAreaKnown; williamr@2: /** williamr@2: On GSM/WCDMA networks, the location area code. Only valid when iAreaKnown is true. williamr@2: */ williamr@2: TUint iLocationAreaCode; williamr@2: /** williamr@2: On GSM/WCDMA networks, the cell identity code. Only valid when iAreaKnown is true. williamr@2: */ williamr@2: TUint iCellId; williamr@2: }; williamr@2: williamr@2: /** williamr@2: A typedef'd packaged CTelephony::TNetworkInfoV1 for passing through a generic API method. williamr@2: */ williamr@2: typedef TPckg TNetworkInfoV1Pckg; williamr@2: williamr@2: class TNetworkNameV1 : public TEtelISVType williamr@2: /** williamr@2: Defines the name network name. williamr@2: williamr@2: Note: This information is only available on GSM/WCDMA networks. williamr@2: */ williamr@2: { williamr@2: public: williamr@2: IMPORT_C TNetworkNameV1(); williamr@2: public: williamr@2: /** williamr@2: The displayed name (up to 16 characters) of the network provider. williamr@2: */ williamr@2: TBuf iNetworkName; williamr@2: }; williamr@2: williamr@2: /** williamr@2: A typedef'd packaged CTelephony::TNetworkNameV1 for passing through a generic API method. williamr@2: */ williamr@2: typedef TPckg TNetworkNameV1Pckg; williamr@2: williamr@2: class TOperatorNameV1 : public TEtelISVType williamr@2: /** williamr@2: Defines the current operator. williamr@2: williamr@2: Note: This information is only available on GSM/WCDMA networks. williamr@2: */ williamr@2: { williamr@2: public: williamr@2: IMPORT_C TOperatorNameV1(); williamr@2: public: williamr@2: /** williamr@2: The displayed name (up to 16 characters) of the network operator. williamr@2: */ williamr@2: TBuf iOperatorName; williamr@2: }; williamr@2: williamr@2: /** williamr@2: A typedef'd packaged CTelephony::TOperatorNameV1 for passing through a generic API method. williamr@2: */ williamr@2: typedef TPckg TOperatorNameV1Pckg; williamr@2: williamr@2: williamr@2: /** williamr@2: Defines information related to a mobile phone network. williamr@2: TNetworkInfoV2 differs from Version 1 (TNetworkInfoV1) in that the williamr@2: length of iShortName and iLongName are 10 and 20 respectively williamr@2: (rather than 8 and 16). williamr@2: williamr@2: TNetworkInfoV2 should be used in preference to TNetworkInfoV1. The williamr@2: short and long network names provided in this V2 class are of the williamr@2: length supplied by the platform. The V1 class's names will be williamr@2: truncated if the platform provides names longer than its limits. williamr@2: */ williamr@2: class TNetworkInfoV2 : public TEtelISVType williamr@2: { williamr@2: public: williamr@2: IMPORT_C TNetworkInfoV2(); williamr@2: public: williamr@2: /** williamr@2: Mode of the network. williamr@2: */ williamr@2: TNetworkMode iMode; williamr@2: /** williamr@2: Status of the network. williamr@2: */ williamr@2: TNetworkStatus iStatus; williamr@2: /** williamr@2: The MCC of the network. williamr@2: */ williamr@2: TBuf iCountryCode; williamr@2: /** williamr@2: The network identity (NID in CDMA and MNC in GSM). williamr@2: */ williamr@2: TBuf iNetworkId; williamr@2: /** williamr@2: The alpha-tag displayed when this is the serving network. williamr@2: */ williamr@2: TBuf iDisplayTag; williamr@2: /** williamr@2: On GSM/WCDMA networks, the short name (up to 10 characters) of the network operator. williamr@2: */ williamr@2: TBuf iShortName; williamr@2: /** williamr@2: On CDMA networks, the band and band class of the CDMA network operator. williamr@2: */ williamr@2: TNetworkBandInfo iBandInfo; williamr@2: /** williamr@2: On CDMA networks, the system identity (SID) of the CDMA or AMPS network. williamr@2: */ williamr@2: TBuf iCdmaSID; williamr@2: /** williamr@2: On GSM/WCDMA networks, the long name (up to 20 characters) of the network operator. williamr@2: */ williamr@2: TBuf iLongName; williamr@2: /** williamr@2: On GSM/WCDMA networks, the type of network access. williamr@2: */ williamr@2: TNetworkAccess iAccess; williamr@2: /** williamr@2: On GSM/WCDMA networks, boolean indicating whether the location area is known. williamr@2: */ williamr@2: TBool iAreaKnown; williamr@2: /** williamr@2: On GSM/WCDMA networks, the location area code. Only valid when iAreaKnown is true. williamr@2: */ williamr@2: TUint iLocationAreaCode; williamr@2: /** williamr@2: On GSM/WCDMA networks, the cell identity code. Only valid when iAreaKnown is true. williamr@2: */ williamr@2: TUint iCellId; williamr@2: }; williamr@2: williamr@2: /** williamr@2: A typedef'd packaged CTelephony::TNetworkInfoV2 for passing williamr@2: through a generic API method. williamr@2: */ williamr@2: typedef TPckg TNetworkInfoV2Pckg; williamr@2: williamr@2: /** williamr@2: Defines the name network name. williamr@2: TNetworkNameV2 differs from Version 1 (TNetworkNameV1) in that the williamr@2: length of iNetworkName is 20 (rather than 16). williamr@2: williamr@2: TNetworkNameV2 should be used in preference to TNetworkNameV1. The williamr@2: network name provided in this V2 class is of the length supplied williamr@2: by the platform. The V1 class' network name will be truncated if williamr@2: the platform provides a name longer than V1 name's limit. williamr@2: williamr@2: Note: This information is only available on GSM/WCDMA networks. williamr@2: */ williamr@2: class TNetworkNameV2 : public TEtelISVType williamr@2: { williamr@2: public: williamr@2: IMPORT_C TNetworkNameV2(); williamr@2: public: williamr@2: /** williamr@2: The displayed name (up to 20 characters) of the network provider. williamr@2: */ williamr@2: TBuf iNetworkName; williamr@2: }; williamr@2: williamr@2: /** williamr@2: A typedef'd packaged CTelephony::TNetworkNameV2 for passing through williamr@2: a generic API method. TNetworkNameV2 differs from Version 1 in williamr@2: that the length of iNetworkName is 20 rather than 16. williamr@2: */ williamr@2: typedef TPckg TNetworkNameV2Pckg; williamr@2: williamr@2: ////////////////////////////////////////////////////////// williamr@2: // (Basic) Supplementary Services Functionality williamr@2: ////////////////////////////////////////////////////////// williamr@2: williamr@2: /** williamr@2: Supplementary Service status. williamr@2: */ williamr@2: enum TSupplServiceStatus williamr@2: { williamr@2: /** williamr@2: The supplementary service is currently active and operative. williamr@2: */ williamr@2: EStatusActive, williamr@2: /** williamr@2: The supplementary service is currently deactivated or quiescent. williamr@2: */ williamr@2: ENotActive, williamr@2: /** williamr@2: In GSM/WCDMA mode, the supplementary service is not provisioned. williamr@2: In CDMA mode, this value has no meaning. williamr@2: */ williamr@2: ENotProvisioned, williamr@2: /** williamr@2: In GSM/WCDMA mode, the supplementary service is not available in serving network. williamr@2: In CDMA mode, the supplementary service is not available in the phone. williamr@2: */ williamr@2: ENotAvailable, williamr@2: /** williamr@2: The phone can not determine supplementary service status. williamr@2: */ williamr@2: EUnknown williamr@2: }; williamr@2: williamr@2: /** williamr@2: Call Forwarding conditions. williamr@2: */ williamr@2: enum TCallForwardingCondition williamr@2: { williamr@2: /** williamr@2: All calls to this subscriber are forwarded. williamr@2: */ williamr@2: ECallForwardingUnconditional, williamr@2: /** williamr@2: Calls are forwarded when this subscriber is busy. williamr@2: */ williamr@2: ECallForwardingBusy, williamr@2: /** williamr@2: Calls are forwarded when this subscriber does not reply within a timeout period. williamr@2: */ williamr@2: ECallForwardingNoReply, williamr@2: /** williamr@2: Calls are forwarded when this subscriber is unreachable. williamr@2: */ williamr@2: ECallForwardingNotReachable williamr@2: }; williamr@2: williamr@2: class TCallForwardingSupplServicesV1 : public TEtelISVType williamr@2: /** williamr@2: Defines information about the call forwarding service. williamr@2: williamr@2: Note: This information is only available on GSM/WCDMA networks. williamr@2: */ williamr@2: { williamr@2: public: williamr@2: IMPORT_C TCallForwardingSupplServicesV1(); williamr@2: public: williamr@2: /** williamr@2: The status of the call forwarding supplementary service. williamr@2: It applies to the condition in iCallForwardingCondition and williamr@2: to the line specified to CTelephony::GetCallForwardingStatus(). williamr@2: */ williamr@2: TSupplServiceStatus iCallForwarding; williamr@2: /** williamr@2: The provisioned call forwarding condition to which iCallForwarding applies. williamr@2: */ williamr@2: TCallForwardingCondition iCallForwardingCondition; williamr@2: }; williamr@2: williamr@2: /** williamr@2: A typedef'd packaged CTelephony::TCallForwardingSupplServicesV1 for passing through a generic API method. williamr@2: */ williamr@2: typedef TPckg TCallForwardingSupplServicesV1Pckg; williamr@2: williamr@2: williamr@2: /** williamr@2: Call Barring conditions. williamr@2: */ williamr@2: enum TCallBarringCondition williamr@2: { williamr@2: /** williamr@2: All incoming calls to this subscriber are barred (BAIC). williamr@2: */ williamr@2: EBarAllIncoming, williamr@2: /** williamr@2: All incoming calls to this subscriber are barred when roaming outside the home PLMN country (BAIC-roam). williamr@2: */ williamr@2: EBarIncomingRoaming, williamr@2: /** williamr@2: All outgoing calls by this subscriber are barred (BAOC). williamr@2: */ williamr@2: EBarAllOutgoing, williamr@2: /** williamr@2: All outgoing international calls by this subscriber are barred (BOIC). williamr@2: */ williamr@2: EBarOutgoingInternational, williamr@2: /** williamr@2: All outgoing international calls except those directed to the home PLMN country by this subscriber are barred (BOIC-ExHC). williamr@2: */ williamr@2: EBarOutgoingInternationalExHC williamr@2: }; williamr@2: williamr@2: class TCallBarringSupplServicesV1 : public TEtelISVType williamr@2: /** williamr@2: Defines information about the call barring service. williamr@2: */ williamr@2: { williamr@2: public: williamr@2: IMPORT_C TCallBarringSupplServicesV1(); williamr@2: public: williamr@2: /** williamr@2: The status of the call barring supplementary service. williamr@2: It applies to the condition in iCallBarringCondition and williamr@2: to the service group specified to CTelephony::GetCallBarringStatus(). williamr@2: */ williamr@2: TSupplServiceStatus iCallBarring; williamr@2: /** williamr@2: The provisioned call barring condition to which iCallBarring applies. williamr@2: */ williamr@2: TCallBarringCondition iCallBarringCondition; williamr@2: }; williamr@2: williamr@2: /** williamr@2: A typedef'd packaged CTelephony::TCallBarringSupplServicesV1 for passing through a generic API method. williamr@2: */ williamr@2: typedef TPckg TCallBarringSupplServicesV1Pckg; williamr@2: williamr@2: class TCallWaitingSupplServicesV1 : public TEtelISVType williamr@2: /** williamr@2: Defines information about the call waiting service. williamr@2: */ williamr@2: { williamr@2: public: williamr@2: IMPORT_C TCallWaitingSupplServicesV1(); williamr@2: public: williamr@2: /** williamr@2: The status of the call waiting supplementary service williamr@2: for the service group specified to CTelephony::GetCallWaitingStatus(). williamr@2: */ williamr@2: TSupplServiceStatus iCallWaiting; williamr@2: }; williamr@2: williamr@2: /** williamr@2: A typedef'd packaged CTelephony::TCallWaitingSupplServicesV1 for passing through a generic API method. williamr@2: */ williamr@2: typedef TPckg TCallWaitingSupplServicesV1Pckg; williamr@2: williamr@2: /** williamr@2: Phone ID services. williamr@2: */ williamr@2: enum TIdentityService williamr@2: { williamr@2: /** williamr@2: The identity service is unspecified. williamr@2: */ williamr@2: EIdServiceUnspecified, williamr@2: /** williamr@2: The caller's ID is presented to the called party. williamr@2: */ williamr@2: EIdServiceCallerPresentation, williamr@2: /** williamr@2: The caller's ID is restricted to the called party. williamr@2: */ williamr@2: EIdServiceCallerRestriction williamr@2: }; williamr@2: williamr@2: /** williamr@2: Service status of the Phone ID services. williamr@2: */ williamr@2: enum TIdentityServiceStatus williamr@2: { williamr@2: /** williamr@2: The interrogated identity service is provisioned and permanently active. williamr@2: */ williamr@2: EIdServiceActivePermanent, williamr@2: /** williamr@2: The interrogated identity service is provisioned and active. williamr@2: By default, the number is restricted unless overridden by the user. williamr@2: */ williamr@2: EIdServiceActiveDefaultRestricted, williamr@2: /** williamr@2: The interrogated identity service is provisioned and active. williamr@2: By default, the number is displayed unless specifically restricted by the user. williamr@2: */ williamr@2: EIdServiceActiveDefaultAllowed, williamr@2: /** williamr@2: The interrogated identity service is not provisioned. williamr@2: */ williamr@2: EIdServiceNotProvisioned, williamr@2: /** williamr@2: The status of the interrogated Identity service is unknown. williamr@2: */ williamr@2: EIdServiceUnknown williamr@2: }; williamr@2: williamr@2: class TIdentityServiceV1 : public TEtelISVType williamr@2: /** williamr@2: Defines the call identity service status. williamr@2: williamr@2: Note: This information is only available on GSM/WCDMA networks. williamr@2: */ williamr@2: { williamr@2: public: williamr@2: IMPORT_C TIdentityServiceV1(); williamr@2: public: williamr@2: /** williamr@2: The status of the call identity service. williamr@2: */ williamr@2: TIdentityServiceStatus iIdentityStatus; williamr@2: }; williamr@2: williamr@2: /** williamr@2: A typedef'd packaged CTelephony::TIdentityServiceV1 for passing through a generic API method. williamr@2: */ williamr@2: typedef TPckg TIdentityServiceV1Pckg; williamr@2: williamr@2: /** williamr@2: Service group identifier. williamr@2: */ williamr@2: enum TServiceGroup williamr@2: { williamr@2: /** williamr@2: Voice service group williamr@2: */ williamr@2: EVoiceService, williamr@2: /** williamr@2: Fax service group williamr@2: */ williamr@2: EFaxService, williamr@2: /** williamr@2: Data service group williamr@2: */ williamr@2: EDataService williamr@2: }; williamr@2: williamr@2: /** williamr@2: Cancel apending request williamr@2: */ williamr@2: enum TCancellationRequest williamr@2: { williamr@2: /** williamr@2: Cancel a pending GetPhoneId request. williamr@2: */ williamr@2: EGetPhoneIdCancel, // 0 williamr@2: /** williamr@2: Cancel a pending GetSubscriberId request. williamr@2: */ williamr@2: EGetSubscriberIdCancel, // 1 williamr@2: /** williamr@2: Cancel a pending GetFlightMode request. williamr@2: */ williamr@2: EGetFlightModeCancel, // 2 williamr@2: /** williamr@2: Cancel a pending FlightModeChange request. williamr@2: */ williamr@2: EFlightModeChangeCancel, // 3 williamr@2: /** williamr@2: Cancel a pending GetIndicator request. williamr@2: */ williamr@2: EGetIndicatorCancel, // 4 williamr@2: /** williamr@2: Cancel a pending IndicatorChange request. williamr@2: */ williamr@2: EIndicatorChangeCancel, // 5 williamr@2: /** williamr@2: Cancel a pending GetBatteryInfo request. williamr@2: */ williamr@2: EGetBatteryInfoCancel, // 6 williamr@2: /** williamr@2: Cancel a pending BatteryInfoChange request. williamr@2: */ williamr@2: EBatteryInfoChangeCancel, // 7 williamr@2: /** williamr@2: Cancel a pending GetSignalStrength request. williamr@2: */ williamr@2: EGetSignalStrengthCancel, // 8 williamr@2: /** williamr@2: Cancel a pending SignalStrengthChange request. williamr@2: */ williamr@2: ESignalStrengthChangeCancel, // 9 williamr@2: /** williamr@2: Cancel a pending GetLockInfo request. williamr@2: */ williamr@2: EGetLockInfoCancel, // 10 williamr@2: /** williamr@2: Cancel a pending Pin 1 LockInfoChange request. williamr@2: */ williamr@2: EPin1LockInfoChangeCancel, // 11 williamr@2: /** williamr@2: Cancel a pending Pin 2 LockInfoChange request. williamr@2: */ williamr@2: EPin2LockInfoChangeCancel, // 12 williamr@2: /** williamr@2: Cancel a pending VoiceLineStatusChange request. williamr@2: */ williamr@2: EVoiceLineStatusChangeCancel, // 13 williamr@2: /** williamr@2: Cancel a pending Call1StatusChange request. williamr@2: */ williamr@2: EOwnedCall1StatusChangeCancel, // 14 williamr@2: /** williamr@2: Cancel a pending Call2StatusChange request. williamr@2: */ williamr@2: EOwnedCall2StatusChangeCancel, // 15 williamr@2: /** williamr@2: Cancel a pending OwnedCall1RemotePartyInfoChange request. williamr@2: */ williamr@2: EOwnedCall1RemotePartyInfoChangeCancel, // 16 williamr@2: /** williamr@2: Cancel a pending OwnedCall2RemotePartyInfoChange request. williamr@2: */ williamr@2: EOwnedCall2RemotePartyInfoChangeCancel, // 17 williamr@2: /** williamr@2: Cancel a pending SendDTMFTones request. williamr@2: */ williamr@2: ESendDTMFTonesCancel, // 18 williamr@2: /** williamr@2: Cancel a pending DialNewCall request. williamr@2: */ williamr@2: EDialNewCallCancel, // 19 williamr@2: /** williamr@2: Cancel a pending Hold request. williamr@2: */ williamr@2: EHoldCancel, // 20 williamr@2: /** williamr@2: Cancel a pending Resume request. williamr@2: */ williamr@2: EResumeCancel, // 21 williamr@2: /** williamr@2: Cancel a pending Swap request. williamr@2: */ williamr@2: ESwapCancel, // 22 williamr@2: /** williamr@2: Cancel a pending Hangup request. williamr@2: */ williamr@2: EHangupCancel, // 23 williamr@2: /** williamr@2: Cancel a pending AnswerIncomingCall request. williamr@2: */ williamr@2: EAnswerIncomingCallCancel, // 24 williamr@2: /** williamr@2: Cancel a pending GetNetworkRegistrationStatus request. williamr@2: */ williamr@2: EGetNetworkRegistrationStatusCancel, // 25 williamr@2: /** williamr@2: Cancel a pending NetworkRegistrationStatusChange request. williamr@2: */ williamr@2: ENetworkRegistrationStatusChangeCancel, // 26 williamr@2: /** williamr@2: Cancel a pending GetCurrentNetworkInfo request. williamr@2: */ williamr@2: EGetCurrentNetworkInfoCancel, // 27 williamr@2: /** williamr@2: Cancel a pending CurrentNetworkInfoChange request. williamr@2: */ williamr@2: ECurrentNetworkInfoChangeCancel, // 28 williamr@2: /** williamr@2: Cancel a pending GetCurrentNetworkName request. williamr@2: */ williamr@2: EGetCurrentNetworkNameCancel, // 29 williamr@2: /** williamr@2: Cancel a pending GetOperatorName request. williamr@2: */ williamr@2: EGetOperatorNameCancel, // 30 williamr@2: /** williamr@2: Cancel a pending GetCallForwardingStatus request. williamr@2: */ williamr@2: EGetCallForwardingStatusCancel, // 31 williamr@2: /** williamr@2: Cancel a pending GetCallBarringStatus request. williamr@2: */ williamr@2: EGetCallBarringStatusCancel, // 32 williamr@2: /** williamr@2: Cancel a pending GetCallWaitingStatus request. williamr@2: */ williamr@2: EGetCallWaitingStatusCancel, // 33 williamr@2: /** williamr@2: Cancel a pending GetIdentityServiceStatus request. williamr@2: */ williamr@2: EGetIdentityServiceStatusCancel, // 34 williamr@2: /** williamr@2: Cancel a pending FaxLineStatusChange request. williamr@2: */ williamr@2: EFaxLineStatusChangeCancel, // 35 williamr@2: /** williamr@2: Cancel a pending DataLineStatusChange request. williamr@2: */ williamr@2: EDataLineStatusChangeCancel // 36 williamr@2: }; williamr@2: williamr@2: ////////////////////////////////////////////////////////// williamr@2: // Notification Functionality williamr@2: ////////////////////////////////////////////////////////// williamr@2: williamr@2: /** williamr@2: Notification events williamr@2: */ williamr@2: enum TNotificationEvent williamr@2: { williamr@2: /** williamr@2: Register interest for receiving a notification for flight mode changes. williamr@2: williamr@2: New flight mode returned in a CTelephony::TFlightModeV1Pckg, a packaged CTelephony::TFlightModeV1. williamr@2: williamr@2: Pass CancelAsync() CTelephony::EFlightModeChangeCancel to cancel. williamr@2: williamr@2: @capability None williamr@2: @ref CTelephony::NotifyChange williamr@2: */ williamr@2: EFlightModeChange, // 0 williamr@2: /** williamr@2: Register interest for receiving a notification for phone indicator changes. williamr@2: williamr@2: New indicators returned in a CTelephony::TIndicatorV1Pckg, a packaged CTelephony::TIndicatorV1. williamr@2: williamr@2: Pass CancelAsync() CTelephony::EIndicatorChangeCancel to cancel. williamr@2: williamr@2: @capability None williamr@2: @ref CTelephony::NotifyChange williamr@2: */ williamr@2: EIndicatorChange, // 1 williamr@2: /** williamr@2: Register interest for receiving a notification for Battery information changes. williamr@2: williamr@2: New Battery information returned in a CTelephony::TBatteryInfoV1Pckg, a packaged CTelephony::TBatteryInfoV1. williamr@2: williamr@2: Pass CancelAsync() CTelephony::EBatteryInfoChangeCancel to cancel. williamr@2: williamr@2: @capability None williamr@2: @ref CTelephony::NotifyChange williamr@2: */ williamr@2: EBatteryInfoChange, // 2 williamr@2: /** williamr@2: Register interest for receiving a notification for Signal Strength changes. williamr@2: williamr@2: New Signal Strength returned in a CTelephony::TSignalStrengthV1Pckg, a packaged CTelephony::TSignalStrengthV1. williamr@2: williamr@2: Pass CancelAsync() CTelephony::ESignalStrengthChangeCancel to cancel. williamr@2: williamr@2: @capability None williamr@2: @ref CTelephony::NotifyChange williamr@2: */ williamr@2: ESignalStrengthChange, // 3 williamr@2: /** williamr@2: Register interest for receiving a notification for Icc Pin1 Lock Information changes. williamr@2: williamr@2: New Icc Pin1 Lock Information returned in a CTelephony::TIccLockInfoV1Pckg, a packaged CTelephony::TIccLockInfoV1. williamr@2: williamr@2: Pass CancelAsync() CTelephony::EPin1LockInfoChangeCancel to cancel. williamr@2: williamr@2: @capability ReadDeviceData williamr@2: @ref CTelephony::NotifyChange williamr@2: */ williamr@2: EPin1LockInfoChange, // 4 williamr@2: /** williamr@2: Register interest for receiving a notification for Icc Pin2 Lock Information changes. williamr@2: williamr@2: New Icc Pin2 Lock Information returned in a CTelephony::TIccLockInfoV1Pckg, a packaged CTelephony::TIccLockInfoV1. williamr@2: williamr@2: Pass CancelAsync() CTelephony::EPin2LockInfoChangeCancel to cancel. williamr@2: williamr@2: @capability ReadDeviceData williamr@2: @ref CTelephony::NotifyChange williamr@2: */ williamr@2: EPin2LockInfoChange, // 5 williamr@2: /** williamr@2: Register interest for receiving a notification for Voice Line Status changes. williamr@2: williamr@2: New Voice Line Status returned in a CTelephony::TCallStatusV1Pckg, a packaged CTelephony::TCallStatusV1. williamr@2: williamr@2: Pass CancelAsync() CTelephony::EVoiceLineStatusChangeCancel to cancel. williamr@2: williamr@2: @capability None williamr@2: @ref CTelephony::NotifyChange williamr@2: */ williamr@2: EVoiceLineStatusChange, // 6 williamr@2: /** williamr@2: Register interest for receiving a notification for owned Call 1 Status changes. williamr@2: williamr@2: New Call 1 Status returned in a CTelephony::TCallStatusV1Pckg, a packaged CTelephony::TCallStatusV1. williamr@2: williamr@2: Pass CancelAsync() CTelephony::EOwnedCall1StatusChangeCancel to cancel. williamr@2: williamr@2: @capability None williamr@2: @ref CTelephony::NotifyChange williamr@2: */ williamr@2: EOwnedCall1StatusChange, // 7 williamr@2: /** williamr@2: Register interest for receiving a notification for owned Call 2 Status changes. williamr@2: williamr@2: New Call 2 Status returned in a CTelephony::TCallStatusV1Pckg, a packaged CTelephony::TCallStatusV1. williamr@2: williamr@2: Pass CancelAsync() CTelephony::EOwnedCall2StatusChangeCancel to cancel. williamr@2: williamr@2: @capability None williamr@2: @ref CTelephony::NotifyChange williamr@2: */ williamr@2: EOwnedCall2StatusChange, // 8 williamr@2: /** williamr@2: Register interest for receiving a notification for Call 1 Remote Party Info changes. williamr@2: williamr@2: New Call 1 Remote Party Info returned in a CTelephony::TRemotePartyInfoV1Pckg, a packaged CTelephony::TRemotePartyInfoV1. williamr@2: williamr@2: Pass CancelAsync() CTelephony::EOwnedCall1RemotePartyInfoChangeCancel to cancel. williamr@2: williamr@2: @capability ReadUserData williamr@2: @ref CTelephony::NotifyChange williamr@2: */ williamr@2: EOwnedCall1RemotePartyInfoChange, // 9 williamr@2: /** williamr@2: Register interest for receiving a notification for Call 2 Remote Party Info changes. williamr@2: williamr@2: New Call 2 Remote Party Info returned in a CTelephony::TRemotePartyInfoV1Pckg, a packaged CTelephony::TRemotePartyInfoV1. williamr@2: williamr@2: Pass CancelAsync() CTelephony::EOwnedCall2RemotePartyInfoChangeCancel to cancel. williamr@2: williamr@2: @capability ReadUserData williamr@2: @ref CTelephony::NotifyChange williamr@2: */ williamr@2: EOwnedCall2RemotePartyInfoChange, // 10 williamr@2: /** williamr@2: Register interest for receiving a notification for Network registration status changes. williamr@2: williamr@2: New Network registration status returned in a CTelephony::TNetworkRegistrationV1Pckg, a packaged CTelephony::TNetworkRegistrationV1. williamr@2: williamr@2: Pass CancelAsync() CTelephony::ENetworkRegistrationStatusChangeCancel to cancel. williamr@2: williamr@2: @capability None williamr@2: @ref CTelephony::NotifyChange williamr@2: */ williamr@2: ENetworkRegistrationStatusChange, // 11 williamr@2: /** williamr@2: Register interest for receiving a notification for Network information changes. williamr@2: williamr@2: New Network information returned in a CTelephony::TNetworkInfoV1Pckg, a packaged CTelephony::TNetworkInfoV1. williamr@2: williamr@2: Pass CancelAsync() CTelephony::ECurrentNetworkInfoChangeCancel to cancel. williamr@2: williamr@2: @capability ReadDeviceData williamr@2: @ref CTelephony::NotifyChange williamr@2: */ williamr@2: ECurrentNetworkInfoChange, // 12 williamr@2: /** williamr@2: Register interest for receiving a notification for Fax Line Status changes. williamr@2: williamr@2: New Fax Line Status returned in a CTelephony::TCallStatusV1Pckg, a packaged CTelephony::TCallStatusV1. williamr@2: williamr@2: Pass CancelAsync() CTelephony::EFaxLineStatusChangeCancel to cancel. williamr@2: williamr@2: @capability None williamr@2: @ref CTelephony::NotifyChange williamr@2: */ williamr@2: EFaxLineStatusChange, // 13 williamr@2: /** williamr@2: Register interest for receiving a notification for Data Line Status changes. williamr@2: williamr@2: New Data Line Status returned in a CTelephony::TCallStatusV1Pckg, a packaged CTelephony::TCallStatusV1. williamr@2: williamr@2: Pass CancelAsync() CTelephony::EDataLineStatusChangeCancel to cancel. williamr@2: williamr@2: @capability None williamr@2: @ref CTelephony::NotifyChange williamr@2: */ williamr@2: EDataLineStatusChange // 14 williamr@2: }; williamr@2: williamr@2: public: williamr@2: // Constructors williamr@2: IMPORT_C static CTelephony* NewLC(); williamr@2: IMPORT_C static CTelephony* NewL(); williamr@2: williamr@2: // Destructor - virtual and class not intended williamr@2: // for derivation, so not exported williamr@2: williamr@2: ~CTelephony(); williamr@2: williamr@2: // General Functionality williamr@2: inline TVersion Version() const; williamr@2: williamr@2: // Phone Functionality williamr@2: IMPORT_C void GetPhoneId(TRequestStatus& aReqStatus, TDes8& aId) const; williamr@2: IMPORT_C void GetSubscriberId(TRequestStatus& aReqStatus, TDes8& aId) const; williamr@2: IMPORT_C void GetFlightMode(TRequestStatus& aReqStatus, TDes8& aMode) const; williamr@2: IMPORT_C void GetIndicator(TRequestStatus& aReqStatus, TDes8& aIndicator) const; williamr@2: IMPORT_C void GetBatteryInfo(TRequestStatus& aReqStatus, TDes8& aBatteryInfo) const; williamr@2: IMPORT_C void GetSignalStrength(TRequestStatus& aReqStatus, TDes8& aSignalStrength) const; williamr@2: IMPORT_C void GetLockInfo(TRequestStatus& aReqStatus, const TIccLock& aLock, TDes8& aLockInfo) const; williamr@2: IMPORT_C void SendDTMFTones(TRequestStatus& aReqStatus, const TDesC& aTones) const; williamr@2: // Line Functionality williamr@2: IMPORT_C TInt GetLineStatus(const TPhoneLine& aLine, TDes8& aStatus) const; williamr@2: IMPORT_C TInt GetCallInfo(TDes8& aCallSelect, TDes8& aCallInfo, TDes8& aRemoteInfo) const; williamr@2: // Call Functionality williamr@2: IMPORT_C void DialNewCall(TRequestStatus& aStatus, TDes8& aCallParams, williamr@2: const TTelNumber& aTelNumber, TCallId& aCallId, const TPhoneLine aLine=EVoiceLine) const; williamr@2: IMPORT_C TInt GetCallDynamicCaps(const TCallId& aCallId, TDes8& aCallCaps) const; williamr@2: IMPORT_C TInt GetCallStatus(const TCallId& aCallId, TDes8& aCallStatus) const; williamr@2: IMPORT_C void Hold(TRequestStatus& aReqStatus, const TCallId& aCallId) const; williamr@2: IMPORT_C void Resume(TRequestStatus& aReqStatus, const TCallId& aCallId) const; williamr@2: IMPORT_C void Swap(TRequestStatus& aReqStatus, const TCallId& aCallId1, williamr@2: const TCallId& aCallId2) const; williamr@2: IMPORT_C void Hangup(TRequestStatus& aReqStatus, const TCallId& aCallId) const; williamr@2: IMPORT_C void AnswerIncomingCall(TRequestStatus& aReqStatus, TCallId& aCallId, williamr@2: const TPhoneLine aLine=EVoiceLine) const; williamr@2: // Network Functionality williamr@2: IMPORT_C void GetNetworkRegistrationStatus(TRequestStatus& aReqStatus, TDes8& aStatus) const; williamr@2: IMPORT_C void GetCurrentNetworkInfo(TRequestStatus& aReqStatus, TDes8& aNetworkInfo) const; williamr@2: IMPORT_C void GetCurrentNetworkName(TRequestStatus& aReqStatus, TDes8& aNetworkName) const; williamr@2: IMPORT_C void GetOperatorName(TRequestStatus& aReqStatus, TDes8& aOperator) const; williamr@2: // (Basic) Supplementary Services Functionality williamr@2: IMPORT_C void GetCallForwardingStatus(TRequestStatus& aRequestStatus, const TCallForwardingCondition aCondition, TDes8& aSSInfo, const TServiceGroup aServiceGroup=EVoiceService) const; williamr@2: IMPORT_C void GetCallBarringStatus(TRequestStatus& aRequestStatus, const TCallBarringCondition aCondition, TDes8& aSSInfo, const TServiceGroup aServiceGroup=EVoiceService) const; williamr@2: IMPORT_C void GetCallWaitingStatus(TRequestStatus& aRequestStatus, TDes8& aSSInfo, const TServiceGroup aServiceGroup=EVoiceService) const; williamr@2: IMPORT_C void GetIdentityServiceStatus(TRequestStatus& aReqStatus, const TIdentityService& aService, TDes8& aStatus) const; williamr@2: // Cancel Request Functionality williamr@2: IMPORT_C TInt CancelAsync(TCancellationRequest aCancel) const; williamr@2: // Notification Functionality williamr@2: IMPORT_C void NotifyChange(TRequestStatus& aReqStatus, const TNotificationEvent& aEvent, TDes8& aDes) const; williamr@2: williamr@2: IMPORT_C TInt FindDeviceStatus(TInt& aCallStatus); williamr@2: IMPORT_C TInt EstablishDataCall(TInt& aDataChannel, const TDesC& aDialNumber); williamr@2: IMPORT_C void EstablishDataCall(TRequestStatus& aRequestStatus, TInt& aDataChannel, const TDesC& aDialNumber); williamr@2: IMPORT_C TInt TerminateDataCall(); williamr@2: IMPORT_C TInt ReceiveDataCall(TInt& aDataChannel); williamr@2: IMPORT_C void ReceiveDataCall(TRequestStatus& aRequestStatus, TInt& aDataChannel); williamr@2: IMPORT_C void CancelEstablishDataCall(); williamr@2: IMPORT_C void CancelReceiveDataCall(); williamr@2: williamr@2: private: williamr@2: CTelephony(); // C++ constructor - not exported. Called from NewLC() williamr@2: void ConstructL(); // second-phase constructor williamr@2: CTelephonyFunctions* iTelephonyFunctions; ///< Object to do the real work williamr@2: }; williamr@2: williamr@2: #include williamr@2: #endif // ETEL3RDPARTY_H__