--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyserverplugins/common_tsy/commontsy/inc/mmtsy/cmmphonetsy.h Tue Feb 02 01:41:59 2010 +0200
@@ -0,0 +1,2716 @@
+/*
+* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+
+#ifndef CMMPHONETSY_H
+#define CMMPHONETSY_H
+
+// INCLUDES
+#include <etelmm.h>
+#include <et_phone.h>
+#include <mmretrieve.h>
+#include <pcktcs.h>
+#include <e32property.h>
+#include <centralrepository.h>
+#include <ctsy/mltsyfactorybase.h>
+#include "cmmmessagemanagerbase.h"
+#include "MmTsy_timeoutdefs.h"
+#include <ctsy/serviceapi/mmtsy_defaults.h>
+#include <ctsy/tflogger.h>
+#include "CMmPrivateUtility.h"
+#include <ctsy/serviceapi/ctsydomainpskeys.h>
+#include <ctsy/serviceapi/mctsysatservice.h>
+#include <ctsy/pluginapi/mtelephonyaudiocontrolcallback.h>
+#include <hwrmpower.h>
+#include "BatteryInfoObserver.h"
+#include "ChargingStatusObserver.h"
+
+// FORWARD DECLARATIONS
+#ifdef REQHANDLE_TIMER
+class CResponseTimer;
+class CResponseTimerStore;
+#endif
+class CMmConferenceCallTsy;
+class CMmSmsTsy;
+class CMmBroadcastTsy;
+class CMmONStoreTsy;
+class CMmENStoreTsy;
+class CMmPhoneBookStoreTsy;
+class CStorageInfoData;
+class CTsySatMessagingBase;
+class CMmUssdTsy;
+class CMmCustomTsy;
+class CMmPacketServiceTsy;
+
+class CMmPhoneExtInterface;
+class CMmTsyReqHandleStore;
+class CMmCallList;
+class CMmLineList;
+class CMmPBList;
+
+class CMmCallTsy;
+class CHeartbeatRunner;
+class CMmNetTsy;
+class CMmDtmfTsy;
+class CMmSupplServTsy;
+class CMmSecurityTsy;
+class CMmCustomSecurityTsy;
+
+class CMmPhoneFactoryTsy;
+class CMmDataPackage;
+
+class MTelephonyAudioControl;
+
+// CLASS DECLARATION
+
+/**
+ * CMmPhoneTsy contains mode-independent phone functionality.
+ * Extension request handles and parameters are stored as attributes.
+ */
+
+NONSHARABLE_CLASS( CMmPhoneTsy ) : public CPhoneBase,
+ public MTelephonyAudioControlCallback,
+ public MBatteryInfoNotifier,
+ public MChargingStatusNotifier
+ {
+
+ public: // Friend classes
+
+ /** Classes which also implement RMobilePhone functionality
+ are declared as friends */
+
+ friend class CMmNetTsy;
+ friend class CMmDtmfTsy;
+ friend class CMmSupplServTsy;
+ friend class CMmSecurityTsy;
+
+ public: // Enumerations
+
+ /** Phone request types*/
+
+ enum TPhoneRequestTypes
+ {
+ EMultimodePhoneReqHandleUnknown, //0
+ EMultimodePhoneNotifyModemDetected,
+ EMultimodePhoneCapsChangeNotification,
+ EMultimodePhoneNotifyDTMFCaps,
+ EMultimodePhoneSendDTMFTones,
+ EMultimodePhoneStartDTMFTone, //5
+ EMultimodePhoneStopDTMFTone,
+ EMultimodePhoneSendNetworkServiceRequest,
+ EMultimodePhoneGetDetectedNetworksPhase1,
+ EMultimodePhoneNotifyNetworkRegistrationStatusChange,
+ EMultimodePhoneNotifyModeChange, //10
+ EMultimodePhoneNotifyCurrentNetworkChange,
+ EMultimodePhoneNotifySignalStrengthChange,
+ EMultimodePhoneNotifyNetworkTimeInfoChange,
+ EMultimodePhoneNotifyNWSelectionSettingChange,
+ EMultimodePhoneNotifyNWTimeInfoChange, //15
+ EMultimodePhoneSelectNetwork,
+ EMultimodePhoneSetNWSelectionSetting,
+ EMultimodePhoneSetCallForwardingStatus,
+ EMultimodePhoneGetIdentityServiceStatus,
+ EMultimodePhoneSetCallBarringStatus, //20
+ EMultimodePhoneSetSSPassword,
+ EMultimodePhoneSetCallWaitingStatus,
+ EMultimodePhoneSetFdnSetting,
+ EMultimodePhoneGetFdnStatus,
+ EMultimodePhoneNotifyCallForwardingStatusChange,
+ EMultimodePhoneNotifyCallBarringStatusChange,
+ EMultimodePhoneNotifyCallWaitingStatusChange,
+ EMultimodePhoneNotifyAlsLineChange,
+ EMultimodePhoneNotifyFdnStatusChange,
+ EMultimodePhoneGetCallForwardingStatusPhase1,
+ EMultimodePhoneGetCallBarringStatusPhase1,
+ EMultimodePhoneGetCallWaitingStatusPhase1,
+ EMultimodePhoneNotifySecurityCapsChange,
+ EMultimodePhoneGetLockInfo,
+ EMultimodePhoneNotifyLockInfoChange,
+ EMultimodePhoneSetLockSetting,
+ EMultimodePhoneChangeSecurityCode,
+ EMultimodePhoneNotifySecurityEvent,
+ EMultimodePhoneVerifySecurityCode,
+ EMultimodePhoneAbortSecurityCode,
+ EMultimodePhoneNotifyBatteryInfoChange,
+ EMultimodePhoneNotifyStopInDTMFString,
+ EMultimodePhoneNotifyCallServiceCapsChange,
+ EMultimodePhoneNotifyCallForwardingActive,
+ EMultimodePhoneNotifyIccAccessCapsChange,
+ EMultimodePhoneGetCustomerServiceProfile,
+ EMultimodePhoneGetServiceTable,
+ EMultimodePhoneGetPhoneStoreInfo,
+ EMultimodePhoneOutOfMemory,
+ EMultimodePhoneGetAlsLine,
+ EMultimodePhoneSetAlsLine,
+ EMultimodePhoneGetNITZInfo,
+ EMultimodePhoneGetCellInfo,
+ EMultimodePhoneNotifyCellInfoChange,
+ EMultimodePhoneGetServiceProviderName,
+ EMultimodePhoneGetNetworkRegistrationStatus,
+ EMultimodePhoneGetSubscriberId,
+ EMultimodePhoneNotifyNetworkSecurityLevelChange,
+ EMultimodePhoneGetCipheringIndicatorStatus,
+ EMultimodePhoneGetBatteryInfo,
+ EMultimodePhoneGetPhoneId,
+ EMultimodePhoneNotifyCurrentNetworkNoLocationChange,
+ EMultimodePhoneNotifyIndicatorChange,
+ EMultimodePhoneGetAuthorizationInfoPhase1,
+ EMultimodePhoneIMSAuthenticate,
+ EMultimodePhoneGetMailboxNumbers,
+ EMultimodePhoneEnumerateAPNEntries,
+ EMultimodePhoneGetAPNname,
+ EMultimodePhoneGetIccMessageWaitingIndicators,
+ EMultimodePhoneSetIccMessageWaitingIndicators,
+ EMultimodePhoneNotifyIccMessageWaitingIndicatorsChange,
+ EMultimodePhoneGetSecurityCodeInfoPin1,
+ EMultimodePhoneGetSecurityCodeInfoPin2,
+ EMultimodePhoneGetSecurityCodeInfoPuk1,
+ EMultimodePhoneGetSecurityCodeInfoPuk2,
+ EMultimodePhoneGetSecurityCodeInfoPhonePassword,
+ EMultimodePhoneGetSecurityCodeInfoSPC,
+ EMultimodePhoneGetSecurityCodeInfoPhonebookHiddenKey,
+ EMultimodePhoneGetSecurityCodeInfoUSIMAppPin,
+ EMultimodePhoneGetSecurityCodeInfoSecondUSIMAppPin,
+ EMultimodePhoneGetSecurityCodeInfoUniversalPin,
+ EMultimodePhoneGetSecurityCodeInfoUniversalPuk,
+ EMultimodePhoneNotifySecurityCodeInfoChange,
+ EMultimodePhoneAppendAPNName,
+ EMultimodePhoneDeleteAPNName,
+ EMultimodePhoneNotifyAPNListChange,
+ EMultimodePhoneSetAPNControlListServiceStatus,
+ EMultimodePhoneGetAPNControlListServiceStatus,
+ EMultimodePhoneNotifyAPNControlListServiceStatusChange,
+ EMultimodePhoneSendNetworkServiceRequestNoFdnCheck,
+ EMultimodePhoneNotifySendNetworkServiceRequest,
+ EMultimodePhoneNotifyAllSendNetworkServiceRequest,
+ EMultimodePhoneGetCurrentActiveUSimApplication,
+ EMultimodePhoneTerminateAllCalls,
+ EMultimodePhoneNotifyDtmfEvent,
+ // ATTENTION:: Declare constant for those requests that need
+ // own request handle record in iTsyReqHandleStore above the
+ // following!
+ EMultimodePhoneMaxNumOfRequests
+ };
+
+ class CNosBootState : public CBase
+ {
+ public:
+ TBool iSIMReady;
+ TBool iADNReady;
+ TBool iSecReady;
+ TBool iCachingActive;
+ };
+
+ /**
+ * Every KLifeTimeUpdateInterval sec of the call, life time duration param is updated
+ */
+ enum { KLifeTimeUpdateInterval = 10 };
+
+ public: // From MTelephonyAudioControlCallback
+
+ /**
+ * Informs errors from the Telephony Audio Control
+ *
+ * @param aCallName Call where the error happened
+ * @param aError The error code
+ */
+ void NotifyTelephonyAudioControlError( const TName& aCallName,
+ const TInt& aError );
+
+ /**
+ * This method returns the information when modem status is ready
+ *
+ * @return ETrue if the modem is ready
+ */
+ TBool IsModemStatusReady() const;
+
+ private:
+ /** used for queuing GetServiceTable requests */
+ struct TServiceTableRequests
+ {
+ /** ETel request handle */
+ TTsyReqHandle iReqHandle;
+ /** Table to be cached */
+ RMobilePhone::TMobilePhoneServiceTable* iTable;
+ /** Table to be cached */
+ RMobilePhone::TMobilePhoneServiceTableV1* iTableData;
+ };
+
+ /** used for queuing GetSubscriberId requests */
+ struct TSubscriberIdRequest
+ {
+ /** ETel request handle */
+ TTsyReqHandle iReqHandle;
+ /** pointer to client-side data*/
+ RMobilePhone::TMobilePhoneSubscriberId* iRetSubscrId;
+ };
+
+ /** used for queuing GetPhoneId requests */
+ struct TGetPhoneIdRequest
+ {
+ /** ETel request handle */
+ TTsyReqHandle iReqHandle;
+ /** pointer to client-side data*/
+ RMobilePhone::TMobilePhoneIdentityV1* iRetPhoneId;
+ };
+
+ /**Used for queing GetServiceProviderName requests */
+ struct TServiceProviderNameRequest
+ {
+ /** ETel request handle */
+ TTsyReqHandle iReqHandle;
+ /** pointer to client side data */
+ RMobilePhone::TMobilePhoneServiceProviderNameV2*
+ iServiceProviderName;
+ };
+
+ /** Service table request types */
+ enum TServiceTableRequest
+ {
+ ENoRequest,
+ ESIMRequest,
+ EUSIMRequest
+ };
+
+ struct TCustomerServiceProfileIdRequest
+ {
+ /** ETel request handle */
+ TTsyReqHandle iReqHandle;
+ /** pointer to client-side data */
+ RMobilePhone::TMobilePhoneCspFileV1* iRetCspFile;
+ };
+
+ struct TGetServiceTableRequest
+ {
+ /** ETel request handle */
+ TTsyReqHandle iReqHandle;
+ /** Table to be cached */
+ RMobilePhone::TMobilePhoneServiceTable* iTable;
+ /** Table to be cached */
+ RMobilePhone::TMobilePhoneServiceTableV1* iTableData;
+ //** Cache done for this req*/
+ TBool iCaching;
+ };
+
+ struct TGetAlsLineRequest
+ {
+ /** ETel request handle */
+ TTsyReqHandle iReqHandle;
+ /** pointer to client-side data */
+ RMobilePhone::TMobilePhoneALSLine* iALSLine;
+ };
+
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ *
+ *
+ * @param aMessageManager: Pointer to the message manager. The returned
+ * CMmPhoneTsy takes ownership of this parameter.
+ * @param aMmPhoneFactoryTsy Pointer to the phone factory (which is needed
+ * for Sim Atk TSY creation). The returned CMmPhoneTsy does not take
+ * ownership of this parameter.
+ * @param aFactory Pointer Ltsy factory base. The returned CMmPhoneTsy
+ * takes ownership of this parameter.
+ * return created phone object
+ */
+ IMPORT_C static CMmPhoneTsy* NewL(
+ CMmMessageManagerBase* aMessageManager,
+ CMmPhoneFactoryTsy* aMmPhoneFactoryTsy,
+ MLtsyFactoryBase* aFactory );
+
+ /**
+ * Destructor.
+ */
+ virtual ~CMmPhoneTsy();
+
+ // New functions
+
+ /**
+ * Initialisation method that is called from ETel Server.
+ *
+ *
+ */
+ virtual void Init();
+
+ /**
+ * Creates new object by name and returns a pointer to it.
+ *
+ *
+ * @param aNewName
+ * return pointer to the created object
+ */
+ virtual CTelObject* OpenNewObjectByNameL( const TDesC& aName );
+
+ /**
+ * Creates new Line object and returns a pointer to it. All
+ * objects opened from the phone are opened by name, hence
+ * this method is NOT SUPPORTED.
+ *
+ *
+ * @param aNewName
+ * return pointer to the created object
+ */
+ virtual CTelObject* OpenNewObjectL( TDes& aNewName );
+
+ /**
+ * Dispatches multimode API functions calls
+ *
+ *
+ * @param aTsyReqHandle TSY request handle
+ * @param aIpc request IPC number
+ * @param aPackage packaged request parameters
+ * @return result of the request
+ */
+ virtual TInt ExtFunc( const TTsyReqHandle aTsyReqHandle,
+ const TInt aIpc,
+ const TDataPackage& aPackage );
+
+ /**
+ * Returns request mode for given IPC.
+ *
+ *
+ * @param aIpc IPC number
+ * @return request mode
+ */
+ virtual CTelObject::TReqMode ReqModeL( const TInt aIpc );
+
+ /**
+ * Returns number of slots to be used for given IPC
+ *
+ *
+ * @param aIpc request IPC number
+ * @return result of the request
+ */
+ virtual TInt NumberOfSlotsL( const TInt aIpc );
+
+ /**
+ * Cancels request that's IPC number and request handle are given in
+ * parameters
+ *
+ *
+ * @param aIpc request IPC number
+ * @param aTsyReqHandle TSY request handle
+ * @return result of the request
+ */
+ virtual TInt CancelService( const TInt aIpc,
+ const TTsyReqHandle aTsyReqHandle );
+
+ /**
+ * Fills the given pointer with phone information (core)
+ *
+ *
+ * @param aTsyReqHandle TSY request handle
+ * @param aPhoneInfo phone information
+ * @return Return value to the ETel Server
+ */
+ virtual TInt GetInfo( const TTsyReqHandle aTsyReqHandle,
+ RPhone::TPhoneInfo* aPhoneInfo );
+
+ /**
+ * Request for caps change notifications
+ *
+ *
+ * @param aTsyReqHandle TSY request handle
+ * @param aCaps phone caps
+ * @return Return value to the ETel Server
+ */
+ virtual TInt NotifyCapsChange( const TTsyReqHandle aTsyReqHandle,
+ RPhone::TCaps* aCaps );
+
+ /**
+ * Cancels caps change notifications
+ *
+ *
+ * @param aTsyReqHandle TSY request handle
+ * @return Return value to the ETel Server
+ */
+ virtual TInt NotifyCapsChangeCancel(
+ const TTsyReqHandle aTsyReqHandle );
+
+ /**
+ * Controlled initialisation
+ *
+ *
+ * @param aTsyReqHandle TSY request handle
+ * @return Return value to the ETel Server
+ */
+ virtual TInt ControlledInitialisation(
+ const TTsyReqHandle aTsyReqHandle );
+
+ /**
+ * Cancels controlled initialisation
+ *
+ *
+ * @param aTsyReqHandle TSY request handle
+ * @return Return value to the ETel Server
+ */
+ virtual TInt ControlledInitialisationCancel(
+ const TTsyReqHandle aTsyReqHandle );
+
+ /**
+ * Request for modem detected notifications.
+ *
+ *
+ * @param aTsyReqHandle Request handle
+ * @param aDetection Ptr to TModemDetection
+ * object
+ * @return KErrNone
+ */
+ virtual TInt NotifyModemDetected( const TTsyReqHandle aTsyReqHandle,
+ RPhone::TModemDetection* aDetection );
+
+ /**
+ * Cancels modem detected notifications.
+ *
+ *
+ * @param aTsyReqHandle Request handle
+ * @return KErrNone
+ */
+ virtual TInt NotifyModemDetectedCancel(
+ const TTsyReqHandle aTsyReqHandle );
+
+ /**
+ * Fills the given pointer with phone capabilities (core)
+ *
+ *
+ * @param aTsyReqHandle TSY request handle
+ * @param aCaps phone capabities
+ * @return Return value to the ETel Server
+ */
+ virtual TInt GetCaps( const TTsyReqHandle aTsyReqHandle,
+ RPhone::TCaps *aCaps );
+
+ /**
+ * Fills the given pointer with phone status (core)
+ *
+ *
+ * @param aTsyReqHandle TSY request handle
+ * @param aStatus phone status
+ * @return Return value to the ETel Server
+ */
+ virtual TInt GetStatus( const TTsyReqHandle aTsyReqHandle,
+ RPhone::TStatus *aStatus );
+
+ /**
+ * Fills the given pointer with maximum number of supported lines
+ *
+ *
+ * @param aTsyReqHandle TSY request handle
+ * @param aCount line count
+ * @return Return value to the ETel Server
+ */
+ virtual TInt EnumerateLines( const TTsyReqHandle aTsyReqHandle,
+ TInt *aCount );
+
+ /**
+ * Fills the given pointer with line information
+ *
+ *
+ * @param aTsyReqHandle: TSY request handle
+ * @param aLineInfo: line information
+ * @return TInt: Return value to the ETel Server
+ */
+ virtual TInt GetLineInfo( const TTsyReqHandle aTsyReqHandle,
+ TLineInfoIndex *aLineInfo );
+
+ /**
+ * Register given notification
+ *
+ *
+ * @param aIpc IPC number
+ * @return Return value to the ETel Server
+ */
+ virtual TInt RegisterNotification( const TInt aIpc );
+
+ /**
+ * Deregister given notification
+ *
+ *
+ * @param aIpc IPC number
+ * @return Return value to the ETel Server
+ */
+ virtual TInt DeregisterNotification( const TInt aIpc );
+
+ /**
+ * Completes caps change notification
+ *
+ *
+ * @param None
+ */
+ void CompleteNotifyCapsChange();
+
+ /**
+ * Complete the client request when modem has been detected.
+ *
+ *
+ * @param aModemStatus Modem status
+ */
+ virtual void CompleteNotifyModemDetected(
+ RPhone::TStatus aModemStatus );
+
+ /**
+ * Returns the active phone extension
+ *
+ *
+ * @return pointer to the active phone extension
+ */
+ virtual CMmPhoneExtInterface* GetActivePhoneExtension();
+
+ /**
+ * Returns a pointer to the call list
+ *
+ *
+ * @return pointer to call list
+ */
+ virtual CMmCallList* CallList();
+
+ /**
+ * Returns a pointer to the line list
+ *
+ *
+ * @return pointer to line list
+ */
+ virtual CMmLineList* LineList();
+
+ /**
+ * Returns a pointer to the line list
+ *
+ *
+ * @return pointer to phonebook list
+ */
+ virtual CMmPBList* PBList();
+
+ /**
+ * Sets pointer to the conference call
+ *
+ *
+ * @param aMmConferenceCallTsy pointer to CC object
+ */
+ virtual void SetConferenceCall(
+ CMmConferenceCallTsy* aMmConferenceCallTsy );
+
+ /**
+ * Returns pointer to the conference call
+ *
+ *
+ * @return pointer to conference call
+ */
+ virtual CMmConferenceCallTsy* ConferenceCall();
+
+ /**
+ * Notifies client about ALS line change
+ *
+ *
+ */
+ virtual void CompleteNotifyALSLineChange( );
+
+ /**
+ * Completes the fdn setting request
+ *
+ *
+ * @param aErrorCode error/success code
+ */
+ virtual void CompleteSetFdnSettingL( TInt aErrorCode );
+
+ /**
+ * Notifies client about fdn status change
+ *
+ *
+ */
+ virtual void CompleteNotifyFdnStatusChange( );
+
+ /**
+ * Completes the fdn status request
+ *
+ *
+ * @param aErrorCode error/success code
+ */
+ virtual void CompleteGetFdnStatus( CMmDataPackage* aDataPackage,
+ TInt aErrorCode );
+
+ /**
+ * Completes client GetSubcriberId request
+ *
+ *
+ * @param aImsiData IMSI code
+ * @param aError error/success code
+ */
+ virtual void CompleteGetSubscriberIdL(
+ TBuf8<RMobilePhone::KIMSISize> aImsiData,
+ TInt aError );
+
+ /**
+ * Completes initialization of the phone
+ *
+ *
+ */
+ virtual void CompleteNotifyModemStatusReady();
+
+ /**
+ * Initializes SIM dependent parts
+ *
+ *
+ */
+ virtual void CompleteNotifySimStatusReadyL();
+
+ /**
+ * Sets the boot security flag iSecReady to ETrue
+ *
+ *
+ */
+ void CompleteNotifySecurityReady();
+
+ /**
+ * Initializes Phonebook caching, this happens after SIM is ready
+ *
+ *
+ */
+ void StartPBCachingL();
+
+ /**
+ * Returns current DOS bootstate
+ *
+ *
+ * @return DOS boot state
+ */
+ virtual CMmPhoneTsy::CNosBootState* NosBootState();
+
+ /**
+ * Returns current Phonebook state
+ *
+ *
+ * @return pointer to pb state -class
+ */
+ virtual CStorageInfoData* PhoneBookState();
+
+ /**
+ * Sets new DOS bootstate
+ *
+ *
+ * @param aNewState new state
+ */
+ virtual void SetNosBootState( CMmPhoneTsy::CNosBootState* aNewState );
+
+ /**
+ * Returns a pointer to active phone extension.
+ *
+ *
+ * @return pointer to requested object
+ */
+ CMmPhoneExtInterface* PhoneExtInterface();
+
+ /**
+ * Sets iPhoneIdentitys iSerialNumber
+ *
+ *
+ * @param aSerialData serial number
+ * @param aError error code
+ */
+ virtual void CompleteGetPhoneId(
+ TBuf8<KSerialNumberLength> aSerialData,
+ TInt aError );
+
+ /**
+ * Cancels get phone id request
+ *
+ *
+ * @param aTsyReqHandle TSY request handle
+ * @return Result of the request
+ */
+ TInt MobilePhoneGetPhoneIdCancel( const TTsyReqHandle aTsyReqHandle );
+
+ /**
+ * Returns pointer to the message manager
+ *
+ *
+ * @return pointer to the requested object
+ */
+ virtual CMmMessageManagerBase* MessageManager();
+
+ /**
+ * Returns pointer to the SMS session
+ *
+ *
+ * @param None
+ * @return pointer to the SmsSession
+ */
+ virtual CMmSmsTsy* SmsSession();
+
+ /**
+ * Returns pointer to the SMS service as a MCtsySatService.
+ *
+ *
+ * @return pointer to the SmsService
+ */
+ virtual MCtsySatService& SmsService();
+
+ /**
+ * Set SMS session
+ *
+ *
+ * @param aMmSmsTsy
+ */
+ virtual void SetSmsSession( CMmSmsTsy* aMmSmsTsy );
+
+ /**
+ * Returns pointer to the Packet Data session
+ *
+ *
+ * @param None
+ * @return pointer to the Packet Data session
+ */
+ virtual CMmPacketServiceTsy* PacketDataSession();
+
+ /**
+ * Sets Packet Data pointer to NULL
+ *
+ *
+ * @param None
+ */
+ virtual void ResetPacketDataSession();
+
+ /**
+ * Returns pointer to the SmsTsy
+ *
+ *
+ * @return pointer to the SmsTsy
+ */
+ virtual CMmSmsTsy* GetSmsTsy();
+
+ /**
+ * Returns pointer to the CustomTsy
+ *
+ *
+ * @return pointer to the CustomTsy
+ */
+ virtual CMmCustomTsy* GetCustomTsy();
+
+ /**
+ * Set pointer to the CustomTsy
+ *
+ *
+ * @param aMmCustomTsy
+ */
+ virtual void SetCustomTsy( CMmCustomTsy* aMmCustomTsy );
+
+ /**
+ * Complete notify ICC access capabilities change
+ *
+ *
+ * @param TInt aErrorCode Error code
+ */
+ virtual void CompleteNotifyIccAccessCapsChange();
+
+ /**
+ * Complete Get Customer Service Profile
+ *
+ *
+ * @param aCspFile CSP result from SIM
+ * @param aErrorCode error code
+ */
+ virtual void CompleteGetCustomerServiceProfile(
+ RMobilePhone::TMobilePhoneCspFileV1 aCspFile,
+ TInt aErrorCode );
+
+ /**
+ * This function cancels an outstanding ICC caps change
+ * notification request
+ *
+ *
+ * @param aTsyReqHandle Request handle
+ * @return KErrNone
+ */
+ TInt NotifyIccAccessCapsChangeCancel(
+ const TTsyReqHandle aTsyReqHandle );
+
+ /**
+ * Complete Get Service Table
+ *
+ *
+ * @param aTableData result from SIM
+ * @param aErrorCode error code
+ */
+ virtual void CompleteGetServiceTableL(
+ RMobilePhone::TMobilePhoneServiceTableV1 aTableData,
+ TInt aErrorCode );
+
+ /**
+ * Complete Get Phone Store Info
+ *
+ *
+ * @param aPhoneStoreInfo Result from SIM
+ * @param aErrorCode error code
+ */
+ virtual void CompleteGetPhoneStoreInfo(
+ RMobilePhoneStore::TMobilePhoneStoreInfoV1 aPhoneStoreInfo,
+ TInt aErrorCode );
+
+ /**
+ * This function completes battery informations.
+ *
+ *
+ * @param aDataPackage data package
+ * @param aErrorCode error code
+ */
+ void CompleteNotifyBatteryInfoChange(
+ CMmDataPackage* aDataPackage,
+ TInt aErrorCode );
+
+ /**
+ * Complete Get ServiceProvider Name
+ *
+ *
+ * @param aDataPackage
+ * @param aErrorCode error code
+ */
+ virtual void CompleteGetServiceProviderName(
+ CMmDataPackage* aDataPackage, TInt aErrorCode );
+
+ /**
+ * This method can be used to find out what protocol mode is
+ * currently active.
+ *
+ *
+ * @param aMode Mode
+ */
+ virtual void GetStaticExtensionMode(
+ RMobilePhone::TMobilePhoneNetworkMode* aMode );
+
+ /**
+ * Removes a line form LineList and recalculates phone capabilities.
+ * Checks the mode from all
+ * lines and then defines the capabilities.
+ *
+ *
+ * @param aLineName
+ */
+ void RemoveLine( const TName &aLineName );
+
+ /**
+ * Sets pointer to call object wishing to answer incoming data call.
+ *
+ *
+ * @param aMmCall
+ * @return Call object
+ */
+ void SetWaitingCallForData( CMmCallTsy* aMmCall );
+
+ /**
+ * Returns pointer to call object wishing to answer incoming data call
+ *
+ *
+ * @param None
+ * @return Call object
+ */
+ CMmCallTsy* WaitingCallForData();
+
+#ifdef REQHANDLE_TIMER
+ /**
+ * Called when the timer expires and a request must be completed
+ * automatically
+ *
+ *
+ * @param aReqHandleType req handle type.
+ * @param aObject object that should handle this
+ * @param aIPC
+ */
+ virtual void TimerExpired( CTelObject *aObject, TInt aReqHandleType,
+ TInt aIPC );
+
+ /**
+ * Calls the needed complete method due timer expiration
+ *
+ *
+ * @param aReqHandleType req handle type.
+ * @param aError error value
+ */
+ void Complete( TInt aReqHandleType, TInt aError );
+
+ /**
+ * Gets the pointer to the private member attribute iTimeStampStore
+ *
+ *
+ * @return pointer to the time stamp store
+ */
+ virtual CResponseTimerStore* GetTimeStampStore();
+
+ /**
+ * gets the pointer to the member private attribute iReqHandleTimer
+ *
+ *
+ * @return pointer to the the iReqHandleTimer
+ */
+ virtual CResponseTimer* GetTimer();
+#endif
+
+ /**
+ * Completes GetAlsLine
+ *
+ *
+ * @param aAlsStatus ALS line status
+ * @param aErrorCode Symbian OS error code
+ */
+ virtual void CompleteGetAlsLine(
+ RMobilePhone::TMobilePhoneALSLine aAlsStatus, TInt aErrorCode );
+ /**
+ * Completes SetAlsLine
+ *
+ *
+ * @param aErrorCode Symbian OS error code
+ */
+ virtual void CompleteSetAlsLine( TInt aErrorCode );
+
+ /**
+ * Cancels an outstanding GetAlsLine request
+ *
+ *
+ */
+ virtual TInt GetAlsLineCancel ( const TTsyReqHandle aTsyReqHandle );
+
+ /**
+ * Starts the air time duration timer
+ *
+ *
+ */
+ virtual void AirTimeTimerCheckStart();
+
+ /**
+ * Starts the air time duration timer
+ *
+ *
+ */
+ virtual void AirTimeTimerCheckStop();
+
+ /**
+ * Gets the value of the air time duration timer
+ *
+ *
+ * @param aTime value of the air time duration
+ */
+ virtual void GetAirTimeDuration( TTimeIntervalSeconds& aTime );
+
+ /**
+ * Returns pointer to the SAT messaging
+ *
+ *
+ * @return pointer to SAT messaging
+ */
+ virtual MStkTsySatService* GetSatMessaging();
+
+ /**
+ * Get State Info
+ *
+ *
+ * @return TRfStateInfo state info
+ */
+ virtual TRfStateInfo GetRfStateInfo();
+
+ /**
+ * Set State Info
+ *
+ *
+ * @param aStateInfo state info
+ */
+ virtual void SetRfStateInfo( TRfStateInfo aStateInfo );
+
+ /**
+ * Set Rf Status
+ *
+ *
+ * @param aRfStatus rf status
+ */
+ virtual void SetRfStatus( TRfStatus aRfStatus );
+
+ /**
+ * Get Rf Status
+ *
+ *
+ * @return iRfStatusFlag rf status
+ */
+ virtual TRfStatus GetRfStatus();
+
+ /**
+ * Registers SIM files for refresh
+ *
+ *
+ * @return Error value
+ */
+ TInt SimRefreshRegisterL();
+
+ /**
+ * Completes the SIM refresh register
+ *
+ *
+ * @param aErrorCode Symbian OS error code
+ */
+ void CompleteSimRefreshRegister( TInt aErrorCode );
+
+ /**
+ * Completes update life timer request
+ *
+ *
+ * @param aErrorCode Symbian OS error code
+ */
+ void CompleteUpdateLifeTimer( TInt aErrorCode );
+
+ /*
+ * Returns true if refresh called (caching initiated from SIM)
+ *
+ *
+ * @return ETrue if refresh initiated from SIM, otherwise EFalse
+ */
+ TBool IsRefreshOngoing();
+
+ /**
+ * Completes the refresh now -indication, sets refresh flag to ETrue
+ * and initiates the SIM file caching
+ *
+ *
+ * @param aFilesToRefresh SIM file types that need to be refreshed
+ */
+ void CompleteSimRefreshNowL( TUint16 aFilesToRefresh );
+
+ /**
+ * Starts caching the next SIM file in queue
+ * const TCacheFileTypes aFileType SIM file type to be refreshed
+ *
+ *
+ * @return EFalse if no files in queue, otherwise ETrue
+ */
+ TBool CacheNextL();
+
+ /**
+ * Removes SIM file(s) from caching queue and calls complete for
+ * RefreshNow if no more files in queue
+ *
+ *
+ * @param aFileType SIM filetypes to be removed from the queue
+ * @param aReadError Error value for reading the cache
+ */
+ void CompleteCacheSimL( const TUint8 aFileType,
+ TInt aReadError );
+
+ /**
+ * Completes the refresh by notifying server for completion
+ * TBool aReadError: If error occured when reading files: ETrue,
+ * otherwise EFalse
+ *
+ *
+ * @param aReadError
+ */
+ void NotifySimRefreshCompletionL( TBool aReadError );
+
+ /**
+ * Completes ims authentication request
+ *
+ *
+ * @param aDataPackage Holds authentication data from sim
+ * @param aResult Error value
+ */
+ void CompleteImsAuthentication(
+ CMmDataPackage* aDataPackage,
+ TInt aResult );
+
+ /**
+ * Completes the NotifyIndicatorChange if indicator state
+ * has changed.
+ *
+ *
+ */
+ void CompleteNotifyIndicatorChange();
+
+ /**
+ * Completes GetMailboxNumbers request
+ *
+ *
+ */
+ void CompleteGetMailboxNumbers(
+ CMmDataPackage* aDataPackage,
+ TInt aResult );
+
+#ifdef TF_LOGGING_ENABLED
+ /**
+ * Overloads original ReqCompleted for logging pourpouses
+ *
+ *
+ * @param aTsyReqHandle
+ * @param aError
+ */
+ virtual void ReqCompleted(
+ const TTsyReqHandle aTsyReqHandle,
+ const TInt aError );
+#endif
+
+ /**
+ * Get pointer to Net Tsy
+ *
+ *
+ */
+ CMmNetTsy* GetNetTsy();
+
+ /**
+ * Get pointer to Security Tsy
+ *
+ *
+ */
+ virtual CMmSecurityTsy* GetSecurityTsy();
+
+ /**
+ * Get pointer to ONStoreTsy
+ *
+ *
+ * @return pointer to ONStoreTsy
+ */
+ CMmONStoreTsy* GetONStoreTsy();
+
+ /**
+ * Get pointer to DTMF Tsy
+ *
+ *
+ */
+ virtual CMmDtmfTsy* GetDtmfTsy();
+
+ /**
+ * Get pointer to Supplementary Services Tsy
+ *
+ *
+ */
+ virtual CMmSupplServTsy* GetSupplServTsy();
+
+ /**
+ * Returns req handle type
+ *
+ *
+ * @return ReqHandleType
+ */
+ CMmPhoneTsy::TPhoneRequestTypes HandleType();
+
+ /**
+ * Sets the message manager pointer
+ *
+ *
+ * @param aMessageManager Message manager
+ */
+ void SetMessageManager(
+ CMmMessageManagerBase* aMessageManager );
+ /**
+ * Completes get call forwarding number request
+ *
+ *
+ * @param aError error value from
+ * @param aPackage includes data needed
+ */
+ void CompleteGetCallForwardingNumber( TInt aError,
+ const CMmDataPackage* aPackage );
+
+ /**
+ * Complete enumerate APN entries request
+ *
+ *
+ * @param aDataPackage Datapackage
+ * @param aErrorCode Error value
+ */
+ void CompleteEnumerateAPNEntries( CMmDataPackage* aDataPackage,
+ TInt aErrorCode );
+
+ /**
+ * Complete Get APN name request
+ *
+ *
+ * @param aDataPackage Datapackage
+ * @param aErrorCode Error value
+ */
+ void CompleteGetAPNname( CMmDataPackage* aDataPackage,
+ TInt aErrorCode );
+
+ /**
+ * Sets ALS Line service status by sim
+ *
+ *
+ * @param aState boolean for sim based ALS
+ */
+ void SetAlsState( TBool aState );
+
+ /**
+ * Maps ALS line info value
+ *
+ *
+ * @param aAlsLineInfo
+ */
+ RMobilePhone::TMobilePhoneALSLine MapMEALSLine( TInt aAlsLineInfo );
+
+ /**
+ * Resets ME ALS info from CentRep.
+ *
+ *
+ */
+ void ResetMEAlsInfo();
+
+ /**
+ * Returns sim refresh registration status
+ *
+ *
+ */
+ TBool GetSimRefreshRegister();
+
+ /**
+ * Starts new cache when PB read is called and sim refresh registration
+ * is failed
+ *
+ *
+ * @param aPhoneBookType phonebook to be cached
+ * @return error value
+ */
+ TInt StartNewCacheL( TUint8 aPhoneBookType );
+
+ /**
+ * Returns pointer to public CentRep
+ *
+ *
+ */
+ CRepository* GetCfisCenRep();
+
+ /**
+ * Returns pointer to public CentRep:
+ *
+ *
+ */
+ CRepository* GetMwisCenRep();
+
+ /**
+ * Returns pointer to private CentRep:
+ *
+ *
+ */
+ CRepository* GetCfisPRCenRep();
+
+ /**
+ * Complete Append APN name request
+ *
+ *
+ * @param aErrorCode Error value
+ */
+ void CompleteAppendAPNName( TInt aErrorCode );
+
+ /**
+ * Complete delete APN entry
+ *
+ *
+ * @param aErrorCode Error value
+ */
+ void CompleteDeleteAPNName( TInt aErrorCode );
+
+ /**
+ * Complete notification request
+ *
+ *
+ * @param aErrorCode Error value
+ */
+ void CompleteNotifyAPNListChanged( TInt aErrorCode );
+
+ /**
+ * Complete Set APN service status
+ *
+ *
+ * @param aErrorCode Error value
+ */
+ void CompleteSetAPNControlListServiceStatus( TInt aErrorCode );
+
+ /**
+ * Complete Get APN service status
+ *
+ *
+ * @param aDataPackage Datapackage
+ * @param aErrorCode Error value
+ */
+ void CompleteGetAPNControlListServiceStatus( CMmDataPackage*
+ aDataPackage, TInt aErrorCode );
+
+ /**
+ * Complete service status notification
+ *
+ *
+ * @param aDataPackage Datapackage
+ * @param aErrorCode Error value
+ */
+ void CompleteNotifyAPNControlListServiceStatusChange(
+ CMmDataPackage* aDataPackage, TInt aErrorCode );
+
+ /**
+ * Returns current nr of active calls
+ *
+ */
+ TInt NumberOfActiveCalls() const { return iAmountOfActiveCalls; }
+
+ /**
+ * Complete call duration change notification
+ *
+ *
+ */
+ void CompleteNotifyCallDurationChange();
+
+ /**
+ * SetAlsQueryInBoot request
+ *
+ * @param aInBoot bootupflag if als is asked during boot
+ */
+ void SetAlsQueryInBoot( TBool aInBoot );
+
+ /**
+ * GetAlsQueryInBoot request
+ *
+ * @return TBool
+ */
+ TBool GetAlsQueryInBoot();
+
+ /**
+ * If HomeZoneParams has been asked
+ *
+ * @return TBool
+ */
+ TBool GetHomeZoneParamsChecked();
+
+ /**
+ * Set HomeZoneParams status
+ *
+ * @param aHomeZoneChecked
+ */
+ void SetHomeZoneParamsChecked( TBool aHomeZoneChecked );
+
+ /**
+ * This method set the initialization status of the phonebook
+ *
+ * @param aIsInitializationActive is initialization active or not
+ */
+ void SetPBInitActiveStatus( TBool aIsInitializationActive );
+
+ /**
+ * This method returns the initialization status of the phonebook
+ *
+ * @return Phonebook init status
+ */
+ TBool IsPBInitActive();
+
+
+ /**
+ * Complete TerminateAllCalls request
+ *
+ * @param aErrorCode The result of the request
+ */
+ void CompleteTerminateAllCallsReq(TInt aErrorCode);
+
+ /**
+ * Notify change of battery info
+ *
+ * @param aErrorCode error code
+ * @param aBatteryData data structure used to retreive data from a call
+ * to GetBatteryInfo
+ */
+ void NotifyBatteryInfo( TInt aErrorCode,
+ CHWRMPower::TBatteryConsumptionData aBatteryData );
+
+ /**
+ * Notify change of charging status
+ *
+ * @param aErrorCode error code
+ * @param aBatteryInfo package containing power and battery status
+ */
+ void NotifyChargingStatus( TInt aErrorCode,
+ RMobilePhone::TMobilePhoneBatteryInfoV1 aBatteryInfo );
+#ifdef USING_CTSY_DISPATCHER
+ /**
+ * Sets iPhoneIdentity
+ * This is for when the LTSY can return the entire TMobilePhoneIdentityV1
+ *
+ * @param aPhoneId The phone identity
+ * @param aError error code
+ */
+ virtual void CompleteGetPhoneId(
+ const RMobilePhone::TMobilePhoneIdentityV1& aPhoneId,
+ TInt aError );
+#endif //USING_CTSY_DISPATCHER
+
+ /**
+ * This method returns whether SIM is ready or not.
+ *
+ * @return SIM status
+ */
+ TBool IsSIMReady();
+
+ /*
+ * This method saves FDN details in case of FDN Phonebook not created
+ *
+ * @since S60 v3.2
+ * @param aErrorCode Error value
+ * @param aDataPackage DataPackage
+ */
+ void SaveFdnInfoDetails(TInt aErrorCode, CMmDataPackage* aDataPackage );
+
+ private:
+
+ /**
+ * C++ default constructor.
+ */
+ CMmPhoneTsy();
+
+ /**
+ * By default Symbian 2nd phase constructor is private.
+ */
+ void ConstructL();
+
+ /**
+ * Initialises transaction handler, TSY req handle store,
+ * and object lists
+ *
+ *
+ */
+ void InitStoresAndListsL();
+
+ /**
+ * Initialises extension modules
+ *
+ *
+ */
+ void InitExtensionModulesL();
+
+ /**
+ * Initialise miscellaneous internal attributes
+ *
+ *
+ */
+ void InitInternalAttributes();
+
+ /**
+ * Handles extended client requests. Uses TRAP to ensure functioning on
+ * memory allocation failure
+ *
+ *
+ * @param aTsyReqHandle TSY request handle
+ * @param aIpc request IPC number
+ * @param aPackage packaged request parameters
+ * @return result of the request
+ */
+ TInt DoExtFuncL( const TTsyReqHandle aTsyReqHandle,
+ const TInt aIpc,
+ const TDataPackage& aPackage );
+
+ /**
+ * Handles cancel methods that cause message sending to DOS.
+ *
+ *
+ * @param aIpc request IPC number
+ * @param aTsyReqHandle TSY request handle
+ * @return result of the request
+ */
+ TInt CancelToPhonetL( const TInt aIpc,
+ const TTsyReqHandle aTsyReqHandle );
+
+ /**
+ * Traped Initialisation method
+ *
+ *
+ */
+ void InitL();
+
+ /**
+ * Get ICC Access Capabilities
+ *
+ *
+ * @param aTsyReqHandle
+ * @param aCaps
+ * @return error value
+ */
+ TInt GetIccAccessCaps( const TTsyReqHandle aTsyReqHandle,
+ TUint32* aCaps );
+
+ /**
+ * Notify Change of ICC Access Caps
+ *
+ *
+ * @param aCaps
+ * @return error value
+ */
+ TInt NotifyIccAccessCapsChange( TUint32* aCaps );
+
+ /**
+ * Get Service Table and check validity of client parameters
+ *
+ *
+ * @param aTsyReqHandle TSY request handle
+ * @param aTable Service Table specifier
+ * @param aTableData Service Table file contents
+ * @return KErrNone or system wide error
+ */
+ TInt GetServiceTableCheckParametersL(
+ const TTsyReqHandle aTsyReqHandle,
+ RMobilePhone::TMobilePhoneServiceTable* aTable,
+ TDes8* aTableData );
+
+ /**
+ * Get Service Table
+ *
+ *
+ * @param aTsyReqHandle TSY request handle
+ * @param aTable Service Table specifier
+ * @param aTableData Service Table file contents
+ * @return status
+ */
+ TInt GetServiceTableL( const TTsyReqHandle aTsyReqHandle,
+ RMobilePhone::TMobilePhoneServiceTable* aTable,
+ RMobilePhone::TMobilePhoneServiceTableV1* aTableData );
+
+ /**
+ * This function cancels GetServiceTable request
+ *
+ *
+ * @param aTsyReqHandle TSY request handle
+ * @return status
+ */
+ TInt GetServiceTableCancel ( const TTsyReqHandle aTsyReqHandle );
+
+ /**
+ * Get Phone Store Info
+ *
+ *
+ * @param aInfo pointer to ETel server phone store info data
+ * @param aStoreName name of the store
+ * @return error value
+ */
+ TInt GetPhoneStoreInfoL( TDes8* aInfo,
+ const RMobilePhone::TMobileName* aStoreName );
+
+ /**
+ * This function cancels GetPhoneStoreInfo request
+ *
+ *
+ * @param aTsyReqHandle TSY request handle
+ * @return status
+ */
+ TInt GetPhoneStoreInfoCancel( const TTsyReqHandle aTsyReqHandle );
+
+ /**
+ * This function returns phone ID.
+ *
+ *
+ * @param aTsyReqHandle request handle
+ * @param aId aId pointer
+ * @return KErrNone
+ */
+ TInt GetPhoneIdL( const TTsyReqHandle aTsyReqHandle,
+ RMobilePhone::TMobilePhoneIdentityV1* aId );
+
+ /**
+ * This is a helper function for GetPhoneIdL.
+ *
+ *
+ * @param aTsyReqHandle request handle
+ * @param aId aId pointer
+ */
+ void DoGetPhoneIdL(const TTsyReqHandle aTsyReqHandle,
+ RMobilePhone::TMobilePhoneIdentityV1* aId);
+
+ /**
+ * This function returns subscriber ID.
+ *
+ *
+ * @param aTsyReqHandle request handle
+ * @param aId aId pointer
+ * @return KErrNone
+ */
+ TInt GetSubscriberIdL( const TTsyReqHandle aTsyReqHandle,
+ RMobilePhone::TMobilePhoneSubscriberId* aId );
+
+ /**
+ * This function cancels GetSubscriberId request
+ *
+ *
+ * @param aTsyReqHandle request handle
+ * @return KErrNone
+ */
+ TInt GetSubscriberIdCancel( const TTsyReqHandle aTsyReqHandle );
+
+ /**
+ * This request function returns Phone Indicator state to the client.
+ *
+ *
+ * @param aTsyReqHandle request handle
+ * @param aIndicators indicator pointer
+ * @return KErrNone, or KErrGeneral, if the input pointer is NULL
+ */
+ TInt GetIndicators( const TTsyReqHandle aTsyReqHandle,
+ TUint32* aIndicators);
+
+ /**
+ * Returns multimode capabilities
+ *
+ *
+ * @param aTsyReqHandle TSY request handle
+ * @param aCaps multimode capabilities
+ * @return Return value to the ETel Server
+ */
+ TInt GetMultimodeCaps( const TTsyReqHandle aTsyReqHandle,
+ TUint32* aCaps );
+
+ /**
+ * This function returns signal capabilities
+ *
+ *
+ * @param aTsyReqHandle Tsy request handle
+ * @param aCaps Capabilities
+ * @return KErrNone
+ */
+ TInt GetSignalCaps( const TTsyReqHandle aTsyReqHandle,
+ TUint32* aCaps );
+
+ /**
+ * This function returns identity capabilities
+ *
+ *
+ * @param aTsyReqHandle request handle
+ * @param TaCaps pointer to aCaps
+ * @return KErrNone
+ */
+ TInt GetIdentityCaps( const TTsyReqHandle aTsyReqHandle,
+ TUint32* aCaps );
+
+ /**
+ * This function returns network capabilities
+ *
+ *
+ * @param aTsyReqHandle Request handle
+ * @param aCaps Capabilities
+ * @return KErrNone
+ */
+ TInt GetNetworkCaps( const TTsyReqHandle aTsyReqHandle,
+ TUint32* aCaps );
+
+ /**
+ * This function returns phone indicator capabilities
+ *
+ *
+ * @param aTsyReqHandle Request handle
+ * @param aActCaps: Action Capabilities (get, notify)
+ * using a RMobilePhone::TMobilePhoneIndicatorCaps -type bitmasks
+ * @param aIndCaps: the kind of indicators can be given
+ * using a RMobilePhone::TMobilePhoneIndicators -type bitmasks
+ * @return KErrNone, or KErrGeneral if any of the input
+ * pointers are NULL
+ */
+ TInt GetIndicatorCaps( const TTsyReqHandle aTsyReqHandle,
+ TUint32* aActCaps,
+ TUint32* aIndCaps );
+
+ /**
+ * Get Customer Service Profile
+ *
+ *
+ * @param aTsyReqHandle Tsy request handle
+ * @param aCspFile Customer Service Profile file
+ * @return status
+ */
+ TInt GetCustomerServiceProfileL( const TTsyReqHandle aTsyReqHandle,
+ TDes8* aCspFile );
+
+ /**
+ * This function cancels an outstanding get customer service profile
+ * request
+ *
+ * @param aTsyReqHandle Request handle
+ * @return KErrNone
+ */
+ TInt GetCustomerServiceProfileCancel(
+ const TTsyReqHandle aTsyReqHandle );
+
+ /**
+ * This function returns battery capabilities.
+ *
+ *
+ * @param aTsyReqHandle request handle
+ * @param aCaps pointer to aCaps
+ * @return KErrNone
+ */
+ TInt GetBatteryCaps(
+ const TTsyReqHandle aTsyReqHandle,
+ TUint32* aCaps );
+
+ /**
+ * This function returns battery informations.
+ *
+ *
+ * @param aTsyReqHandle request handle
+ * @param aInfo aInfo pointer
+ * @return KErrNone
+ */
+ TInt GetBatteryInfoL(
+ const TTsyReqHandle aTsyReqHandle,
+ RMobilePhone::TMobilePhoneBatteryInfoV1* aInfo );
+
+ /**
+ * This function is used to request battery info change notifications.
+ *
+ *
+ * @param aInfo battery info
+ * @return KErrNone
+ */
+ TInt NotifyBatteryInfoChange(
+ RMobilePhone::TMobilePhoneBatteryInfoV1* aInfo );
+
+ /**
+ * This function cancels an outstanding battery info change notification
+ * request
+ *
+ *
+ * @param aTsyReqHandle Request handle
+ * @return KErrNone
+ */
+ TInt NotifyBatteryInfoChangeCancel(
+ const TTsyReqHandle aTsyReqHandle );
+
+
+ /**
+ * This function is used to request indicator change notifications.
+ *
+ *
+ * @param aIndicatorState indicator state
+ * @return KErrNone
+ */
+ TInt NotifyIndicatorChange( TUint32* aIndicatorState );
+
+ /**
+ * Cancels NotifyIndicatorChange
+ *
+ *
+ * @param aTsyReqHandle TSY request handle
+ * @return result of the request
+ *
+ */
+ TInt NotifyIndicatorChangeCancel( const TTsyReqHandle aTsyReqHandle );
+
+ /**
+ * Get service provider name from Sim
+ *
+ *
+ * @param aTsyReqHandle Tsy request handle
+ * @param aName Service provider name info
+ * @return KErrNone or system wide error code
+ */
+ TInt GetServiceProviderNameL( const TTsyReqHandle aTsyReqHandle,
+ TDes8* aName );
+
+ /** This function cancels the service provider name retrieving.
+ *
+ *
+ * @param aTsyReqHandle request handle
+ * @return KErrNone
+ */
+ TInt GetServiceProviderNameCancel( const TTsyReqHandle aTsyReqHandle );
+
+ /**
+ * This method allows a client to find out which voice line
+ * is currently selected as the active ALS line for outgoing
+ * voice calls.
+ *
+ *
+ * @param aALSLine Selected line
+ * @return KErrNone
+ */
+ TInt GetALSLineL( const TTsyReqHandle aTsyReqHandle,
+ RMobilePhone::TMobilePhoneALSLine* aALSLine );
+
+ /**
+ * This method allows a client to set which voice line is currently
+ * selected as the active ALS line for outgoing voice calls
+ *
+ *
+ * @param aALSLine line selection
+ * @return KErrNone
+ */
+ TInt SetALSLineL( const TTsyReqHandle aTsyReqHandle,
+ RMobilePhone::TMobilePhoneALSLine* aALSLine );
+
+ /**
+ * This method allows a client to be notified if the currently selected
+ * ALS line changes
+ *
+ *
+ * @param aALSLine new active line
+ * @return KErrNone
+ */
+ TInt NotifyALSLineChange(
+ RMobilePhone::TMobilePhoneALSLine* aALSLine );
+
+ /**
+ * This method cancels order to notify if ALS line changes
+ *
+ *
+ * @param aTsyReqHandle request handle
+ * @return KErrNone
+ */
+ TInt NotifyALSLineChangeCancel( const TTsyReqHandle aTsyReqHandle );
+
+ /**
+ * This method retrieves the current status of the Fixed Dialling
+ * Numbers service
+ *
+ *
+ * @param aTsyReqHandle request handle
+ * @param aStatus current status
+ * @return KErrNone
+ */
+ TInt GetFdnStatusL( const TTsyReqHandle aTsyReqHandle,
+ RMobilePhone::TMobilePhoneFdnStatus* aFdnStatus );
+
+ /**
+ * This method cancels Fixed Dialling Numbers service request
+ *
+ *
+ * @param aTsyReqHandle request handle
+ * @return KErrNone
+ */
+ TInt GetFdnStatusCancel( const TTsyReqHandle aTsyReqHandle );
+
+ /**
+ * This method activates (ON) or deactivates (OFF) the Fixed
+ * Dialling Numbers (FDN) service.
+ *
+ *
+ * @param aTsyReqHandle request handle
+ * @param aFdnsetting new setting
+ * @return KErrNone
+ */
+ TInt SetFdnSettingL( const TTsyReqHandle aTsyReqHandle,
+ const TDataPackage& aPackage );
+
+ /**
+ * This request allows a client to be notified when the status of the
+ * FDN service has changed
+ *
+ *
+ * @param aStatus status
+ * @return KErrNone
+ */
+ TInt NotifyFdnStatusChange(
+ RMobilePhone::TMobilePhoneFdnStatus* aStatus );
+
+ /**
+ * This request cancels order to notify if status changes
+ *
+ *
+ * @param aTsyReqHandle request handle
+ * @return KErrNone
+ */
+ TInt NotifyFdnStatusChangeCancel( const TTsyReqHandle aTsyReqHandle );
+
+ /**
+ * Returns current indicator state according to batteryInfo,
+ * networkStatus and call state
+ *
+ *
+ * @return bit mask of enabled features using
+ * RMobilePhone::TMobilePhoneIndicators
+ */
+ TUint32 GetIndicatorState();
+
+ /**
+ * Get current subscriber ID (IMSI) for TSY internal use
+ *
+ *
+ */
+ void GetSubscriberIdForTSYL();
+
+#ifdef REQHANDLE_TIMER
+ /**
+ * Chooses the type of response, automatic or common
+ *
+ *
+ * @param aReqHandleType req handle type.
+ * @param aTsyReqHandle: req handle to be stored.
+ */
+ void SetTypeOfResponse( const TInt aReqHandleType,
+ const TTsyReqHandle aTsyReqHandle );
+
+#endif
+
+ /**
+ * Checks wether or not a ETel request can be performed
+ * while offline mode is enabled
+ *
+ *
+ * @param aIpc Ipc number of the request
+ * @return Boolean indicating if request is possible in offline
+ */
+ TBool IsRequestPossibleInOffline( TInt aIpc );
+
+ /**
+ * Authenticates with data provided by client
+ * @param aAuthenticationData Pointer to IMS authentication data.
+ * @return TInt KErrNone
+ */
+ TInt ImsAuthenticationL( TDes8* aAuthenticationData );
+
+ /**
+ * Cancels sim authenticaiton request
+ *
+ *
+ * @return KErrNone
+ */
+ TInt ImsAuthenticationCancel();
+
+ /**
+ * Caches Service Tables
+ *
+ *
+ * @return KErrNone
+ */
+ void CacheServiceTablesL();
+
+ /**
+ * Completes caching of Service Tables
+ *
+ *
+ * @return TInt KErrNone
+ */
+ void CompleteCacheServiceTablesL(const TInt aError);
+
+ /**
+ * Requests mailbox numbers identifier information
+ * @param aMailBox mailbox data.
+ *
+ *
+ * @return KErrNone
+ */
+ TInt GetMailboxNumbersL( TDes8* aMailBox );
+
+ /**
+ * Cancels get mailbox numbers request
+ *
+ *
+ * @return KErrNone
+ */
+ TInt GetMailboxNumbersCancel();
+
+ /**
+ * Enumerates number of APN entries in ACL
+ *
+ *
+ * @param aTsyReqHandle Request Handle
+ * @param aIndex Pointer to index
+ * @return Error value
+ */
+ TInt EnumerateAPNEntriesL( const TTsyReqHandle aTsyReqHandle,
+ TUint32* aIndex );
+
+ /**
+ * Cancel enumerate APN entries request
+ *
+ *
+ * @return Error value
+ */
+ TInt EnumerateAPNEntriesCancel();
+
+ /**
+ * Get APN name
+ *
+ *
+ * @param aTsyReqHandle Request handle
+ * @param aIndex Index of requested APN
+ * @param aAPN APN name
+ * @return Error value
+ */
+ TInt GetAPNnameL( const TTsyReqHandle aTsyReqHandle, TUint32* aIndex,
+ TDes8* aAPN );
+
+ /**
+ * Cancel get APN name request
+ *
+ *
+ * @return Error value
+ */
+ TInt GetAPNnameCancel();
+
+ /**
+ * Append an entry to the access point name (APN) control list
+ *
+ *
+ * @param aAPNEntry APN Entry
+ * @return Error value
+ */
+ TInt AppendAPNNameL( RMobilePhone::TAPNEntryV3* aAPNEntry );
+
+ /**
+ * Cancel AppendAPNName
+ *
+ *
+ * @return KErrNone
+ */
+ TInt AppendAPNNameCancel();
+
+ /**
+ * Delete an entry from the access point name (APN) control list
+ *
+ *
+ * @param aTsyReqHandle TSY req handle
+ * @param aIndex Deleted index
+ * @return Error value
+ */
+ TInt DeleteAPNNameL( const TTsyReqHandle aTsyReqHandle,
+ TUint32* aIndex );
+
+ /**
+ * Cancel DeleteAPNName
+ *
+ *
+ * @return KErrNone
+ */
+ TInt DeleteAPNNameCancel();
+
+ /**
+ * This function is used to request to receive notification of when
+ * the APN control list changes.
+ *
+ *
+ * @return KErrNone
+ */
+ TInt NotifyAPNListChanged();
+
+ /**
+ * This function cancels an outstanding access point name (APN)
+ * control list change notification request.
+ *
+ *
+ * @return KErrNone
+ */
+ TInt NotifyAPNListChangedCancel();
+
+ /**
+ * Enabling and disabling the access point name (APN)
+ * control list service
+ *
+ * @param aTsyReqHandle TSY req handle
+ * @param aAPNControlListServiceStatus ACL status
+ * @return Error value
+ */
+ TInt SetAPNControlListServiceStatusL(
+ const TTsyReqHandle aTsyReqHandle,
+ RMobilePhone::TAPNControlListServiceStatus*
+ aAPNControlListServiceStatus );
+
+ /**
+ * Cancel the request to set ACL status
+ *
+ *
+ * @return KErrNone
+ */
+ TInt SetAPNControlListServiceStatusCancel();
+
+ /**
+ * Get the status of the access point name (APN) control list service
+ *
+ *
+ * @param aTsyReqHandle TSY req handle
+ * @param aAPNControlListServiceStatus ACL status
+ * @return Error value
+ */
+ TInt GetAPNControlListServiceStatusL(
+ const TTsyReqHandle aTsyReqHandle,
+ RMobilePhone::TAPNControlListServiceStatus*
+ aAPNControlListServiceStatus );
+
+ /**
+ * Cancel the request to get ACL status
+ *
+ *
+ * @return KErrNone
+ */
+ TInt GetAPNControlListServiceStatusCancel();
+
+ /**
+ * This function is used to request to receive notification of when
+ * the status of the APN control list service changes.
+ *
+ *
+ * @param aAPNControlListServiceStatus
+ * @return KErrNone
+ */
+ TInt NotifyAPNControlListServiceStatusChange(
+ RMobilePhone::TAPNControlListServiceStatus*
+ aAPNControlListServiceStatus );
+
+ /**
+ * This function cancels an outstanding access point name (APN)
+ * control list service status change notification request.
+ *
+ *
+ * @return KErrNone
+ */
+ TInt NotifyAPNControlListServiceStatusChangeCancel();
+
+ /**
+ * Terminate all calls simultaneously
+ *
+ * @param aTsyReqHandle TSY req handle
+ * @return Error value
+ */
+ TInt TerminateAllCallsL(const TTsyReqHandle aTsyReqHandle);
+
+ /*
+ * This function return availability of Hareware Resource Manager in the current ROM
+ *
+ * @return TTrue indicate HWRM is available. TFalse indicate it is unavailable
+ */
+ TBool IsHWRMSupported();
+
+#ifdef REQHANDLE_TIMER
+ /**
+ * Sets the security code when the request completes due to timer expiration
+ * and then it calls the completion function to handle the timeout event.
+ *
+ * @param aReqHandleType req handle type.
+ * @param aError: error code.
+ */
+ void TimeoutGetSecurityCodeInfo(const TInt aReqHandleType, const TInt aError);
+#endif
+
+ private: // Data
+
+ /**
+ * Property for call forwarding number
+ */
+ RProperty iEmergencyCallInfoProperty;
+
+ /**
+ * Buffer for call forwarding number
+ */
+ TBuf<40> iCallForwardingNumber;
+
+ /**
+ * A pointer to the Phone factory
+ * Own.
+ */
+ CMmPhoneFactoryTsy* iMmPhoneFactory;
+
+ /**
+ * A pointer to the active phone extension
+ * Own.
+ */
+ CMmPhoneExtInterface* iMmPhoneExtInterface;
+
+ /**
+ * A pointer to the call list
+ * Own.
+ */
+ CMmCallList* iCallList;
+
+ /**
+ * A pointer to the line list
+ * Own
+ */
+ CMmLineList* iLineList;
+
+ /**
+ * A pointer to the phonebook list
+ * own.
+ */
+ CMmPBList* iPBList;
+
+ /**
+ * A pointer to the conference call object'
+ */
+ CMmConferenceCallTsy* iMmConferenceCall;
+
+ /**
+ * A pointer to the SAT object
+ */
+ CTsySatMessagingBase* iTsySatMessaging;
+
+ /**
+ * A pointer to the USSD object
+ */
+ CMmUssdTsy* iMmUssdTsy;
+
+ /**
+ * A pointer to the onstore object
+ * Own.
+ */
+ CMmONStoreTsy* iMmONStoreTsy;
+
+ /**
+ * A pointer to the enstore object
+ * Own.
+ */
+ CMmENStoreTsy* iMmENStoreTsy;
+
+ /**
+ * A pointer to the phonebookstore object
+ * Own.
+ */
+ CMmPhoneBookStoreTsy* iMmPhoneBookStoreTsy;
+
+ /**
+ * A pointer to the Custom TSY
+ */
+ CMmCustomTsy* iMmCustomTsy;
+
+ /**
+ * A pointer to the multimode messaging object
+ */
+ CMmSmsTsy* iMmSmsTsy;
+
+ /**
+ * a pointer to the Packet Data object
+ */
+ CMmPacketServiceTsy* iMmPacketServiceTsy;
+
+ /**
+ * Transaction id
+ */
+ TUint8 iTransId;
+
+ /**
+ * Phone capabilities
+ */
+ RPhone::TCaps iPhoneCaps;
+
+ /**
+ * Phone's modem status
+ */
+ RPhone::TStatus iPhoneStatus;
+
+ /**
+ * Phone version information
+ */
+ RMobilePhone::TMobilePhoneIdentityV1 iPhoneIdentity;
+
+ /**
+ * Phone version information
+ */
+ RMobilePhone::TMobilePhoneIdentityV1* iRetPhoneIdentity;
+
+ /**
+ * Subscriber ID (IMSI)
+ */
+ RMobilePhone::TMobilePhoneSubscriberId iSubscriberId;
+
+ /**
+ * Pointers to client address space
+ */
+ RPhone::TCaps* iRetCaps;
+
+ /*
+ * Pointer to client side for modem detection changes
+ */
+ RPhone::TModemDetection* iRetModemDetection;
+
+ /**
+ * Flag for refresh; set to true when "refresh now" -indication
+ * received and to false when all registered files cached
+ */
+ TBool iRefreshOngoing;
+
+ /**
+ * For keeping list of SIM files left to be cached
+ */
+ TUint16 iSimCacheQueue;
+
+ /**
+ * notify fixed dialing number status
+ */
+ RMobilePhone::TMobilePhoneFdnStatus* iRetNotifyFdnStatus;
+
+ /**
+ * notify als line
+ */
+ RMobilePhone::TMobilePhoneALSLine* iRetNotifyALSLine;
+
+ /**
+ * ICC capabolities
+ */
+ TUint32* iICCCaps;
+
+ /**
+ * Battery info
+ */
+ RMobilePhone::TMobilePhoneBatteryInfoV1 iBatteryInfo;
+
+ /**
+ * Battery info
+ */
+ RMobilePhone::TMobilePhoneBatteryInfoV1* iRetBatteryInfo;
+
+ /**
+ * Phone store info (return pointer to client)
+ */
+ RMobilePhoneStore::TMobilePhoneStoreInfoV1* iRetPhoneStoreInfo;
+
+ /**
+ * Service Table (return pointer to client)
+ */
+ RMobilePhone::TMobilePhoneServiceTableV1* iRetTableData;
+
+ /**
+ * Service Table (SIM )(return pointer to client)
+ */
+ RMobilePhone::TMobilePhoneServiceTableV1* iServiceTableDataCache;
+
+ /**
+ * Service Table (USIM) (return pointer to client)
+ */
+ RMobilePhone::TMobilePhoneServiceTableV1* iServiceTableUSIMDataCache;
+
+ /**
+ * Pending Service Table cache request
+ */
+ TServiceTableRequest iPendingServiceTableCacheReq;
+
+ /**
+ * Pending Service Table request
+ */
+ TServiceTableRequest iPendingServiceTableReq;
+
+ /**
+ * A table for phone request handles
+ */
+ TTsyReqHandle iPhoneReqHandles[EMultimodePhoneMaxNumOfRequests];
+
+ /**
+ * Pointer to CMmMessageManagerBase
+ */
+ CMmMessageManagerBase* iMessageManager;
+
+ /**
+ * a Pointer to the broadcast object
+ */
+ CMmBroadcastTsy* iMmBroadcastTsy;
+
+ /**
+ * new fdn setting
+ */
+ RMobilePhone::TMobilePhoneFdnSetting* iRetFdnSetting;
+
+ /**
+ * TSY req handle store
+ * Own.
+ */
+ CMmTsyReqHandleStore* iTsyReqHandleStore;
+
+ /**
+ * TSY request type
+ */
+ TPhoneRequestTypes iReqHandleType;
+
+ /**
+ * A pointer to call object waiting for incoming call
+ */
+ CMmCallTsy* iMmWaitingDataCall;
+
+ /**
+ * Als Line status
+ */
+ RMobilePhone::TMobilePhoneALSLine iAlsLine;
+
+ /**
+ * Temporary Als Line status, for set operation
+ */
+ RMobilePhone::TMobilePhoneALSLine iTempAlsLine;
+
+ /**
+ * DOS BootState
+ */
+ CNosBootState iBootState;
+
+ /**
+ * Phonebook state
+ */
+ CStorageInfoData* iPhoneBookState;
+
+
+#ifdef REQHANDLE_TIMER
+
+ /**
+ * Timer
+ * Own.
+ */
+ CResponseTimer *iReqHandleTimer;
+
+ /**
+ * Time store
+ * Own.
+ */
+ CResponseTimerStore *iTimeStampStore;
+
+#endif
+ /**
+ * timer for air time duration monitoring
+ * Own.
+ */
+ CHeartbeatRunner* iAirTimeDurationTimer;
+
+ /**
+ * Amount of active calls for air time duration calculation
+ */
+ TInt iAmountOfActiveCalls;
+
+ /**
+ * Offline
+ */
+ TRfStateInfo iStateInfo;
+ TRfStatus iRfStatusFlag;
+
+ /**
+ * Pointer to the NetTsy class
+ * Own.
+ */
+ CMmNetTsy* iMmNetTsy;
+
+ /**
+ * Pointer to the DtmfTsy class
+ * Own.
+ */
+ CMmDtmfTsy* iMmDtmfTsy;
+
+ /**
+ * Pointer to the SupplServTsy class
+ * Own.
+ */
+ CMmSupplServTsy* iMmSupplServTsy;
+
+ /**
+ * Pointer to the SecurityTsy class
+ * Own.
+ */
+ CMmSecurityTsy* iMmSecurityTsy;
+
+ /**
+ * Fdn Status
+ */
+ RMobilePhone::TMobilePhoneFdnStatus* iRetGetFdnStatus;
+
+ /**
+ * Pointer to struct for storing get servicetable parameters
+ */
+ RPointerArray< TServiceTableRequests > iServiceTableRequests;
+
+ /**
+ * state of phone indicator
+ */
+ RPointerArray< TSubscriberIdRequest > iSubscriberIdRequests;
+
+ /**
+ * Array for buffering Phone Id requests
+ */
+ RPointerArray< TGetPhoneIdRequest > iGetPhoneIdRequests;
+
+ /**
+ * Array for buffering Customer service profile requests
+ */
+ RPointerArray< TCustomerServiceProfileIdRequest >
+ iCustomerServiceProfileRequests;
+
+ /**
+ * Array for buffering Get Als Line requests
+ */
+ RPointerArray< TGetAlsLineRequest > iGetAlsLineRequests;
+
+ /**
+ * Indicator state
+ */
+ TUint32 iIndicatorState;
+
+ /**
+ * Indicator state
+ */
+ TUint32* iRetIndicatorState;
+
+ /**
+ * Pointer to the IMS authentication data
+ */
+ TDes8* iIMSAuthenticationData;
+
+ /**
+ * Pointer to the Mailbox dialling numbers data
+ */
+ TDes8* iMailBoxData;
+
+ /**
+ * Number of APNs in ACL (return pointer to client)
+ * Not Own.
+ */
+ TUint32* iRetAPNEntries;
+
+ /**
+ * APN name (return pointer to client)
+ * Not Own.
+ */
+ TDes8* iRetAPNname;
+
+ /**
+ * Sim support for ALS
+ */
+ TBool iAlsSupportedBySim;
+
+ /**
+ * Pointer to Central Repository
+ * Own.
+ */
+ CRepository* iCentRep;
+
+ /**
+ * Indicates about sim refresh registration status
+ */
+ TBool iSimRefreshRegisterOk;
+
+ /**
+ * Indicates that GetServiceTableL method is called
+ */
+ TBool iCalledOnGet;
+
+ /**
+ * Pointer to struct for storing get servicetable parameters
+ * Own.
+ */
+ TGetServiceTableRequest* iServiceTableReq;
+
+ /**
+ * Service table cache error
+ */
+ TInt iCacheServiceTableError;
+
+ /**
+ * Pointer to Public Central Repository
+ * Own.
+ */
+ CRepository* iCFISCentRep;
+
+ /**
+ * Pointer to MWIS Central Repository
+ * Own.
+ */
+ CRepository* iMWISCentRep;
+
+ /**
+ * Pointer to CFIS Private Central Repository
+ * Own.
+ */
+ CRepository* iCFISPrivateCentRep;
+
+ /**
+ * Get Subscriber Id requested from CommonTSY
+ */
+ TBool iTSYSubscriberIdReq;
+
+ /**
+ * Pointer to ACL status
+ * Not Own.
+ */
+ RMobilePhone::TAPNControlListServiceStatus* iRetAclStatus;
+
+ /**
+ * Pointer to ACL status
+ * Not Own.
+ */
+ RMobilePhone::TAPNControlListServiceStatus* iSetAclStatus;
+
+ /**
+ * Pointer to ACL status
+ * Not Own.
+ */
+ RMobilePhone::TAPNControlListServiceStatus* iRetNotifyAclStatus;
+
+ /**
+ * Array for storing get service provider name requests
+ */
+ RPointerArray< TServiceProviderNameRequest >
+ iServiceProviderNameRequests;
+
+ /**
+ * Pointer to LicenseeTsy instance
+ */
+ MLtsyFactoryBase* iLtsyFactory;
+
+ /**
+ * A boolean to tell CSP file request that
+ * it's called internally during the boot
+ */
+ TBool iCspFileQueryInBoot;
+
+ /**
+ * A boolean to tell ALS support request that
+ * it's called internally during the boot
+ */
+ TBool iAlsQueryInBoot;
+
+ /**
+ * A boolean to hold CSP file's ALS data
+ */
+ TBool iCspFileALS;
+
+ /**
+ * A boolean to hold ALS Pp Support
+ * it's called internally during the boot
+ */
+ TBool iAlsPpSupport;
+
+ /**
+ * A boolean to tell if CSP file's ALS data
+ * is being set into ALS state
+ */
+ TBool iCspFileAlsSet;
+
+ /**
+ * A boolean to tell if HomeZoneParams
+ * has been checked
+ */
+ TBool iViagHomeZoneParamsChecked;
+
+ /**
+ *Pointer to the Telephony Audio Control instance
+ */
+ MTelephonyAudioControl* iTelephonyAudioControl;
+
+ /**
+ *Attribute to tell the status of PB initialization
+ */
+ TBool iIsInitializationActive;
+
+ /*
+ * Attribute to tell the status is modem status ready
+ */
+ TBool iIsModemReady;
+
+ // ==== For getting Battery info from HWRM ====
+ /**
+ * Pointer to CHWRMPower instance
+ */
+ CHWRMPower* iPowerManager;
+
+ /**
+ * Pointer to the BatteryInfoObserver
+ */
+ CBatteryInfoObserver* iBattery;
+
+ /**
+ * Pointer to the ChargingStatusObserver
+ */
+ CChargingStatusObserver* iChargingStatus;
+ };
+
+#endif // CMMPHONETSY_H
+
+// End of File