--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mmsharing/mmshavailability/tsrc/ut_availability/Stubs/src/mm_phone.cpp Thu Dec 17 08:44:37 2009 +0200
@@ -0,0 +1,2012 @@
+/*
+* Copyright (c) 2000 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:
+*
+*/
+
+#include <ETelExt.h>
+
+// Multimode header files
+#include "etelmm.h"
+//#include <mmlist.h>
+
+#include "CSipSseTestTls.h"
+#include "musunittesting.h"
+//#include "mm_hold.h"
+
+/*GLDEF_C TInt E32Dll(TDllReason)
+//
+// DLL entry point
+//
+ {
+ return KErrNone;
+ }
+*/
+/************************************************************************/
+//
+// TMobileAddress
+//
+/************************************************************************/
+
+EXPORT_C RMobilePhone::TMobileAddress::TMobileAddress()
+ : iTypeOfNumber(EUnknownNumber),
+ iNumberPlan(EUnknownNumberingPlan)
+ {
+ }
+
+void RMobilePhone::TMobileAddress::InternalizeL(RReadStream& aStream)
+/**
+ * This method internalizes the mobile address from a stream
+ *
+ * \param aStream The read stream containing the mobile address
+ */
+ {
+ iTypeOfNumber=STATIC_CAST(TMobileTON, aStream.ReadUint32L());
+ iNumberPlan=STATIC_CAST(TMobileNPI, aStream.ReadUint32L());
+ aStream >> iTelNumber;
+ }
+
+void RMobilePhone::TMobileAddress::ExternalizeL(RWriteStream& aStream) const
+/**
+ * This method externalizes the mobile address into a stream
+ *
+ * \param aStream The write stream that will contain the mobile address
+ */
+ {
+ aStream.WriteUint32L(iTypeOfNumber);
+ aStream.WriteUint32L(iNumberPlan);
+ aStream << iTelNumber;
+ }
+
+
+/************************************************************************/
+//
+// RMobilePhone
+//
+/************************************************************************/
+
+EXPORT_C RMobilePhone::RMobilePhone()
+ : iMmPtrHolder(NULL)
+ {
+ }
+
+EXPORT_C void RMobilePhone::ConstructL()
+ {
+ RPhone::ConstructL();
+// __ASSERT_ALWAYS(iMmPtrHolder==NULL,PanicClient(EEtelPanicHandleNotClosed));
+// iMmPtrHolder = CMobilePhonePtrHolder::NewL(CMobilePhonePtrHolder::EMaxNumberPhonePtrSlots,CMobilePhonePtrHolder::EMaxNumberPhonePtrCSlots);
+ }
+
+EXPORT_C void RMobilePhone::Destruct()
+ {
+ RPhone::Destruct();
+// delete iMmPtrHolder;
+// iMmPtrHolder = NULL;
+ }
+
+/************************************************************************/
+//
+// TMultimodeType
+//
+/************************************************************************/
+
+RMobilePhone::TMultimodeType::TMultimodeType()
+ {}
+
+EXPORT_C TInt RMobilePhone::TMultimodeType::ExtensionId() const
+/**
+ * This method returns the multimode API extension number of the class
+ *
+ * \return TInt An integer that will indicate the version of the type
+ */
+ {
+ return iExtensionId;
+ }
+
+void RMobilePhone::TMultimodeType::InternalizeL(RReadStream& aStream)
+/**
+ * This method internalizes the multimode type from a stream
+ *
+ * \param aStream The read stream containing the multimode type
+ */
+ {
+ iExtensionId=aStream.ReadInt32L();
+ }
+
+void RMobilePhone::TMultimodeType::ExternalizeL(RWriteStream& aStream) const
+/**
+ * This method externalizes the multimode type into a stream
+ *
+ * \param aStream The write stream that will contain the multimode type
+ */
+ {
+ aStream.WriteInt32L(iExtensionId);
+ }
+
+
+/***********************************************************************************/
+//
+// MobilePhoneCapability functional unit
+//
+/***********************************************************************************/
+
+EXPORT_C TInt RMobilePhone::GetMultimodeAPIVersion(TInt& aVersion) const
+/**
+ * This method returns the current version of the multimode ETel API
+ *
+ * \param aVersion Will contain the current version of the multimode ETel API
+ * \return KErrNone
+ */
+ {
+ aVersion=KETelExtMultimodeV1;
+ return KErrNone;
+ }
+
+EXPORT_C TInt RMobilePhone::GetMultimodeCaps(TUint32& aCaps) const
+/**
+ * This method returns the multimode capabilities of the phone
+ *
+ * \retval aCaps An integer that will contain the bit-wise sum of the multimode capabilities
+ * \return KErrNone
+ */
+ {
+ TPckg<TUint32> ptr1(aCaps);
+ return Get(EMobilePhoneGetMultimodeCaps, ptr1);
+ }
+
+EXPORT_C void RMobilePhone::GetPhoneStoreInfo(TRequestStatus& aReqStatus, TDes8& aInfo, const TDesC& aStoreName) const
+/**
+ * This method returns the information related to a particular phone store
+ *
+ * \param aStoreName Specifies the name of the store, for which information is required
+ * \retval aInfo A descriptor that will contain the phone store information
+ */
+ {
+ SetAndGet(EMobilePhoneGetPhoneStoreInfo,aReqStatus, aInfo, aStoreName);
+ }
+
+/***********************************************************************************/
+//
+// MobilePhoneSimAccess functional unit
+//
+/***********************************************************************************/
+
+EXPORT_C TInt RMobilePhone::GetIccAccessCaps(TUint32& aCaps) const
+/**
+ * This method returns the ICC (Integrated circuit card) access capabilities of the phone
+ *
+ * \retval aCaps An integer that will contain the bit-wise sum of the ICC access capabilities
+ * \return KErrNone
+ * \exception KErrNotSupported if ICC access is never supported
+ */
+ {
+ TPckg<TUint32> ptr1(aCaps);
+ return Get(EMobilePhoneGetIccAccessCaps, ptr1);
+ }
+
+EXPORT_C void RMobilePhone::NotifyIccAccessCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const
+/**
+ * This notification completes if the ICC access capabilities of the phone change
+ *
+ * \retval aCaps An integer that will contain the new ICC access capabilities
+ */
+ {
+/* __ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtr8& ptr1=iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1NotifyIccAccessCapsChange,aCaps);
+
+ Get(EMobilePhoneNotifyIccAccessCapsChange,aReqStatus,ptr1);*/
+ }
+
+EXPORT_C RMobilePhone::TMobilePhoneCspFileV1::TMobilePhoneCspFileV1()
+ : iCallOfferingServices(0),iCallRestrictionServices(0),iOtherSuppServices(0),
+ iCallCompletionServices(0),iTeleservices(0),iCphsTeleservices(0),iCphsFeatures(0),
+ iNumberIdentServices(0),iPhase2PlusServices(0),iValueAddedServices(0)
+ {
+ iExtensionId=KETelExtMultimodeV1;
+ }
+
+EXPORT_C void RMobilePhone::GetCustomerServiceProfile(TRequestStatus& aReqStatus, TDes8& aCsp) const
+/**
+ * This method returns the Customer Service Profile (CSP) stored on the SIM
+ *
+ * \retval aCsp A descriptor that will contain the CSP information
+ */
+ {
+// Get(EMobilePhoneGetCustomerServiceProfile, aReqStatus, aCsp);
+ }
+
+EXPORT_C RMobilePhone::TMobilePhoneServiceTableV1::TMobilePhoneServiceTableV1()
+ : iServices1To8(0),iServices9To16(0),iServices17To24(0),iServices25To32(0),
+ iServices33To40(0)
+ {
+ iExtensionId=KETelExtMultimodeV1;
+ }
+
+EXPORT_C void RMobilePhone::GetServiceTable(TRequestStatus& aReqStatus, TMobilePhoneServiceTable aTable, TDes8& aSst) const
+/**
+ * This method returns the Service Table (SIM or CDMA) stored on the ICC
+ *
+ * \param aTable Specifies whether the SIM or CDMA service table is to be retrieved
+ * \retval aTable A descriptor that will contain the service table information
+ */
+ {
+/* __ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ iMmPtrHolder->iServiceTable = aTable;
+ TPtrC8& ptr1=iMmPtrHolder->SetC(CMobilePhonePtrHolder::ESlot1GetServiceTable, iMmPtrHolder->iServiceTable);
+
+ SetAndGet(EMobilePhoneGetServiceTable, aReqStatus, ptr1, aSst);*/
+ }
+
+/***********************************************************************************/
+//
+// MobilePhonePower functional unit
+//
+/***********************************************************************************/
+
+EXPORT_C TInt RMobilePhone::GetBatteryCaps(TUint32& aCaps) const
+/**
+ * This method returns the battery capabilities of the phone
+ *
+ * \retval aCaps An integer that will contain the bit-wise sum of the battery capabilities
+ * \return KErrNone
+ * \exception KErrNotSupported if battery information is not supported
+ */
+ {
+// TPckg<TUint32> ptr1(aCaps);
+// return Get(EMobilePhoneGetBatteryCaps, ptr1);
+ return 0;
+ }
+
+EXPORT_C RMobilePhone::TMobilePhoneBatteryInfoV1::TMobilePhoneBatteryInfoV1() :
+ iStatus(EPowerStatusUnknown), iChargeLevel(0)
+ {
+ iExtensionId=KETelExtMultimodeV1;
+ }
+
+EXPORT_C void RMobilePhone::GetBatteryInfo(TRequestStatus& aReqStatus, TMobilePhoneBatteryInfoV1& aInfo) const
+/**
+ * This method returns the current battery information of the phone
+ *
+ * \retval aInfo Will contain the battery information
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtr8& ptr1=iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1GetBatteryInfo,aInfo);
+
+ Get(EMobilePhoneGetBatteryInfo,aReqStatus,ptr1);*/
+ }
+
+EXPORT_C void RMobilePhone::NotifyBatteryInfoChange(TRequestStatus& aReqStatus, TMobilePhoneBatteryInfoV1& aInfo) const
+/**
+ * This notification completes if the battery information changes
+ *
+ * \retval aInfo Will contain the new battery information
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtr8& ptr1=iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1NotifyBatteryInfoChange,aInfo);
+
+ Get(EMobilePhoneNotifyBatteryInfoChange,aReqStatus,ptr1);*/
+ }
+
+/***********************************************************************************/
+//
+// MobilePhoneSignal functional unit
+//
+/***********************************************************************************/
+
+EXPORT_C TInt RMobilePhone::GetSignalCaps(TUint32& aCaps) const
+/**
+ * This method returns the signal strength capabilities of the phone
+ *
+ * \retval aCaps An integer that will contain the bit-wise sum of the signal strength capabilities
+ * \return KErrNone
+ * \exception KErrNotSupported if signal strength information is not supported
+ */
+ {
+// TPckg<TUint32> ptr1(aCaps);
+// return Get(EMobilePhoneGetSignalCaps, ptr1);
+ return 0;
+ }
+
+EXPORT_C void RMobilePhone::GetSignalStrength(TRequestStatus& aReqStatus, TInt32& aSignalStrength, TInt8& aBar) const
+/**
+ * This method returns the current signal strength of the phone
+ *
+ * \retval aSignalStrength Will contain the signal strength, expressed in dBm
+ * \retval aBar Will contain the number of bars of signal strength to display
+ */
+ {
+/* __ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtr8& ptr1=iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1GetSignalStrength,aSignalStrength);
+ TPtr8& ptr2=iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot2GetSignalStrength,aBar);
+
+ Get(EMobilePhoneGetSignalStrength,aReqStatus,ptr1,ptr2);*/
+ }
+
+EXPORT_C void RMobilePhone::NotifySignalStrengthChange(TRequestStatus& aReqStatus, TInt32& aSignalStrength, TInt8& aBar) const
+/**
+ * This notification completes if the signal strength of the phone changes
+ *
+ * \retval aSignalStrength Will contain the new signal strength, expressed in dBm
+ * \retval aBar Will contain the new number of bars of signal strength to display
+ */
+ {
+/* __ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtr8& ptr1=iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1NotifySignalStrengthChange,aSignalStrength);
+ TPtr8& ptr2=iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot2NotifySignalStrengthChange,aBar);
+
+ Get(EMobilePhoneNotifySignalStrengthChange, aReqStatus, ptr1, ptr2);*/
+ }
+
+/***********************************************************************************/
+//
+// MobilePhoneIndicator functional unit
+//
+/***********************************************************************************/
+
+EXPORT_C TInt RMobilePhone::GetIndicatorCaps(TUint32& aActionCaps, TUint32& aIndCaps) const
+/**
+ * This method returns the indicator capabilities of the phone
+ *
+ * \retval aActionCaps An integer that will contain the bit-wise sum of TMobilePhoneIndicatorCaps flags
+ * \retval aIndCaps An integer that will contain the bit-wise sum of supported TMobilePhoneIndicators flags
+ * \return KErrNone
+ * \exception KErrNotSupported if indicators are not supported
+ */
+ {
+ /*TPckg<TUint32> ptr1(aActionCaps);
+ TPckg<TUint32> ptr2(aIndCaps);
+ return Get(EMobilePhoneGetIndicatorCaps, ptr1, ptr2);*/
+ return 0;
+ }
+
+EXPORT_C void RMobilePhone::GetIndicator(TRequestStatus& aReqStatus, TUint32& aIndicator) const
+/**
+ * This method returns the current value of the supported indicators from the phone
+ *
+ * \retval aIndicator Will contain bit-wise sum of the current values of each indicator
+ * \exception KErrNotSupported if indicators are not supported
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtr8& ptr1=iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1GetIndicator,aIndicator);
+
+ Get(EMobilePhoneGetIndicator,aReqStatus,ptr1);*/
+ }
+
+EXPORT_C void RMobilePhone::NotifyIndicatorChange(TRequestStatus& aReqStatus, TUint32& aIndicator) const
+/**
+ * This notification completes if any of the supported indicators change state
+ *
+ * \retval aIndicator Will contain bit-wise sum of the new values of each indicator
+ * \exception KErrNotSupported if indicators are not supported
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtr8& ptr1=iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1NotifyIndicatorChange,aIndicator);
+
+ Get(EMobilePhoneNotifyIndicatorChange, aReqStatus, ptr1);*/
+ }
+
+/***********************************************************************************/
+//
+// MobilePhoneIdentity functional unit
+//
+/***********************************************************************************/
+
+EXPORT_C TInt RMobilePhone::GetIdentityCaps(TUint32& aCaps) const
+/**
+ * This method returns the identity capabilities of the phone
+ *
+ * \retval aCaps An integer that will contain the bit-wise sum of the identity capabilities
+ * \return KErrNone
+ * \exception KErrNotSupported if phone and subscriber identity information is not supported
+ */
+ {
+// TPckg<TUint32> ptr1(aCaps);
+// return Get(EMobilePhoneGetIdentityCaps, ptr1);
+ return 0;
+ }
+
+EXPORT_C RMobilePhone::TMobilePhoneIdentityV1::TMobilePhoneIdentityV1()
+ {
+ iExtensionId=KETelExtMultimodeV1;
+ }
+
+EXPORT_C void RMobilePhone::GetPhoneId(TRequestStatus& aReqStatus, TMobilePhoneIdentityV1& aId) const
+/**
+ * This method returns the identity of the phone
+ *
+ * \retval aId Will contain the identity, which can consist of manufacturer, model, revision and serial numbers
+ */
+ {
+/* __ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtr8& ptr1=iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1GetPhoneId,aId);
+
+ Get(EMobilePhoneGetPhoneId, aReqStatus, ptr1);*/
+ }
+
+EXPORT_C void RMobilePhone::GetSubscriberId(TRequestStatus& aReqStatus, TMobilePhoneSubscriberId& aId) const
+/**
+ * This method returns the identity of the subscriber (IMSI)
+ *
+ * \retval aId Will contain the identity
+ */
+ {
+/* __ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtr8& ptr1=iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1GetSubscriberId,aId);
+
+ Get(EMobilePhoneGetSubscriberId, aReqStatus, ptr1);*/
+ }
+
+/***********************************************************************************/
+//
+// MobilePhoneDTMF functional unit
+//
+/***********************************************************************************/
+
+EXPORT_C TInt RMobilePhone::GetDTMFCaps(TUint32& aCaps) const
+/**
+ * This method returns the DTMF capabilities of the phone
+ *
+ * \retval aCaps An integer that will contain the bit-wise sum of the DTMF capabilities
+ * \return KErrNone
+ * \exception KErrNotSupported if DTMF is not supported
+ */
+ {
+// TPckg<TUint32> ptr1(aCaps);
+// return Get(EMobilePhoneGetDTMFCaps, ptr1);
+ return 0;
+ }
+
+EXPORT_C void RMobilePhone::NotifyDTMFCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const
+/**
+ * This notification completes if the DTMF capabilities of the phone change
+ *
+ * \retval aCaps An integer that will contain the new DTMF capabilities
+ */
+ {
+/* __ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtr8& ptr1=iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1NotifyDTMFCapsChange, aCaps);
+
+ Get(EMobilePhoneNotifyDTMFCapsChange, aReqStatus, ptr1);*/
+ }
+
+EXPORT_C void RMobilePhone::SendDTMFTones(TRequestStatus& aReqStatus, const TDesC& aTones) const
+/**
+ * This method sends a series of DTMF tones across a connected and active voice call
+ *
+ * \param aTones Supplies the tones to send
+ */
+ {
+// Set(EMobilePhoneSendDTMFTones, aReqStatus, aTones);
+ }
+
+EXPORT_C TInt RMobilePhone::StartDTMFTone(TChar aTone) const
+/**
+ * This method starts the transmission of a single DTMF tone across a connected and active voice call
+ *
+ * \param aTone Supplies the tone to send
+ */
+ {
+ /*TPckgC<TChar> ptr1(aTone);
+ return Set(EMobilePhoneStartDTMFTone,ptr1);*/
+ }
+
+EXPORT_C TInt RMobilePhone::StopDTMFTone() const
+/**
+ * This method stops the transmission of a single DTMF tone across a connected and active voice call
+ */
+ {
+// return Blank(EMobilePhoneStopDTMFTone);
+ return 0;
+ }
+
+EXPORT_C void RMobilePhone::NotifyStopInDTMFString(TRequestStatus& aRequestStatus) const
+/**
+ * This notification completes if a stop character is found within a DTMF string
+ */
+ {
+ //Blank(EMobilePhoneNotifyStopInDTMFString,aRequestStatus);
+ }
+
+EXPORT_C TInt RMobilePhone::ContinueDTMFStringSending(TBool aContinue) const
+/**
+ * This method either continues or cancels the sending of a string of DTMF tones
+ * It assumes that a stop character has previously been found within the string
+ *
+ * \param aContinue A boolean that specifies whether the sending will continue or stop
+ */
+ {
+ /*TPckg<TBool> ptr1(aContinue);
+ return Set(EMobilePhoneContinueDTMFStringSending,ptr1);*/
+ }
+
+/***********************************************************************************/
+//
+// MobilePhoneNetwork functional unit
+//
+/***********************************************************************************/
+
+EXPORT_C RMobilePhone::TMobilePhoneNetworkInfoV1::TMobilePhoneNetworkInfoV1()
+: iMode(ENetworkModeUnknown),
+ iStatus(ENetworkStatusUnknown),
+ iBandInfo(EBandUnknown)
+ {
+ iExtensionId=KETelExtMultimodeV1;
+ }
+
+void RMobilePhone::TMobilePhoneNetworkInfoV1::InternalizeL(RReadStream& aStream)
+/**
+ * This method internalizes the mobile network information from a stream
+ *
+ * \param aStream The read stream containing the mobile network information
+ */
+ {
+/* TMultimodeType::InternalizeL(aStream);
+ iMode=STATIC_CAST(TMobilePhoneNetworkMode, aStream.ReadUint32L());
+ iStatus=STATIC_CAST(TMobilePhoneNetworkStatus, aStream.ReadUint32L());
+ iBandInfo=STATIC_CAST(TMobilePhoneNetworkBandInfo, aStream.ReadUint32L());
+ aStream >> iCountryCode;
+ aStream >> iCdmaSID;
+ aStream >> iAnalogSID;
+ aStream >> iNetworkId;
+ aStream >> iDisplayTag;
+ aStream >> iShortName;
+ aStream >> iLongName;*/
+ }
+
+void RMobilePhone::TMobilePhoneNetworkInfoV1::ExternalizeL(RWriteStream& aStream) const
+/**
+ * This method externalizes the mobile network information into a stream
+ *
+ * \param aStream The write stream that will contain the mobile network information
+ */
+ {
+/* TMultimodeType::ExternalizeL(aStream);
+ aStream.WriteUint32L(iMode);
+ aStream.WriteUint32L(iStatus);
+ aStream.WriteUint32L(iBandInfo);
+ aStream << iCountryCode;
+ aStream << iCdmaSID;
+ aStream << iAnalogSID;
+ aStream << iNetworkId;
+ aStream << iDisplayTag;
+ aStream << iShortName;
+ aStream << iLongName;*/
+ }
+
+EXPORT_C TInt RMobilePhone::GetNetworkCaps(TUint32& aCaps) const
+/**
+ * This method returns the network capabilities of the phone
+ *
+ * \retval aCaps An integer that will contain the bit-wise sum of the network capabilities
+ * \return KErrNone
+ * \exception KErrNotSupported if network access/information is not supported
+ */
+ {
+ /*TPckg<TUint32> ptr1(aCaps);
+ return Get(EMobilePhoneGetNetworkCaps, ptr1);*/
+ return 0;
+ }
+
+EXPORT_C TInt RMobilePhone::GetCurrentMode(TMobilePhoneNetworkMode& aNetworkMode) const
+/**
+ * This method returns the current mode of the phone
+ *
+ * \retval aNetworkMode Will contain the mode (GSM, WCDMA, CDMA, TDMA, AMPS)
+ */
+ {
+ TInt err = 0;
+ CSipSseTestTls* tls = CSipSseTestTls::Storage();
+ if ( tls )
+ {
+ aNetworkMode = tls->PhoneNetworkModeStatus();
+ err = tls->Error();
+ }
+
+ return err;
+ }
+
+EXPORT_C void RMobilePhone::NotifyModeChange(TRequestStatus& aReqStatus, TMobilePhoneNetworkMode& aNetworkMode) const
+/**
+ * This notification completes if the mode of the phone changes
+ *
+ * \retval aNetworkMode Will contain the new mode (GSM, WCDMA, CDMA, TDMA, AMPS)
+ */
+ {
+/* __ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtr8& ptr1=iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1NotifyModeChange, aNetworkMode);
+
+ Get(EMobilePhoneNotifyModeChange,aReqStatus, ptr1);*/
+ iReqStatus = &aReqStatus;
+ iNetworkMode = &aNetworkMode;
+ }
+
+void RMobilePhone::DoNotifyModeChange( TMobilePhoneNetworkMode aNetworkMode, TInt aErrorCode )
+ {
+ *iNetworkMode = aNetworkMode;
+ *iReqStatus = KRequestPending;
+ TRequestStatus* stat = iReqStatus;
+ User::RequestComplete( stat, aErrorCode );
+
+ }
+
+void RMobilePhone::CancelAsyncRequest(TInt aReqToCancel) const
+ {
+ *iReqStatus = KRequestPending;
+ TRequestStatus* stat = iReqStatus;
+ User::RequestComplete( stat, KErrNone );
+ }
+
+
+EXPORT_C void RMobilePhone::GetHomeNetwork(TRequestStatus& aReqStatus, TDes8& aNetworkInfo) const
+/**
+ * This method returns information on the subscriber's home network
+ *
+ * \retval aNetworkInfo Will contain the home network information
+ */
+ {
+ //Get(EMobilePhoneGetHomeNetwork, aReqStatus, aNetworkInfo);
+ }
+
+EXPORT_C RMobilePhone::TMobilePhoneLocationAreaV1::TMobilePhoneLocationAreaV1()
+: iAreaKnown(EFalse), iLocationAreaCode(0), iCellId(0)
+ {
+ iExtensionId=KETelExtMultimodeV1;
+ }
+
+EXPORT_C void RMobilePhone::GetCurrentNetwork(TRequestStatus& aReqStatus, TDes8& aNetworkInfo, TMobilePhoneLocationAreaV1& aArea) const
+/**
+ * This method returns information on the phone's current serving network
+ *
+ * \retval aNetworkInfo Will contain the information related to the current network
+ * \retval aArea Will contain the phone's current location area
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtr8& ptr2=iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1GetCurrentNetwork, aArea);
+
+ Get(EMobilePhoneGetCurrentNetwork, aReqStatus, aNetworkInfo, ptr2);*/
+ }
+
+EXPORT_C void RMobilePhone::NotifyCurrentNetworkChange(TRequestStatus& aReqStatus, TDes8& aNetworkInfo, TMobilePhoneLocationAreaV1& aArea) const
+/**
+ * This notification completes if the serving network of the phone changes
+ *
+ * \retval aNetworkInfo Will contain the information related to the new network
+ * \retval aArea Will contain the phone's new location area
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtr8& ptr2=iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1NotifyCurrentNetworkChange, aArea);
+
+ Get(EMobilePhoneNotifyCurrentNetworkChange, aReqStatus, aNetworkInfo, ptr2);*/
+ }
+
+EXPORT_C void RMobilePhone::GetNetworkRegistrationStatus(TRequestStatus& aReqStatus, TMobilePhoneRegistrationStatus& aStatus) const
+/**
+ * This method returns the phone's current network registration status
+ *
+ * \retval aStatus Will contain the network registration status
+ */
+ {
+ CSipSseTestTls* tls = CSipSseTestTls::Storage();
+ if ( tls )
+ {
+ tls->RegistrationStatus( aStatus );
+ }
+
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtr8& ptr1=iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1GetNetworkRegistrationStatus, aStatus);
+
+ Get(EMobilePhoneGetNetworkRegistrationStatus, aReqStatus, ptr1);*/
+ }
+
+EXPORT_C void RMobilePhone::NotifyNetworkRegistrationStatusChange(TRequestStatus& aReqStatus, TMobilePhoneRegistrationStatus& aStatus) const
+/**
+ * This notification completes if the network registration status of the phone changes
+ *
+ * \retval aStatus Will contain the new network registration status
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtr8& ptr1=iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1NotifyNetworkRegistrationStatusChange, aStatus);
+
+ Get(EMobilePhoneNotifyNetworkRegistrationStatusChange, aReqStatus, ptr1);*/
+ CSipSseTestTls* tls = CSipSseTestTls::Storage();
+ if ( tls )
+ {
+ tls->SetRegistrationStatus( &aStatus );
+ tls->SetRequestStatus( aReqStatus );
+ }
+ }
+
+EXPORT_C RMobilePhone::TMobilePhoneNetworkSelectionV1::TMobilePhoneNetworkSelectionV1()
+ : iMethod(ENetworkSelectionUnknown),
+ iBandClass(ENetworkBandClassUnknown),
+ iOperationMode(ENetworkOperationUnknown)
+ {
+ iExtensionId=KETelExtMultimodeV1;
+ }
+
+EXPORT_C TInt RMobilePhone::GetNetworkSelectionSetting(TDes8& aSetting) const
+/**
+ * This method returns the phone's current network selection setting
+ *
+ * \retval aSetting Will contain the network selection setting
+ */
+ {
+ //return Get(EMobilePhoneGetNetworkSelectionSetting, aSetting);
+ return 0;
+ }
+
+EXPORT_C void RMobilePhone::SetNetworkSelectionSetting(TRequestStatus& aReqStatus, const TDes8& aSetting) const
+/**
+ * This method sets a new value for the phone's network selection setting
+ *
+ * \param aSetting Supplies the new network selection setting
+ */
+ {
+ //Set(EMobilePhoneSetNetworkSelectionSetting,aReqStatus,aSetting);
+ }
+
+EXPORT_C void RMobilePhone::NotifyNetworkSelectionSettingChange(TRequestStatus& aReqStatus, TDes8& aSetting) const
+/**
+ * This notification completes if the network selection setting of the phone changes
+ *
+ * \retval aSetting Will contain the new setting
+ */
+ {
+ //Get(EMobilePhoneNotifyNetworkSelectionSettingChange, aReqStatus, aSetting);
+ }
+
+EXPORT_C void RMobilePhone::SelectNetwork(TRequestStatus& aReqStatus, TBool aIsManual, const TMobilePhoneNetworkManualSelection& aManualSelection) const
+/**
+ * This method instructs the phone to initiate network selection
+ *
+ * \param aIsManual Specifies whether phone should manual or automatic network selection method
+ * \param aManualSelection If aIsManual=ETrue, then this parameter contain the user's manually selected network
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ iMmPtrHolder->iIsManual = aIsManual;
+ TPtrC8& ptr1=iMmPtrHolder->SetC(CMobilePhonePtrHolder::ESlot1SelectNetwork, iMmPtrHolder->iIsManual);
+ TPtrC8& ptr2=iMmPtrHolder->SetC(CMobilePhonePtrHolder::ESlot2SelectNetwork, aManualSelection);
+
+ Set(EMobilePhoneSelectNetwork,aReqStatus, ptr1, ptr2);*/
+ }
+
+EXPORT_C RMobilePhone::TMobilePhoneNITZ::TMobilePhoneNITZ()
+ : iNitzFieldsUsed(0), iTimeZone(0), iDST(0)
+ {
+ }
+
+EXPORT_C RMobilePhone::TMobilePhoneNITZ::TMobilePhoneNITZ(TInt aYear, TMonth aMonth, TInt aDay, TInt aHour, TInt aMinute, TInt aSecond, TInt aMicroSecond)
+ : TDateTime(aYear,aMonth,aDay,aHour,aMinute,aSecond,aMicroSecond), iNitzFieldsUsed(0), iTimeZone(0), iDST(0)
+ {
+ }
+
+EXPORT_C TInt RMobilePhone::GetNITZInfo(TMobilePhoneNITZ& aNITZInfo) const
+/**
+ * This method returns the current snapshot of network time & date information
+ *
+ * \retval aNITZInfo Will contain the time & date information
+ */
+ {
+ TPckg<TMobilePhoneNITZ> ptr1(aNITZInfo);
+ return Get(EMobilePhoneGetNITZInfo,ptr1);
+ }
+
+EXPORT_C void RMobilePhone::NotifyNITZInfoChange(TRequestStatus& aReqStatus, TMobilePhoneNITZ& aNITZInfo) const
+/**
+ * This notification completes if the time & date information sent by the network changes
+ *
+ * \retval aNITZInfo Will contain the new time & date information
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtr8& ptr1 = iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1NotifyNITZInfoChange,aNITZInfo);
+ Get(EMobilePhoneNotifyNITZInfoChange,aReqStatus,ptr1);*/
+ }
+
+/***********************************************************************************/
+//
+// MobilePrivacy functional unit
+//
+/***********************************************************************************/
+
+EXPORT_C TInt RMobilePhone::GetDefaultPrivacy(TMobilePhonePrivacy& aSetting) const
+/**
+ * This method returns the phone's default voice privacy setting in CDMA mode
+ *
+ * \retval aSetting An enum that will contain the current privacy setting
+ * \return KErrNone
+ * \exception KErrNotSupported if user network access is not supported
+ */
+ {
+ //TPckg<TMobilePhonePrivacy> ptr1(aSetting);
+ //return Get(EMobilePhoneGetDefaultPrivacy, ptr1);
+ return 0;
+ }
+
+EXPORT_C void RMobilePhone::SetDefaultPrivacy(TRequestStatus& aReqStatus, TMobilePhonePrivacy aSetting) const
+/**
+ * This method sets the phone's default voice privacy setting in CDMA mode
+ *
+ * \param aSetting Supplies the new voice privacy setting
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ iMmPtrHolder->iPrivacySetting = aSetting;
+ TPtrC8& ptr1=iMmPtrHolder->SetC(CMobilePhonePtrHolder::ESlot1SetDefaultPrivacy,iMmPtrHolder->iPrivacySetting);
+
+ Set(EMobilePhoneSetDefaultPrivacy,aReqStatus, ptr1);*/
+ }
+
+EXPORT_C void RMobilePhone::NotifyDefaultPrivacyChange(TRequestStatus& aReqStatus, TMobilePhonePrivacy& aSetting) const
+/**
+ * This notification completes if the default voice privacy setting of the phone changes
+ *
+ * \retval aSetting An enum that will contain the new privacy setting
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtr8& ptr1=iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1NotifyDefaultPrivacyChange, aSetting);
+
+ Get(EMobilePhoneNotifyDefaultPrivacyChange, aReqStatus, ptr1);*/
+ }
+
+/***********************************************************************************/
+//
+// TSY Capabilities for supplementary call services
+//
+/***********************************************************************************/
+
+EXPORT_C TInt RMobilePhone::GetCallServiceCaps(TUint32& aCaps) const
+/**
+ * This method returns the supplementary call service capabilities of the phone
+ *
+ * \retval aCaps An integer that will contain the bit-wise sum of the call service caps
+ * \return KErrNone
+ * \exception KErrNotSupported if user network access is not supported
+ */
+ {
+ //TPckg<TUint32> ptr1(aCaps);
+ //return Get(EMobilePhoneGetCallServiceCaps, ptr1);
+ return 0;
+ }
+
+EXPORT_C void RMobilePhone::NotifyCallServiceCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const
+/**
+ * This notification completes if the call service capabilities of the phone change
+ *
+ * \retval aCaps An integer that will contain the new call service capabilities
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtr8& ptr1=iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1NotifyCallServiceCapsChange, aCaps);
+
+ Get(EMobilePhoneNotifyCallServiceCapsChange, aReqStatus, ptr1);*/
+ }
+
+/***********************************************************************************/
+//
+// MobilePhoneUserNetworkAccess functional unit
+//
+/***********************************************************************************/
+
+EXPORT_C void RMobilePhone::ProgramFeatureCode(TRequestStatus& aReqStatus, const TDesC& aFCString, TMobilePhoneNetworkService aService, TMobilePhoneServiceAction aAction) const
+/**
+ * This method programs a feature code string against a network service action
+ *
+ * \param aFCString Supplies the feature code string to be programmed
+ * \param aService Specifies which service is applicable to the feature code string
+ * \param aAction Specifies which action is applicable to the feature code string
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ iMmPtrHolder->iProgramFeatureCode.iService = aService;
+ iMmPtrHolder->iProgramFeatureCode.iAction = aAction;
+ TPtrC8& ptr1=iMmPtrHolder->SetC(CMobilePhonePtrHolder::ESlot1ProgramFeatureCode,iMmPtrHolder->iProgramFeatureCode);
+
+ Set(EMobilePhoneProgramFeatureCode,aReqStatus, ptr1, aFCString);*/
+ }
+
+EXPORT_C void RMobilePhone::GetFeatureCode(TRequestStatus& aReqStatus, TDes& aFCString, TMobilePhoneNetworkService aService, TMobilePhoneServiceAction aAction) const
+/**
+ * This method returns the feature code string programmed against a network service action
+ *
+ * \param aService Specifies which service is applicable to the feature code string
+ * \param aAction Specifies which action is applicable to the feature code string
+ * \retval aFCString Will contain the feature code string programmed
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ iMmPtrHolder->iGetFeatureCode.iService = aService;
+ iMmPtrHolder->iGetFeatureCode.iAction = aAction;
+ TPtr8& ptr1=iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1GetFeatureCode,iMmPtrHolder->iGetFeatureCode);
+
+ Get(EMobilePhoneGetFeatureCode,aReqStatus, ptr1, aFCString);*/
+ }
+
+EXPORT_C void RMobilePhone::SendNetworkServiceRequest(TRequestStatus& aReqStatus, const TDesC& aServiceString) const
+/**
+ * This method sends a request to the network in the form of a character and digit string
+ * It will complete either when the network has confirmed the request or after the phone has sent it
+ * depending upon whether network confirmation is supported by serving network
+ *
+ * \param aServiceString Supplies the supplementary service or feature code string to be sent
+ */
+ {
+ //Set(EMobilePhoneSendNetworkServiceRequest, aReqStatus, aServiceString);
+ }
+
+/***********************************************************************************/
+//
+// MobilePhoneCallForwarding functional unit
+//
+/***********************************************************************************/
+
+EXPORT_C RMobilePhone::TMobilePhoneCFInfoEntryV1::TMobilePhoneCFInfoEntryV1()
+: iCondition(ECallForwardingUnspecified),
+ iServiceGroup(EServiceUnspecified),
+ iStatus(ECallForwardingStatusUnknown),
+ iTimeout(0)
+ {
+ iExtensionId=KETelExtMultimodeV1;
+ }
+
+void RMobilePhone::TMobilePhoneCFInfoEntryV1::InternalizeL(RReadStream& aStream)
+/**
+ * This method internalizes the call forwarding information from a stream
+ *
+ * \param aStream The read stream containing the call forwarding information
+ */
+ {
+ /*TMultimodeType::InternalizeL(aStream);
+ iCondition=STATIC_CAST(TMobilePhoneCFCondition, aStream.ReadUint32L());
+ iServiceGroup=STATIC_CAST(TMobileService, aStream.ReadUint32L());
+ iStatus=STATIC_CAST(TMobilePhoneCFStatus, aStream.ReadUint32L());
+ aStream >> iNumber;
+ iTimeout=aStream.ReadInt32L();*/
+ }
+
+void RMobilePhone::TMobilePhoneCFInfoEntryV1::ExternalizeL(RWriteStream& aStream) const
+/**
+ * This method externalizes the call forwarding information into a stream
+ *
+ * \param aStream The write stream that will contain the call forwarding information
+ */
+ {
+ /*TMultimodeType::ExternalizeL(aStream);
+ aStream.WriteUint32L(iCondition);
+ aStream.WriteUint32L(iServiceGroup);
+ aStream.WriteUint32L(iStatus);
+ aStream << iNumber;
+ aStream.WriteInt32L(iTimeout);*/
+ }
+
+EXPORT_C void RMobilePhone::NotifyCallForwardingStatusChange(TRequestStatus& aReqStatus, TMobilePhoneCFCondition& aCondition) const
+/**
+ * This notification completes if the status of a call forwarding service changes
+ *
+ * \retval aCondition Will contain the name of the changed service (CFU, CFB, CFNRc, CFNRy)
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtr8& ptr1=iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1NotifyCallForwardingStatusChange,aCondition);
+
+ Get(EMobilePhoneNotifyCallForwardingStatusChange,aReqStatus, ptr1);*/
+ }
+
+EXPORT_C RMobilePhone::TMobilePhoneCFChangeV1::TMobilePhoneCFChangeV1()
+: iServiceGroup(EServiceUnspecified),
+ iAction(EServiceActionUnspecified),
+ iTimeout(0)
+ {
+ iExtensionId=KETelExtMultimodeV1;
+ }
+
+EXPORT_C void RMobilePhone::SetCallForwardingStatus(TRequestStatus& aReqStatus, TMobilePhoneCFCondition aCondition, const TMobilePhoneCFChangeV1& aInfo) const
+/**
+ * This method sets the call forwarding status for incoming calls across all lines
+ * It will complete either when the network has confirmed the request or after the phone has sent it
+ * depending upon whether network confirmation is supported by serving network
+ *
+ * \param aCondition Specifies which call forwarding service (CFU, CFB, CFNRy, CFNRc) is being set
+ * \param aInfo Supplies the new status and/or registered information of the call forwarding service, as applied to all basic services (i.e. all lines)
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ iMmPtrHolder->iSetCFCondition = aCondition;
+ TPtrC8& ptr1=iMmPtrHolder->SetC(CMobilePhonePtrHolder::ESlot1SetCallForwardingStatus,iMmPtrHolder->iSetCFCondition);
+
+ TPtrC8& ptr2=iMmPtrHolder->SetC(CMobilePhonePtrHolder::ESlot2SetCallForwardingStatus,aInfo);
+
+ Set(EMobilePhoneSetCallForwardingStatus, aReqStatus, ptr1, ptr2);*/
+ }
+
+EXPORT_C void RMobilePhone::NotifyCallForwardingActive(TRequestStatus& aReqStatus, TMobileService& aServiceGroup, TMobilePhoneCFActive& aActiveType) const
+/**
+ * This notification completes if a call is made on this line while call forwarding is active on it
+ *
+ * \retval aActiveType Will indicate whether unconditional (CFU) or one of the conditional (CFB, CFNRy, CFNRc) services is active
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtr8& ptr1=iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1PhoneNotifyCallForwardingActive, aServiceGroup);
+ TPtr8& ptr2=iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot2PhoneNotifyCallForwardingActive, aActiveType);
+
+ Get(EMobilePhoneNotifyCallForwardingActive, aReqStatus, ptr1, ptr2);*/
+ }
+
+/***********************************************************************************/
+//
+// Mobile Identity Service functional unit
+//
+/***********************************************************************************/
+
+EXPORT_C void RMobilePhone::GetIdentityServiceStatus(TRequestStatus& aReqStatus, const TMobilePhoneIdService aService, TMobilePhoneIdServiceStatus& aStatus, TMobileInfoLocation aLocation) const
+/**
+ * This method returns the current status of the specified identity service
+ *
+ * \param aService Specifies which identity service (CLIP, CLIR, COLP, COLR etc.) is being interrogated
+ * \retval aStatus Will contain the current status of the service
+ * \param aLocation Specifies whether the information should be retrieved from phone cache or network
+ */
+ {
+ /*)__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ iMmPtrHolder->iGetIdentityServiceStatus.iLocation = aLocation;
+ iMmPtrHolder->iGetIdentityServiceStatus.iService = aService;
+ TPtrC8& ptr1 = iMmPtrHolder->SetC(CMobilePhonePtrHolder::ESlot1GetIdentityServiceStatus,iMmPtrHolder->iGetIdentityServiceStatus);
+ TPtr8& ptr2 = iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot2GetIdentityServiceStatus,aStatus);
+
+ SetAndGet(EMobilePhoneGetIdentityServiceStatus,aReqStatus,ptr1,ptr2);*/
+ }
+
+/***********************************************************************************/
+//
+// Mobile Call Barring functional unit
+//
+/***********************************************************************************/
+
+EXPORT_C RMobilePhone::TMobilePhoneCBInfoEntryV1::TMobilePhoneCBInfoEntryV1()
+: iCondition(EBarUnspecified),
+ iServiceGroup(EServiceUnspecified),
+ iStatus(ECallBarringStatusUnknown)
+ {
+ iExtensionId=KETelExtMultimodeV1;
+ }
+
+void RMobilePhone::TMobilePhoneCBInfoEntryV1::InternalizeL(RReadStream& aStream)
+/**
+ * This method internalizes the call barring inforamation from a stream
+ *
+ * \param aStream The read stream containing the call barring inforamation
+ */
+ {
+ /*TMultimodeType::InternalizeL(aStream);
+ iCondition = STATIC_CAST(TMobilePhoneCBCondition,aStream.ReadUint32L());
+ iServiceGroup = STATIC_CAST(TMobileService,aStream.ReadUint32L());
+ iStatus = STATIC_CAST(TMobilePhoneCBStatus,aStream.ReadUint32L());*/
+ }
+
+void RMobilePhone::TMobilePhoneCBInfoEntryV1::ExternalizeL(RWriteStream& aStream) const
+/**
+ * This method externalizes the call barring information into a stream
+ *
+ * \param aStream The write stream that will contain the call barring information
+ */
+ {
+ /*TMultimodeType::ExternalizeL(aStream);
+ aStream.WriteUint32L(iCondition);
+ aStream.WriteUint32L(iServiceGroup);
+ aStream.WriteUint32L(iStatus);*/
+ }
+
+EXPORT_C RMobilePhone::TMobilePhoneCBChangeV1::TMobilePhoneCBChangeV1()
+: iServiceGroup(EServiceUnspecified),
+ iAction(EServiceActionUnspecified)
+ {
+ iExtensionId=KETelExtMultimodeV1;
+ }
+
+EXPORT_C void RMobilePhone::SetCallBarringStatus(TRequestStatus& aReqStatus, TMobilePhoneCBCondition aCondition, const TMobilePhoneCBChangeV1& aInfo) const
+/**
+ * This method sets the call barring status for calls across all lines
+ * It will complete either when the network has confirmed the request or after the phone has sent it
+ * depending upon whether network confirmation is supported by serving network
+ *
+ * \param aCondition Specifies which call barring program (BAOC, BIC etc) is being set
+ * \param aInfo Supplies the new status of the call barring service, as applied to all basic services (i.e. all lines)
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ iMmPtrHolder->iSetCBStatusCondition = aCondition;
+ TPtrC8& ptr1 = iMmPtrHolder->SetC(CMobilePhonePtrHolder::ESlot1SetCallBarringStatus,iMmPtrHolder->iSetCBStatusCondition);
+ TPtrC8& ptr2 = iMmPtrHolder->SetC(CMobilePhonePtrHolder::ESlot2SetCallBarringStatus,aInfo);
+
+ Set(EMobilePhoneSetCallBarringStatus,aReqStatus,ptr1,ptr2);*/
+ }
+
+EXPORT_C void RMobilePhone::NotifyCallBarringStatusChange(TRequestStatus& aReqStatus, TMobilePhoneCBCondition& aCondition) const
+/**
+ * This notification completes if the status of a call barring program changes
+ *
+ * \retval aCondition Will contain the name of the changed barring program (BAOC, BIC etc.)
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtr8& ptr1 = iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1NotifyCallBarringStatusChange,aCondition);
+
+ Get(EMobilePhoneNotifyCallBarringStatusChange,aReqStatus,ptr1);*/
+ }
+
+EXPORT_C RMobilePhone::TMobilePhonePasswordChangeV1::TMobilePhonePasswordChangeV1()
+ {
+ iExtensionId=KETelExtMultimodeV1;
+ }
+
+EXPORT_C void RMobilePhone::SetCallBarringPassword(TRequestStatus& aReqStatus, const TMobilePhonePasswordChangeV1& aPassword) const
+/**
+ * This method sets the call barring password that is part of the subscription for any call barring program
+ * It will complete either when the network has confirmed the request or after the phone has sent it
+ * depending upon whether network confirmation is supported by serving network
+ *
+ * \param aPassword Supplies the old and new call barring passwords
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtrC8& ptr1 = iMmPtrHolder->SetC(CMobilePhonePtrHolder::ESlot1SetCallBarringPassword,aPassword);
+
+ Set(EMobilePhoneSetCallBarringPassword,aReqStatus,ptr1);*/
+ }
+
+/***********************************************************************************/
+//
+// Mobile Call Waiting functional unit
+//
+/***********************************************************************************/
+
+void RMobilePhone::TMobilePhoneCWInfoEntryV1::InternalizeL(RReadStream& aStream)
+/**
+ * This method internalizes the call waiting inforamation from a stream
+ *
+ * \param aStream The read stream containing the call waiting inforamation
+ */
+ {
+ /*TMultimodeType::InternalizeL(aStream);
+ iServiceGroup = STATIC_CAST(TMobileService,aStream.ReadUint32L());
+ iStatus = STATIC_CAST(TMobilePhoneCWStatus,aStream.ReadUint32L());*/
+ }
+
+void RMobilePhone::TMobilePhoneCWInfoEntryV1::ExternalizeL(RWriteStream& aStream) const
+/**
+ * This method externalizes the call waiting information into a stream
+ *
+ * \param aStream The write stream that will contain the call waiting information
+ */
+ {
+ /*TMultimodeType::ExternalizeL(aStream);
+ aStream.WriteUint32L(iServiceGroup);
+ aStream.WriteUint32L(iStatus);*/
+ }
+
+EXPORT_C RMobilePhone::TMobilePhoneCWInfoEntryV1::TMobilePhoneCWInfoEntryV1()
+: iServiceGroup(EServiceUnspecified),
+ iStatus(ECallWaitingStatusUnknown)
+ {
+ iExtensionId=KETelExtMultimodeV1;
+ }
+
+EXPORT_C void RMobilePhone::SetCallWaitingStatus(TRequestStatus& aReqStatus, TMobileService aServiceGroup, TMobilePhoneServiceAction aAction) const
+/**
+ * This method sets the status of the call waiting service for all lines
+ * It will complete either when the network has confirmed the request or after the phone has sent it
+ * depending upon whether network confirmation is supported by serving network
+ *
+ * \param aAction Supplies the new status of the call waiting service, as applied to all basic services
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ iMmPtrHolder->iSetCallWaitingStatusGroup = aServiceGroup;
+ iMmPtrHolder->iSetCallWaitingStatusAction = aAction;
+
+ TPtrC8& ptr1 = iMmPtrHolder->SetC(CMobilePhonePtrHolder::ESlot1SetCallWaitingStatus,iMmPtrHolder->iSetCallWaitingStatusGroup);
+ TPtrC8& ptr2 = iMmPtrHolder->SetC(CMobilePhonePtrHolder::ESlot2SetCallWaitingStatus,iMmPtrHolder->iSetCallWaitingStatusAction);
+
+ Set(EMobilePhoneSetCallWaitingStatus,aReqStatus,ptr1,ptr2);*/
+ }
+
+EXPORT_C void RMobilePhone::NotifyCallWaitingStatusChange(TRequestStatus& aReqStatus, TDes8& aCWStatus) const
+/**
+ * This notification completes if the status of the call waiting service changes
+ *
+ * \retval aCWStatus Will contain the new status of the call waiting service
+ */
+ {
+ //Get(EMobilePhoneNotifyCallWaitingStatusChange,aReqStatus,aCWStatus);
+ }
+
+
+/***********************************************************************************/
+//
+// Mobile Call Completion functional unit
+//
+/***********************************************************************************/
+
+EXPORT_C void RMobilePhone::GetCCBSStatus(TRequestStatus& aReqStatus, TMobilePhoneCCBSStatus& aCcbsStatus, TMobileInfoLocation aLocation) const
+/**
+ * This method returns the current status of the CCBS service
+ *
+ * \retval aCcbsStatus Will contain the current status of the service
+ * \param aLocation Specifies whether the information should be retrieved from phone cache or network
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ iMmPtrHolder->iGetCCBSStatusLocation = aLocation;
+ TPtr8& ptr1 = iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1GetCCBSStatus,aCcbsStatus);
+ TPtr8& ptr2 = iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot2GetCCBSStatus,iMmPtrHolder->iGetCCBSStatusLocation);
+
+ Get(EMobilePhoneGetCCBSStatus,aReqStatus,ptr1,ptr2);*/
+ }
+
+EXPORT_C void RMobilePhone::NotifyCCBSStatusChange(TRequestStatus& aReqStatus, TMobilePhoneCCBSStatus& aCcbsStatus) const
+/**
+ * This notification completes if the status of the CCBS service changes
+ *
+ * \retval aCcbsStatus Will contain the new status of the CCBS service
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtr8& ptr1 = iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1NotifyCCBSStatusChange,aCcbsStatus);
+
+ Get(EMobilePhoneNotifyCCBSStatusChange,aReqStatus,ptr1);*/
+ }
+
+/*EXPORT_C void RMobilePhone::DeactivateAllCCBS(TRequestStatus& aReqStatus) const
+/**
+ * This method deactivates all currently active CCBS requests
+ * It will complete either when the network has confirmed the request or after the phone has sent it
+ * depending upon whether network confirmation is supported by serving network
+ *
+ */
+ //{
+ //Blank(EMobilePhoneDeactivateAllCCBS,aReqStatus);
+ //}
+
+void RMobilePhone::TMobilePhoneCCBSEntryV1::InternalizeL(RReadStream& aStream)
+/**
+ * This method internalizes the CCBS inforamation from a stream
+ *
+ * \param aStream The read stream containing the CCBS inforamation
+ */
+ {
+ /*TMultimodeType::InternalizeL(aStream);
+ aStream >> iCallName;
+ iServiceGroup = STATIC_CAST(TMobileService,aStream.ReadUint32L());
+ iCcbsIndex = STATIC_CAST(TInt,aStream.ReadUint32L());
+ aStream >> iDestination;*/
+ }
+
+void RMobilePhone::TMobilePhoneCCBSEntryV1::ExternalizeL(RWriteStream& aStream) const
+/**
+ * This method externalizes the CCBS information into a stream
+ *
+ * \param aStream The write stream that will contain the CCBS information
+ */
+ {
+ /*TMultimodeType::ExternalizeL(aStream);
+ aStream << iCallName;
+ aStream.WriteInt32L(iServiceGroup);
+ aStream.WriteInt32L(iCcbsIndex);
+ aStream << iDestination;*/
+ }
+
+EXPORT_C RMobilePhone::TMobilePhoneCCBSEntryV1::TMobilePhoneCCBSEntryV1()
+: iCcbsIndex(0), iServiceGroup(EServiceUnspecified)
+ {
+ iExtensionId=KETelExtMultimodeV1;
+ }
+
+/***********************************************************************************/
+//
+// Mobile Alternating Call functional unit
+//
+/***********************************************************************************/
+
+EXPORT_C TInt RMobilePhone::GetAlternatingCallCaps(TUint32& aCaps) const
+/**
+ * This method returns the alternating call capabilities of the phone
+ *
+ * \retval aCaps An integer that will contain the bit-wise sum of the alternating call capabilities
+ * \return KErrNone
+ * \exception KErrNotSupported if alternating calls are not supported
+ */
+ {
+ /*TPckg<TUint32> ptr1(aCaps);
+ return Get(EMobilePhoneGetAlternatingCallCaps,ptr1);*/
+ return 0;
+ }
+
+EXPORT_C void RMobilePhone::NotifyAlternatingCallCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const
+/**
+ * This notification completes if the alternating call capabilities of the phone change
+ *
+ * \retval aCaps An integer that will contain the new alternating call capabilities
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtr8& ptr1 = iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1NotifyAlternatingCallCapsChange,aCaps);
+
+ Get(EMobilePhoneNotifyAlternatingCallCapsChange,aReqStatus,ptr1);*/
+ }
+
+EXPORT_C TInt RMobilePhone::GetAlternatingCallMode(TMobilePhoneAlternatingCallMode& aMode, TMobileService& aFirstService) const
+/**
+ * This method returns the current alternating call mode
+ *
+ * \retval aMode Will contain the current alternating call mode
+ * \retval aFirstService Will contain the service that will be first in an alternating call (voice, data, fax)
+ */
+ {
+ /*TPckg<TMobilePhoneAlternatingCallMode> ptr1(aMode);
+ TPckg<TMobileService> ptr2(aFirstService);
+
+ return Get(EMobilePhoneGetAlternatingCallMode,ptr1,ptr2);*/
+ }
+
+EXPORT_C void RMobilePhone::SetAlternatingCallMode(TRequestStatus& aReqStatus, TMobilePhoneAlternatingCallMode aMode, TMobileService aFirstService) const
+/**
+ * This method sets a new value for alternating call mode
+ *
+ * \param aMode Specifies the new alternating call mode
+ * \param aFirstService Specifies the service that will be first in an alternating call (voice, data, fax)
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ iMmPtrHolder->iSetAlternatingCallModeMode = aMode;
+ iMmPtrHolder->iSetAlternatingCallModeService = aFirstService;
+ TPtrC8& ptr1 = iMmPtrHolder->SetC(CMobilePhonePtrHolder::ESlot1SetAlternatingCallMode,iMmPtrHolder->iSetAlternatingCallModeMode);
+ TPtrC8& ptr2 = iMmPtrHolder->SetC(CMobilePhonePtrHolder::ESlot2SetAlternatingCallMode,iMmPtrHolder->iSetAlternatingCallModeService);
+
+ Set(EMobilePhoneSetAlternatingCallMode,aReqStatus,ptr1,ptr2);*/
+ }
+
+EXPORT_C void RMobilePhone::NotifyAlternatingCallModeChange(TRequestStatus& aReqStatus, TMobilePhoneAlternatingCallMode& aMode,TMobileService& aFirstService) const
+/**
+ * This notification completes if the alternating call mode of the phone changes
+ *
+ * \retval aMode Will contain the new alternating call mode
+ * \retval aFirstService Will contain the service that will be first in an alternating call (voice, data, fax)
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtr8& ptr1 = iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1NotifyAlternatingCallModeChange,aMode);
+ TPtr8& ptr2 = iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot2NotifyAlternatingCallModeChange,aFirstService);
+
+ Get(EMobilePhoneNotifyAlternatingCallModeChange,aReqStatus,ptr1,ptr2);*/
+ }
+
+/***********************************************************************************/
+//
+// Mobile Alternate Line Service functional unit
+//
+/***********************************************************************************/
+
+
+EXPORT_C TInt RMobilePhone::GetALSLine(TMobilePhoneALSLine& aALSLine) const
+/**
+ * This method returns the current ALS line selected
+ *
+ * \retval aALSLine Will contain the ALS line selected
+ */
+ {
+ /*TPckg<TMobilePhoneALSLine> ptr1(aALSLine);
+ return Get(EMobilePhoneGetALSLine,ptr1);*/
+ return 0;
+ }
+
+EXPORT_C void RMobilePhone::SetALSLine(TRequestStatus& aReqStatus, TMobilePhoneALSLine aALSLine) const
+/**
+ * This method sets a new values for the ALS line selected
+ *
+ * \param aALSLine Specifies the new ALS line selected
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ iMmPtrHolder->iSetALSLine = aALSLine;
+ TPtrC8& ptr1 = iMmPtrHolder->SetC(CMobilePhonePtrHolder::ESlot1SetALSLine,iMmPtrHolder->iSetALSLine);
+
+ Set(EMobilePhoneSetALSLine,aReqStatus,ptr1);*/
+ }
+
+EXPORT_C void RMobilePhone::NotifyALSLineChange(TRequestStatus& aReqStatus, TMobilePhoneALSLine& aALSLine) const
+/**
+ * This notification completes if the ALS line selected changes
+ *
+ * \retval aALSLine Will contain the new ALS line selected
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtr8& ptr1 = iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1NotifyALSLineChange,aALSLine);
+
+ Get(EMobilePhoneNotifyALSLineChange,aReqStatus,ptr1);*/
+ }
+
+/***********************************************************************************/
+//
+// Mobile Cost functional unit
+//
+/***********************************************************************************/
+
+
+EXPORT_C TInt RMobilePhone::GetCostCaps(TUint32& aCaps) const
+/**
+ * This method returns the call cost information capabilities of the phone
+ *
+ * \retval aCaps An integer that will contain the bit-wise sum of the call cost information capabilities
+ * \return KErrNone
+ * \exception KErrNotSupported if call cost information is not supported
+ */
+ {
+ //TPckg<TUint32> ptr1(aCaps);
+ //return Get(EMobilePhoneGetCostCaps,ptr1);
+ return 0;
+ }
+
+EXPORT_C void RMobilePhone::NotifyCostCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const
+/**
+ * This notification completes if the call cost information capabilities of the phone change
+ *
+ * \retval aCaps An integer that will contain the new call cost information capabilities
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtr8& ptr1 = iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1NotifyCostCapsChange,aCaps);
+
+ Get(EMobilePhoneNotifyCostCapsChange,aReqStatus,ptr1);*/
+ }
+
+EXPORT_C void RMobilePhone::ClearCostMeter(TRequestStatus& aReqStatus, TMobilePhoneCostMeters aMeter) const
+/**
+ * This method clears the Accumulated Cost Meter (ACM) on the SIM
+ * It will complete either when the SIM confirms that ACM is cleared or after the phone has
+ * been denied access due to the requirement for PIN2 entry first
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ iMmPtrHolder->iClearCostMeter = aMeter;
+ TPtrC8& ptr1 = iMmPtrHolder->SetC(CMobilePhonePtrHolder::ESlot1ClearCostMeter,iMmPtrHolder->iClearCostMeter);
+
+ Set(EMobilePhoneClearCostMeter,aReqStatus,ptr1);*/
+ }
+
+EXPORT_C void RMobilePhone::SetMaxCostMeter(TRequestStatus& aReqStatus, TUint aUnits) const
+/**
+ * This method sets a new value for the Max Accumulated Cost Meter (ACMmax) on the SIM
+ * It will complete either when the SIM confirms that ACMmax is set or after the phone has
+ * been denied access due to the requirement for PIN2 entry first
+ *
+ * \param aUnits Specifies the number of units to set ACMmax to
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ iMmPtrHolder->iSetMaxCostMeterUnits = aUnits;
+ TPtrC8& ptr1 = iMmPtrHolder->SetC(CMobilePhonePtrHolder::ESlot1SetMaxCostMeter,iMmPtrHolder->iSetMaxCostMeterUnits);
+
+ Set(EMobilePhoneSetMaxCostMeter,aReqStatus,ptr1);*/
+ }
+
+EXPORT_C RMobilePhone::TMobilePhonePuctV1::TMobilePhonePuctV1()
+: iPricePerUnit(0.0)
+ {
+ iExtensionId=KETelExtMultimodeV1;
+ }
+
+
+EXPORT_C void RMobilePhone::SetPuct(TRequestStatus& aReqStatus, const TDesC8& aPuct) const
+/**
+ * This method sets a new value for the Price Per Unit & Currency Table (PUCT) on the SIM
+ * It will complete either when the SIM confirms that PUCT is set or after the phone has
+ * been denied access due to the requirement for PIN2 entry first
+ *
+ * \param aPuct Supplies the new PUCT setting
+ */
+ {
+ Set(EMobilePhoneSetPuct,aReqStatus,aPuct);
+ }
+
+EXPORT_C RMobilePhone::TMobilePhoneCostInfoV1::TMobilePhoneCostInfoV1()
+: iService(ECostServiceUnknown),
+ iCCM(0),
+ iACM(0),
+ iACMmax(0)
+ {
+ iExtensionId=KETelExtMultimodeV1;
+ }
+
+EXPORT_C void RMobilePhone::GetCostInfo(TRequestStatus& aReqStatus, TDes8& aCostInfo) const
+/**
+ * This method returns the current snapshot of the phone's call cost information
+ *
+ * \retval aCostInfo Will contain the cost information
+ */
+ {
+ //Get(EMobilePhoneGetCostInfo,aReqStatus,aCostInfo);
+ }
+
+EXPORT_C void RMobilePhone::NotifyCostInfoChange(TRequestStatus& aReqStatus, TDes8& aCostInfo) const
+/**
+ * This notification completes if the call cost information changes
+ *
+ * \retval aCostInfo Will contain the new call cost information
+ */
+ {
+ //Get(EMobilePhoneNotifyCostInfoChange,aReqStatus,aCostInfo);
+ }
+
+
+/***********************************************************************************/
+//
+// Mobile Security functional unit
+//
+/***********************************************************************************/
+
+EXPORT_C TInt RMobilePhone::GetSecurityCaps(TUint32& aCaps) const
+/**
+ * This method returns the security capabilities of the phone
+ *
+ * \retval aCaps An integer that will contain the bit-wise sum of the security capabilities
+ * \return KErrNone
+ * \exception KErrNotSupported if security is not supported
+ */
+ {
+ /*TPckg<TUint32> ptr1(aCaps);
+ return Get(EMobilePhoneGetSecurityCaps,ptr1);*/
+ return 0;
+ }
+
+EXPORT_C void RMobilePhone::NotifySecurityCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const
+/**
+ * This notification completes if the security capabilities of the phone change
+ *
+ * \retval aCaps An integer that will contain the new security capabilities
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtr8& ptr1 = iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1NotifySecurityCapsChange,aCaps);
+
+ Get(EMobilePhoneNotifySecurityCapsChange,aReqStatus,ptr1);*/
+ }
+
+EXPORT_C RMobilePhone::TMobilePhoneLockInfoV1::TMobilePhoneLockInfoV1()
+: iStatus(EStatusLocked),
+ iSetting(ELockSetEnabled)
+ {
+ iExtensionId=KETelExtMultimodeV1;
+ }
+
+EXPORT_C void RMobilePhone::GetLockInfo(TRequestStatus& aReqStatus, TMobilePhoneLock aLock, TDes8& aLockInfo) const
+/**
+ * This method returns the current status and setting of the specified lock
+ *
+ * \param aLock Specifies which lock is being interrogated
+ * \retval aLockInfo Will contain the lock's current status and setting
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ iMmPtrHolder->iLock = aLock;
+ TPtrC8& ptr1 = iMmPtrHolder->SetC(CMobilePhonePtrHolder::ESlot1GetLockInfo,iMmPtrHolder->iLock);
+
+ SetAndGet(EMobilePhoneGetLockInfo,aReqStatus,ptr1,aLockInfo);*/
+ }
+
+EXPORT_C void RMobilePhone::NotifyLockInfoChange(TRequestStatus& aReqStatus, TMobilePhoneLock& aLock, TDes8& aLockInfo) const
+/**
+ * This notification completes if the status or information of a lock changes
+ *
+ * \retval aLockInfo Will contain the new lock status and information
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtr8& ptr1 = iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1NotifyLockInfoChange,aLock);
+
+ Get(EMobilePhoneNotifyLockInfoChange,aReqStatus,ptr1,aLockInfo);*/
+ }
+
+EXPORT_C void RMobilePhone::SetLockSetting(TRequestStatus& aReqStatus, TMobilePhoneLock aLock, TMobilePhoneLockSetting aSetting) const
+/**
+ * This method sets a new value for the setting of the specified lock
+ *
+ * \param aLock Specifies which lock is being set
+ * \param aSetting Supplies the lock's new setting
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ iMmPtrHolder->iSetLockSettingLock = aLock;
+ iMmPtrHolder->iSetLockSettingSetting = aSetting;
+
+ TPtrC8& ptr1 = iMmPtrHolder->SetC(CMobilePhonePtrHolder::ESlot1SetLockSetting,iMmPtrHolder->iSetLockSettingLock);
+ TPtrC8& ptr2 = iMmPtrHolder->SetC(CMobilePhonePtrHolder::ESlot2SetLockSetting,iMmPtrHolder->iSetLockSettingSetting);
+
+ Set(EMobilePhoneSetLockSetting,aReqStatus,ptr1,ptr2);*/
+ }
+
+EXPORT_C void RMobilePhone::ChangeSecurityCode(TRequestStatus& aReqStatus, TMobilePhoneSecurityCode aType, const TMobilePhonePasswordChangeV1& aChange) const
+/**
+ * This method changes the value of the specified security code
+ *
+ * \param aType Specifies which security code is being changed
+ * \param aChange Supplies the old and new values for the security code
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ iMmPtrHolder->iChangeSecurityCodeType = aType;
+ TPtrC8& ptr1 = iMmPtrHolder->SetC(CMobilePhonePtrHolder::ESlot1ChangeSecurityCode,iMmPtrHolder->iChangeSecurityCodeType);
+ TPtrC8& ptr2 = iMmPtrHolder->SetC(CMobilePhonePtrHolder::ESlot2ChangeSecurityCode,aChange);
+
+ Set(EMobilePhoneChangeSecurityCode,aReqStatus,ptr1,ptr2);*/
+ }
+
+EXPORT_C void RMobilePhone::NotifySecurityEvent(TRequestStatus& aReqStatus, TMobilePhoneSecurityEvent& aEvent) const
+/**
+ * This notification completes if the phone recognises that a security event has occurred
+ *
+ * \retval aEvent Will contain the security event
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtr8& ptr1 = iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1NotifySecurityEvent,aEvent);
+
+ Get(EMobilePhoneNotifySecurityEvent,aReqStatus,ptr1);*/
+ }
+
+EXPORT_C void RMobilePhone::VerifySecurityCode(TRequestStatus& aReqStatus, TMobilePhoneSecurityCode aType, const TMobilePassword& aCode,
+ const TMobilePassword& aUnblockCode) const
+/**
+ * This method verifies the user's code agains the specified stored security code
+ *
+ * \param aType Specifies which security code is being verified
+ * \param aCode Supplies the user's code
+ * \param aUnblockCode Supplies the user's unblock code which may be needed if the user is actually unblocking a security code (e.g. PIN1 or PIN2)
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ iMmPtrHolder->iVerifySecurityCodeType = aType;
+ iMmPtrHolder->iVerifySecurityCodeData.iCode = aCode;
+ iMmPtrHolder->iVerifySecurityCodeData.iUnblockCode = aUnblockCode;
+
+ TPtrC8& ptr1 = iMmPtrHolder->SetC(CMobilePhonePtrHolder::ESlot1VerifySecurityCode,iMmPtrHolder->iVerifySecurityCodeType);
+ TPtrC8& ptr2 = iMmPtrHolder->SetC(CMobilePhonePtrHolder::ESlot2VerifySecurityCode,iMmPtrHolder->iVerifySecurityCodeData);
+
+ Set(EMobilePhoneVerifySecurityCode,aReqStatus,ptr1,ptr2);*/
+ }
+
+EXPORT_C TInt RMobilePhone::AbortSecurityCode(TMobilePhoneSecurityCode aType) const
+/**
+ * This method informs the phone that the user has cancelled the request for a security code to be entered
+ */
+ {
+ /*TPckg<TMobilePhoneSecurityCode> ptr1(aType);
+ return Set(EMobilePhoneAbortSecurityCode,ptr1);*/
+ }
+
+EXPORT_C RMobilePhone::TMobilePhoneMulticallSettingsV1::TMobilePhoneMulticallSettingsV1()
+ : iUserMaxBearers(-1),iServiceProviderMaxBearers(-1),iNetworkSupportedMaxBearers(-1),
+ iUESupportedMaxBearers(-1)
+ {
+ iExtensionId=KETelExtMultimodeV1;
+ }
+
+EXPORT_C void RMobilePhone::GetMulticallParams(TRequestStatus& aReqStatus, TDes8& aMulticallParams) const
+/**
+ * This method retrieves the maximum number of simultaneous CS service bearers defined by
+ * the user, defined by the service provider, supported by the network and supported by the phone.
+ *
+ * \param aMulticallParams Will contain the multicall bearer settings
+ */
+ {
+ //Get(EMobilePhoneGetMulticallParams, aReqStatus, aMulticallParams);
+ }
+
+EXPORT_C void RMobilePhone::SetMulticallParams(TRequestStatus& aReqStatus, TInt aUserMaxBearers) const
+/**
+ * This method is used by client application to set the maximum number of
+ * simultaneous CS bearers specified by the user (iUserMaxBearers)
+ *
+ * \param aUserMaxBearers Supplies the new user specified value
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ iMmPtrHolder->iUserMaxBearers = aUserMaxBearers;
+ TPtrC8& ptr1=iMmPtrHolder->SetC(CMobilePhonePtrHolder::ESlot1SetMulticallParams, iMmPtrHolder->iUserMaxBearers);
+
+ Set(EMobilePhoneSetMulticallParams,aReqStatus,ptr1);*/
+ }
+
+EXPORT_C void RMobilePhone::NotifyMulticallParamsChange(TRequestStatus& aReqStatus, TDes8& aMulticallParams) const
+/**
+ * This notification completes if the multicall parameters of the phone change
+ *
+ * \retval aMulticallParams Will contain the new Multicall parameters set by the network
+ */
+ {
+ //Get(EMobilePhoneNotifyMulticallParamsChange, aReqStatus, aMulticallParams);
+ }
+
+/***********************************************************************************/
+//
+// Mobile Message Waiting functional unit
+//
+/***********************************************************************************/
+
+EXPORT_C RMobilePhone::TMobilePhoneMessageWaitingV1::TMobilePhoneMessageWaitingV1()
+: iVoiceMsgs(0), iAuxVoiceMsgs(0), iDataMsgs(0), iFaxMsgs(0), iEmailMsgs(0), iOtherMsgs(0)
+ {
+ iExtensionId=KETelExtMultimodeV1;
+ }
+
+EXPORT_C void RMobilePhone::NotifyMessageWaiting(TRequestStatus& aReqStatus, TInt& aCount) const
+/**
+ * This notification completes if the phone receives a "message waiting" message from the network
+ *
+ * \retval aCount Will contain the number of voicemail messages waiting
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtr8& ptr1 = iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1NotifyMessageWaiting,aCount);
+
+ Get(EMobilePhoneNotifyMessageWaiting,aReqStatus,ptr1);*/
+ }
+
+EXPORT_C void RMobilePhone::GetIccMessageWaitingIndicators(TRequestStatus& aReqStatus, TDes8& aMsgIndicators) const
+/**
+ * This method retrieves the set of message waiting indicators from the current ICC
+ *
+ * \retval aMsgIndicators Will contain the type and number of waiting messages
+ */
+ {
+ //Get(EMobilePhoneGetIccMessageWaitingIndicators,aReqStatus,aMsgIndicators);
+ }
+
+EXPORT_C void RMobilePhone::SetIccMessageWaitingIndicators(TRequestStatus& aReqStatus, const TDesC8& aMsgIndicators) const
+/**
+ * This method sets the message waiting indicators on the current ICC
+ *
+ * \retval aMsgIndicators Will contain the type and number of waiting messages
+ */
+ {
+ //Set(EMobilePhoneSetIccMessageWaitingIndicators,aReqStatus,aMsgIndicators);
+ }
+
+EXPORT_C void RMobilePhone::NotifyIccMessageWaitingIndicatorsChange(TRequestStatus& aReqStatus, TDes8& aMsgIndicators) const
+/**
+ * This notification completes if the message waiting indicators change on the current ICC
+ *
+ * \retval aMsgIndicators Will contain the type and number of waiting messages
+ */
+ {
+ //Get(EMobilePhoneNotifyIccMessageWaitingIndicatorsChange,aReqStatus,aMsgIndicators);
+ }
+
+/***********************************************************************************/
+//
+// Mobile Fixed Dialling Numbers functional unit
+//
+/***********************************************************************************/
+
+
+EXPORT_C TInt RMobilePhone::GetFdnStatus(TMobilePhoneFdnStatus& aFdnStatus) const
+/**
+ * This method returns the current status of the Fixed Dialling Number (FDN) service
+ *
+ * \retval aFdnStatus Will contain the current status of FDN
+ */
+ {
+ /*TPckg<TMobilePhoneFdnStatus> ptr1(aFdnStatus);
+
+ return Get(EMobilePhoneGetFdnStatus,ptr1);*/
+ }
+
+EXPORT_C void RMobilePhone::SetFdnSetting(TRequestStatus& aReqStatus, TMobilePhoneFdnSetting aFdnSetting) const
+/**
+ * This method sets a new value for the status of the Fixed Dialling Number (FDN) service
+ *
+ * \retval aFdnSetting Supplies the new status of FDN
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ iMmPtrHolder->iSetFdnSetting = aFdnSetting;
+ TPtrC8& ptr1 = iMmPtrHolder->SetC(CMobilePhonePtrHolder::ESlot1SetFdnSetting,iMmPtrHolder->iSetFdnSetting);
+
+ Set(EMobilePhoneSetFdnSetting,aReqStatus,ptr1);*/
+ }
+
+EXPORT_C void RMobilePhone::NotifyFdnStatusChange(TRequestStatus& aReqStatus, TMobilePhoneFdnStatus& aFdnStatus) const
+/**
+ * This notification completes if the status of the FDN service changes
+ *
+ * \retval aFdnStatus Will contain the new FDN status
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtr8& ptr1 = iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1NotifyFdnStatusChange,aFdnStatus);
+
+ Get(EMobilePhoneNotifyFdnStatusChange,aReqStatus,ptr1);*/
+ }
+
+/************************************************************************************/
+//
+// Single Numbering Scheme functional unit
+//
+/************************************************************************************/
+
+
+EXPORT_C void RMobilePhone::GetIncomingCallType(TRequestStatus& aReqStatus, TMobilePhoneIncomingCallType& aCallType, TDes8& aDataParams) const
+/**
+ * This method retrieves the current setting of the incoming call type
+ *
+ * \retval aType Will contain the incoming call types supported by the phone
+ *
+ * \param aDataParams Will contain the data bearer service settings if aType
+ * indicates that incoming calls will include a data bearer element
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtr8& ptr1 = iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1GetIncomingCallType, aCallType);
+
+ Get(EMobilePhoneGetIncomingCallType, aReqStatus, ptr1, aDataParams);*/
+ }
+
+EXPORT_C void RMobilePhone::SetIncomingCallType(TRequestStatus& aReqStatus, TMobilePhoneIncomingCallType aCallType, TDes8& aDataParams) const
+/**
+ * This method sets the incoming call type.
+ *
+ * \param aCallType Supplies the new settings for the incoming call types
+ * \param aDataParam Suppies the new data settings in the case of a data bearer
+ */
+ {
+ /*)__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ iMmPtrHolder->iCallType = aCallType;
+ TPtrC8& ptr1 = iMmPtrHolder->SetC(CMobilePhonePtrHolder::ESlot1SetIncomingCallType, iMmPtrHolder->iCallType);
+
+ Set(EMobilePhoneSetIncomingCallType, aReqStatus, ptr1, aDataParams);*/
+ }
+
+EXPORT_C void RMobilePhone::NotifyIncomingCallTypeChange(TRequestStatus& aReqStatus, TMobilePhoneIncomingCallType& aCallType, TDes8& aDataParams) const
+/**
+ * This method notifies the client if the setting of the incoming call type changes.
+ *
+ * \retval aCallType Will contain the new incoming call type.
+ *
+ * \param aDataParams Will contain the data bearer service settings if aCallType
+ * indicates that incoming calls will include a data bearer element
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtr8& ptr1 = iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1NotifyIncomingCallTypeChange, aCallType);
+
+ Get(EMobilePhoneNotifyIncomingCallTypeChange, aReqStatus, ptr1, aDataParams);*/
+ }
+
+/************************************************************************************/
+//
+// User-To-User Signalling functional unit
+//
+/************************************************************************************/
+
+
+EXPORT_C void RMobilePhone::GetUUSSetting(TRequestStatus& aReqStatus, TMobilePhoneUUSSetting& aSetting) const
+/**
+ * This method retrieves the current User-User Signalling settings of the phone
+ *
+ * \retval aSetting An integer that will contain the current UUS settings
+ * \return KErrNone
+ * \exception KErrNotSupported if UUS functionality is not supported by the phone/TSY
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtr8& ptr1 = iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1GetUUSSetting, aSetting);
+ Get(EMobilePhoneGetUUSSetting, aReqStatus, ptr1);*/
+ }
+
+EXPORT_C void RMobilePhone::SetUUSSetting(TRequestStatus& aReqStatus, TMobilePhoneUUSSetting aSetting) const
+/**
+ * This method sets the User-User Signalling settings of the phone
+ *
+ * \param aSetting Supplies the new UUS settings
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ iMmPtrHolder->iSetUUSSetting = aSetting;
+ TPtrC8& ptr1 = iMmPtrHolder->SetC(CMobilePhonePtrHolder::ESlot1SetUUSSetting, iMmPtrHolder->iSetUUSSetting);
+
+ Set(EMobilePhoneSetUUSSetting, aReqStatus, ptr1);*/
+ }
+
+EXPORT_C void RMobilePhone::NotifyUUSSettingChange(TRequestStatus& aReqStatus, TMobilePhoneUUSSetting& aSetting) const
+/**
+ * This notification completes if the User-User Signalling settings of the phone change
+ *
+ * \retval aCaps An integer that will contain the new UUS settings
+ */
+ {
+ /*__ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle));
+
+ TPtr8& ptr1 = iMmPtrHolder->Set(CMobilePhonePtrHolder::ESlot1NotifyUUSSettingChange,aSetting);
+
+ Get(EMobilePhoneNotifyUUSSettingChange, aReqStatus, ptr1);*/
+ }
+
+/***********************************************************************************/