--- a/telephonyserver/etelmultimode/INC/mm_hold.h Mon May 03 13:37:20 2010 +0300
+++ b/telephonyserver/etelmultimode/INC/mm_hold.h Thu May 06 15:10:38 2010 +0100
@@ -1,795 +1,795 @@
-// Copyright (c) 2000-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:
-// Multimode ETel API v1.0
-// Header file for ptr holder classes, used to store client data
-//
-//
-
-/**
- @file
-*/
-
-#ifndef _MM_HOLD_H_
-#define _MM_HOLD_H_
-
-#include <etelmm.h>
-
-
-class CMmPtrHolder : public CBase
-/**
-A base class for all ptr holder classes
-
-The ptr holder classes contain the TPtr8's used by asynchronous client-side functions.
-The API code also uses them to ensure BC by keeping size of R-classes constant.
-
-@publishedPartner
-@released
-*/
- {
-public:
-// static CMmPtrHolder* NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray);
- virtual ~CMmPtrHolder();
-public:
- template <typename T> inline TPtr8& Set(TInt aSlot,T& aObject)
- {
- TPtr8& ptr=Ptr(aSlot);
- ptr.Set(REINTERPRET_CAST(TText8*,(&aObject)),sizeof(T),sizeof(T));
- return ptr;
- };
-
- template <typename T> inline TPtrC8& SetC(TInt aSlot, const T& aObject)
- {
- TPtrC8& ptr=PtrC(aSlot);
- ptr.Set(REINTERPRET_CAST(const TText8*,(&aObject)),sizeof(T));
- return ptr;
- };
-
-protected:
- virtual void ConstructL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray);
- CMmPtrHolder();
-private:
- TPtr8& Ptr(TInt aIndex);
- TPtrC8& PtrC(TInt aIndex);
-protected:
- RArray<TPtr8> iPtrArray;
- RArray<TPtrC8> iPtrCArray;
- };
-
-
-
-class CMobilePhonePtrHolder : public CMmPtrHolder
-/**
-Holds the TPtr8 arrays for all RMobilePhone requests
-
-This class is internal.
-
-@publishedPartner
-@released
-*/
-
- {
-public:
-
- // The ptr holder slot numbers used by RMobilePhone asynchronous requests
-
- enum TPhonePtrHolderSlots
- {
- ESlot1NotifyIccAccessCapsChange =0,
- ESlot1GetServiceTable,
- ESlot1GetBatteryInfo,
- ESlot1NotifyBatteryInfoChange,
- ESlot1GetSignalStrength,
- ESlot2GetSignalStrength,
- ESlot1NotifySignalStrengthChange,
- ESlot2NotifySignalStrengthChange,
- ESlot1GetIndicator,
- ESlot1NotifyIndicatorChange,
- ESlot1GetPhoneId,
- ESlot1GetSubscriberId,
- ESlot1NotifyDTMFCapsChange,
- ESlot1NotifyModeChange,
- ESlot1GetCurrentNetwork,
- ESlot1NotifyCurrentNetworkChange,
- ESlot1GetNetworkRegistrationStatus,
- ESlot1NotifyNetworkRegistrationStatusChange,
- ESlot1NotifyNetworkSelectionSettingChange,
- ESlot1NotifyNITZInfoChange,
- ESlot1NotifyDefaultPrivacyChange,
- ESlot1NotifyCallServiceCapsChange,
- ESlot1GetFeatureCode,
- ESlot1NotifyCallForwardingStatusChange,
- ESlot1PhoneNotifyCallForwardingActive,
- ESlot2PhoneNotifyCallForwardingActive,
- ESlot2GetIdentityServiceStatus,
- ESlot1NotifyCallBarringStatusChange,
- ESlot1GetCCBSStatus,
- ESlot2GetCCBSStatus,
- ESlot1NotifyCCBSStatusChange,
- ESlot1NotifyAlternatingCallCapsChange,
- ESlot1NotifyAlternatingCallModeChange,
- ESlot2NotifyAlternatingCallModeChange,
- ESlot1NotifyALSLineChange,
- ESlot1NotifyCostCapsChange,
- ESlot1NotifySecurityCapsChange,
- ESlot1NotifyLockInfoChange,
- ESlot1NotifySecurityEvent,
- ESlot1NotifyMessageWaiting,
- ESlot2NotifyMessageWaiting,
- ESlot1NotifyFdnStatusChange,
- ESlot1GetIncomingCallType,
- ESlot1NotifyIncomingCallTypeChange,
- ESlot1GetUUSSetting,
- ESlot1NotifyUUSSettingChange,
- ESlot1NotifyMultimediaCallPreferenceChange,
- ESlot1GetNetworkSecurityLevel,
- ESlot1NotifyNetworkSecurityLevelChange,
- ESlot1NotifyUSimApplicationsInfoChange,
- ESlot2NotifyUSimApplicationsInfoChange,
- ESlot1NotifyUSimAppsSelectionModeChange,
- ESlot1EnumerateUSimApplications,
- ESlot2EnumerateUSimApplications,
- ESlot1NotifyCCBSRecall,
- ESlot1GetFdnStatus,
- ESlot1GetHomeNetworkSearchPeriod,
- ESlot1GetLastUsedAccessTechnology,
- ESlot1NotifyNetworkInvScanChange,
- ESlot1NotifyNetworkInvScanEvent,
- ESlot1EnumerateAPNEntries,
- ESlot1NotifyAirTimeDurationChange,
- ESlot1NotifyDTMFEvent,
- ESlot1GetPersonalisationStatus,
- ESlot1GetCipheringIndicatorStatus,
- ESlot1NotifyCipheringIndicatorStatus,
- ESlot1EnumerateSmartCardApplications,
- ESlot1GetCurrentActiveUSimApplication,
- ESlot1GetIccIdentity,
- ESlot1NotifySecurityCodeInfoChange,
- ESlot1SmartCardAuthenticate,
- ESlot1GetAPNControlListServiceStatus,
- ESlot1NotifyAPNControlListServiceStatusChange,
- EMaxNumberPhonePtrSlots
- };
-
- enum TPhonePtrCHolderSlots
- {
- ESlot1SetNetworkSelectionSetting = 0,
- ESlot1SetDefaultPrivacy,
- ESlot1ProgramFeatureCode,
- ESlot1SetCallForwardingStatus,
- ESlot2SetCallForwardingStatus,
- ESlot1GetIdentityServiceStatus,
- ESlot1SetCallBarringStatus,
- ESlot2SetCallBarringStatus,
- ESlot1SetCallBarringPassword,
- ESlot1SetCallWaitingStatus,
- ESlot2SetCallWaitingStatus,
- ESlot1SetAlternatingCallMode,
- ESlot2SetAlternatingCallMode,
- ESlot1SetALSLine,
- ESlot1ClearCostMeter,
- ESlot1SetMaxCostMeter,
- ESlot1GetLockInfo,
- ESlot1SetLockSetting,
- ESlot2SetLockSetting,
- ESlot1ChangeSecurityCode,
- ESlot2ChangeSecurityCode,
- ESlot1VerifySecurityCode,
- ESlot2VerifySecurityCode,
- ESlot1SetFdnSetting,
- ESlot1SelectNetwork,
- ESlot2SelectNetwork,
- ESlot1SetMulticallParams,
- ESlot1SetIncomingCallType,
- ESlot1SetUUSSetting,
- ESlot1SetUSimApplicationStatus,
- ESlot2SetUSimApplicationStatus,
- ESlot1GetUSimApplicationInfo,
- ESlot1SetMultimediaCallPreference,
- ESlot1GetPhoneStoreInfo,
- ESlot1AcceptCCBSRecall,
- ESlot1DeactivateCCBS,
- ESlot1SetService,
- ESlot1GetMmsConfig,
- ESlot1NotifyMmsConfig,
- ESlot1GetCompMethodName,
- ESlot1GetAPNnameIndex,
- ESlot1DeleteAPNNameIndex,
- ESlot1SetAPNControlListServiceStatus,
- ESlot1SendSSOperation,
- ESlot1SetPersonalisationStatus,
- ESlot1SetIdentityServiceStatus,
- ESlot2SetIdentityServiceStatus,
- ESlot1NotifyIdentityServiceStatus,
- ESlot2NotifyIdentityServiceStatus,
- ESlot1NotifyMulticallIndicatorChange,
- ESlot1GetSmartCardApplicationInfo,
- ESlot1NotifySmartCardApplicationInfoChange,
- ESlot2NotifySmartCardApplicationInfoChange,
- ESlot1SetSmartCardApplicationStatus,
- ESlot2SetSmartCardApplicationStatus,
- ESlot1GetScFileInfo,
- ESlot1ReadScFile,
- ESlot1UpdateScFile,
- ESlot1GetSecurityCodeInfo,
- ESlot1SetGbaBootstrapParams,
- EMaxNumberPhonePtrCSlots
- };
-
-public:
- static CMobilePhonePtrHolder* NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray);
- ~CMobilePhonePtrHolder();
-protected:
- CMobilePhonePtrHolder();
-public:
- // Storage for parameters from client which were passed by value.
- RMobilePhone::TMobilePhoneServiceTable iServiceTable;
- RMobilePhone::TMobilePhonePrivacy iPrivacySetting;
- RMobilePhone::TMobilePhoneCFCondition iSetCFCondition;
- RMobilePhone::TNetworkServiceAndAction iProgramFeatureCode;
- RMobilePhone::TNetworkServiceAndAction iGetFeatureCode;
- RMobilePhone::TIdServiceAndLocation iGetIdentityServiceStatus;
- RMobilePhone::TMobilePhoneCBCondition iSetCBStatusCondition;
- RMobilePhone::TMobileInfoLocation iGetCCBSStatusLocation;
- RMobilePhone::TMobileService iSetCallWaitingStatusGroup;
- RMobilePhone::TMobilePhoneServiceAction iSetCallWaitingStatusAction;
- RMobilePhone::TMobilePhoneAlternatingCallMode iSetAlternatingCallModeMode;
- RMobilePhone::TMobileService iSetAlternatingCallModeService;
- RMobilePhone::TMobilePhoneALSLine iSetALSLine;
- TUint iSetMaxCostMeterUnits;
- RMobilePhone::TMobilePhoneCostMeters iClearCostMeter;
- RMobilePhone::TMobilePhoneLock iLock;
- RMobilePhone::TMobilePhoneLock iSetLockSettingLock;
- RMobilePhone::TMobilePhoneLockSetting iSetLockSettingSetting;
- RMobilePhone::TMobilePhoneSecurityCode iVerifySecurityCodeType;
- RMobilePhone::TCodeAndUnblockCode iVerifySecurityCodeData;
- RMobilePhone::TMobilePhoneSecurityCode iChangeSecurityCodeType;
- RMobilePhone::TMobilePhoneFdnSetting iSetFdnSetting;
- TBool iIsManual;
- TInt iUserMaxBearers;
- RMobilePhone::TMobilePhoneIncomingCallType iCallType;
- RMobilePhone::TMobilePhoneUUSSetting iSetUUSSetting;
-
- RMobilePhone::TMobilePhoneMultimediaSettings iMmSettings;
- RMobilePhone::TUSimSelectionMode iUSimSelectionMode;
- RMobilePhone::TUSimAppAction iUSimAppAction;
- TInt iUSimAppIndex;
- RMobilePhone::TPhoneStoreNameAndIccType iPhoneStoreNameAndIccType;
- RMobilePhone::TAID iAID;
- TInt iDeactivateCCBSIndex;
- TInt iAcceptCCBSRecallIndex;
- TInt iBarringService;
- RMobilePhone::TMmsConnParams iGetMmsConfig;
- RMobilePhone::TMmsConnParams iNotifyMmsConfig;
- TUint8 iCompMethodIdentifier;
- TUint32 iGetAPNnameIndex;
- TUint32 iDeleteAPNNameIndex;
- RMobilePhone::TAPNControlListServiceStatus iSetAPNControlListServiceStatus;
- RMobilePhone::TMobilePhoneNotifySendSSOperation iSendSSOperation;
- RMobilePhone::TMobilePhonePersonalisation iSetPersonalisationScheme;
- CBufBase* iStoreNetworkBuf;
- TPtr8 iStoreNetworkPtr;
- RMobilePhone::TMobilePhoneIdService iSetIdService;
- RMobilePhone::TMobilePhoneIdServiceSetting iSetIdServiceSetting;
- RMobilePhone::TMobilePhoneIdService iNotifyIdService;
- TInt iScAppIndex;
- RMobilePhone::TSmartCardApplicationAction iScAppAction;
- RMobilePhone::TMobilePhoneSecurityCode iGetSecurityCodeInfoType;
- RMobilePhone::TAID iScAuthAID;
- RMobilePhone::TAID iAuthAID;
- CBufBase* iStoreWlanSIDBuf;
- TPtr8 iStoreWlanSIDPtr;
- };
-
-
-
-class CMobileLinePtrHolder : public CMmPtrHolder
-/**
-Holds the TPtr8 arrays for all RMobileLine requests.
-
-@publishedPartner
-@released
-*/
- {
-public:
- // The ptr holder slot numbers used by RMobileLine asynchronous requests
-
- enum TLinePtrHolderSlots
- {
- ESlot1LineNotifyMobileLineStatusChange=0,
- EMaxNumberLinePtrSlots
- };
-
- enum TLinePtrCHolderSlots
- {
- EMaxNumberLinePtrCSlots = 0
- };
-
-public:
- static CMobileLinePtrHolder* NewL(TInt aSizeOfPtrArray, TInt aSizeOfPtrCArray);
-public:
- };
-
-
-
-class CMobileCallPtrHolder : public CMmPtrHolder
-/**
-Holds the TPtr8 arrays for all RMobileCall requests.
-
-@publishedPartner
-@released
-*/
- {
-public:
- // The ptr holder slot numbers used by RMobileCall asynchronous requests
-
- enum TCallPtrHolderSlots
- {
- ESlot1NotifyMobileCallStatusChange = 0,
- ESlot1NotifyCallEvent,
- ESlot1NotifyPrivacyConfirmation,
- ESlot1NotifyTrafficChannelConfirmation,
- ESlot1NotifyUUSCapsChange,
- ESlot1ReceiveUUI,
- ESlot1ActivateCcbs,
- ESlot1AnswerMultimediaCallAsVoice,
- EMaxNumberCallPtrSlots
- };
-
- enum TCallPtrCHolderSlots
- {
- ESlot1Deflect = 0,
- ESlot2Deflect,
- ESlot1SetDynamicHscsdParams,
- ESlot2SetDynamicHscsdParams,
- ESlot1GetMobileDataCallRLPRange,
- ESlot1SendUUI,
- ESlot2SendUUI,
- ESlot1HangupWithUUI,
- ESlot1AnswerWithUUI,
- ESlot1DialNoFdnCheck,
- EMaxNumberCallPtrCSlots
- };
-
-public:
- static CMobileCallPtrHolder* NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray);
-public:
- RMobileCall::TMobileCallAiur iAiur;
- TInt iRxTimeslots;
- TInt iRLPVersion;
- TBool iMoreUUI;
- RMobileCall::TMobileCallDeflect iDeflectType;
- TName iFallbackCallName;
- };
-
-
-
-class CMobileConferenceCallPtrHolder : public CMmPtrHolder
-/**
-Holds the TPtr8 arrays for all RMobileConferenceCall requests.
-
-This class is internal.
-
-@publishedPartner
-@released
-*/
- {
-public:
-
- // The ptr holder slot numbers used by RMobileConferenceCall asynchronous requests
-
- enum TConferenceCallPtrHolderSlots
- {
- ESlot1NotifyConferenceCallCapsChange = 0,
- ESlot1NotifyConferenceStatusChange,
- ESlot1NotifyConferenceEvent,
- EMaxNumberConferenceCallPtrSlots
- };
-
- enum TConferenceCallPtrCHolderSlots
- {
- EMaxNumberConferenceCallPtrCSlots
- };
-
-public:
- static CMobileConferenceCallPtrHolder* NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray);
- };
-
-
-class CSmsMessagingPtrHolder : public CMmPtrHolder
-/**
-Holds the TPtr8 arrays for all RMobileSmsMessaging requests.
-
-This class is internal.
-
-@publishedPartner
-@released
-*/
-
- {
-public:
- // The ptr holder slot numbers used by RMobileSmsMessaging asynchronous requests
-
- enum TSmsPtrHolderSlots
- {
- ESlot1NotifyReceiveModeChange = 0,
- ESlot1NotifyMoSmsBearerChange,
- EMaxNumberSmsPtrSlots
- };
-
- enum TSmsPtrCHolderSlots
- {
- ESlot1AckSmsStored = 0,
- ESlot1NackSmsStored,
- ESlot1GetMessageStoreInfo,
- ESlot1SetReceiveMode,
- ESlot1SetMoSmsBearer,
- EMaxNumberSmsPtrCSlots
- };
-
-public:
- static CSmsMessagingPtrHolder* NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray);
- ~CSmsMessagingPtrHolder();
-protected:
- CSmsMessagingPtrHolder();
-public:
- TBool iAckSmsStoredFull;
- TInt iNackSmsStoredCause;
- TInt iGetMessageStoreInfoIndex;
- RMobileSmsMessaging::TMobileSmsReceiveMode iReceiveMode;
- RMobileSmsMessaging::TMobileSmsBearer iSmsBearer;
- CBufBase* iSmspBuf;
- TPtr8 iSmspPtr;
- };
-
-
-
-class CCbsMessagingPtrHolder : public CMmPtrHolder
-/**
-Holds the TPtr8 arrays for all RMobileBroadcastMessaging requests.
-
-@publishedPartner
-@released
-*/
- {
-public:
-
- // The ptr holder slot numbers used by RMobileBroadcastMessaging asynchronous requests
-
- enum TBroadcastPtrHolderSlots
- {
- ESlot1NotifyFilterSettingChange=0,
- ESlot1StoreCbmiList,
- EMaxNumberBroadcastPtrSlots
- };
-
- enum TBroadcastPtrCHolderSlots
- {
- ESlot1SetFilterSetting=0,
- ESlot1StoreBroadcastIdListL,
- EMaxNumberBroadcastPtrCSlots
- };
-
-public:
- static CCbsMessagingPtrHolder* NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray);
- ~CCbsMessagingPtrHolder();
-protected:
- CCbsMessagingPtrHolder();
-public:
- RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter iSetFilterSetting;
- RMobileBroadcastMessaging::TMobileBroadcastIdType iIdType;
- CBufBase* iBroadcastIdBuf;
- TPtr8 iBroadcastIdPtr;
- };
-
-class CUssdMessagingPtrHolder : public CMmPtrHolder
-/**
-@publishedPartner
-@released
-*/
- {
-public:
-
- // The ptr holder slot numbers used by RMobileUssdMessaging asynchronous requests
-
- enum TUssdPtrHolderSlots
- {
- EMaxNumberUssdPtrSlots=0,
- };
-
- enum TUssdPtrCHolderSlots
- {
- EMaxNumberUssdPtrCSlots=0
- };
-
-public:
- ~CUssdMessagingPtrHolder();
-protected:
- CUssdMessagingPtrHolder();
-public:
- };
-
-
-class CMobilePhoneStorePtrHolder : public CMmPtrHolder
-/**
-A base class PtrHolder used by all classes which inherit from RMobilePhoneStore.
-
-Holds the TPtr8 arrays for all RMobilePhoneStore requests.
-
-Each class derived from RMobilePhoneStore can create its own
-PtrHolder class derived from CMobilePhoneStorePtrHolder. RMobilePhoneStore derived
-classes construct the appropriate PtrHolder class which is passed down to
-RMobilePhoneStore via the RMobilePhoneStore::BaseConstruct method. Both methods of
-RMobilePhoneStore and a derived class must share the same PtrHolder. It follows that
-they must cooperate to ensure that methods in the base and derived classes do not
-use the same slots. The derived classes should use the slots that are equal to or
-greater than EMaxNumberPhoneStorePtrSlots & EMaxNumberPhoneStorePtrCSlots.
-
-
-@publishedPartner
-@released
-*/
- {
-public:
-
- // The ptr holder slot numbers used by RMobilePhoneStore asynchronous requests
-
-/** This member is internal. */
- enum TPhoneStorePtrHolderSlots
- {
- /** This member is internal. */
- ESlot1NotifyStoreEvent = 0,
- /** This member is internal. */
- ESlot2NotifyStoreEvent,
- /** This member is internal. */
- EMaxNumberPhoneStorePtrSlots
- };
-
-/** This member is internal. */
- enum TPhoneStorePtrCHolderSlots
- {
- /** This member is internal. */
- ESlot1Delete = 0,
- /** This member is internal. */
- EMaxNumberPhoneStorePtrCSlots
- };
-
-public:
- static CMobilePhoneStorePtrHolder* NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray);
-public:
- TInt iDeleteIndex;
- };
-
-
-
-class CSmsStorePtrHolder : public CMobilePhoneStorePtrHolder
-/**
-Holds the TPtr8 arrays for all RMobileSmsStore requests.
-
-This class is internal.
-
-@publishedPartner
-@released
-*/
- {
-public:
-
- // The ptr holder slot numbers used by RMobileSmsStore asynchronous requests
-
- enum TSmsStorePtrHolderSlots
- {
- EMaxNumberSmsStorePtrSlots = EMaxNumberPhoneStorePtrSlots
- };
-
- enum TSmsStorePtrCHolderSlots
- {
- ESlot1GetStatusReport = EMaxNumberPhoneStorePtrCSlots,
- EMaxNumberSmsStorePtrCSlots
- };
-
-public:
- static CSmsStorePtrHolder* NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray);
-public:
- TInt iGetStatusReportIndex;
- };
-
-
-
-class CNamStorePtrHolder : public CMobilePhoneStorePtrHolder
-/**
-Holds the TPtr8 arrays for all RMobileNamStore requests.
-
-This class is internal.
-
-@publishedPartner
-@released
-@deprecated 9.5
-*/
- {
-public:
-
- // The ptr holder slot numbers used by RMobileNamStore asynchronous requests
-
- enum TNamStorePtrHolderSlots
- {
- EMaxNumberNamStorePtrSlots = EMaxNumberPhoneStorePtrSlots
- };
-
- enum TNamStorePtrCHolderSlots
- {
- ESlot1SetActiveNam = EMaxNumberPhoneStorePtrCSlots,
- ESlot1NamListStoreAll,
- ESlot1NamListStoreAllV4,
- EMaxNumberNamStorePtrCSlots
- };
-
-public:
- static CNamStorePtrHolder* NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray);
- ~CNamStorePtrHolder();
-protected:
- CNamStorePtrHolder();
-public:
- CBufBase* iNamBuf;
- CBufBase* iNamBufV4;
- TPtr8 iNamPtr;
- TPtr8 iNamPtrV4;
- TInt iSetActiveNamNamId;
- TInt iStoreAllNamId;
- TInt iStoreAllV4NamId;
- };
-
-
-
-class CONStorePtrHolder : public CMobilePhoneStorePtrHolder
-/**
-Holds the TPtr8 arrays for all RMobileONStore requests.
-
-This class is internal.
-
-@publishedPartner
-@released
-*/
- {
-public:
-
- // The ptr holder slot numbers used by RMobileOnStore asynchronous requests
-
- enum TOnStorePtrHolderSlots
- {
- EMaxNumberONStorePtrSlots = EMaxNumberPhoneStorePtrSlots
- };
-
- enum TOnStorePtrCHolderSlots
- {
- EMaxNumberONStorePtrCSlots = EMaxNumberPhoneStorePtrCSlots
- };
-
-public:
- static CONStorePtrHolder* NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray);
- ~CONStorePtrHolder();
-protected:
- CONStorePtrHolder();
-public:
- CBufBase* iONBuf;
- TPtr8 iONPtr;
- };
-
-
-
-class CPhoneBookStorePtrHolder : public CMobilePhoneStorePtrHolder
-/**
-Holds the TPtr8 arrays for all RMobilePhonebookStore requests.
-
-This class is internal.
-
-@publishedPartner
-@released
-*/
- {
-public:
-
- // The ptr holder slot numbers used by RMobilePhonebookStore asynchronous requests
-
- enum TPhoneBookStorePtrHolderSlots
- {
- ESlot1PhoneBookStoreWrite = EMaxNumberPhoneStorePtrSlots,
- EMaxNumberPhoneBookStorePtrSlots
- };
-
- enum TPhoneBookStorePtrCHolderSlots
- {
- ESlot1PhoneBookStoreRead = EMaxNumberPhoneStorePtrCSlots,
- EMaxNumberPhoneBookStorePtrCSlots
- };
-
-public:
- static CPhoneBookStorePtrHolder* NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray);
-public:
- RMobilePhoneBookStore::TPBIndexAndNumEntries iReadPhoneBookEntry;
- };
-
-/**
-Holds the TPtr8 arrays for all RMobileSmartCardEap requests
-
-This class is internal.
-
-@internalComponent
-@prototype
-*/
-class CMobileSmartCardEapPtrHolder : public CMmPtrHolder
- {
-public:
- enum TSmartCardEapPtrHolderSlots
- {
- ESlot1GetAuthStatus, // 0
- ESlot1NotifyEapMethodAccess, // 1
- EMaxNumberSmartCardEapPtrSlots // 2
- };
-
- enum TSmartCardEapPtrCHolderSlots
- {
- ESlot1InitialiseEapMethod, // 0
- ESlot1GetUserId, // 1
- ESlot1GetEapKey, // 2
- EMaxNumberSmartCardEapPtrCSlots // 3
- };
-
-public:
- static CMobileSmartCardEapPtrHolder* NewL(TInt aSizeOfPtrArray, TInt aSizeOfPtrCArray);
- ~CMobileSmartCardEapPtrHolder();
-
-protected:
- CMobileSmartCardEapPtrHolder();
-
-public:
- TThreadId iOwnerThreadId;
- RMobileSmartCardEap::TEapUserIdType iEapUserIdType;
- RMobileSmartCardEap::TEapKeyTag iReqEapKeyTag;
- TPtr8 iReqAuthData;
- };
-
-
-
-class CMobileLocationServicesPtrHolder : public CMmPtrHolder
-/**
-Holds the TPtr8 arrays for all RMobileLocationServices requests.
-
-This class is internal.
-
-@internalAll
-*/
- {
-public:
-
- // The ptr holder slot numbers used by RMobileLocationServices asynchronous requests
-
- enum TLocationServicesPtrHolderSlots
- {
- ESlot1LcsNotifyUeResetPositioningInformation,
- EMaxNumberLocationServicesPtrSlots
- };
-
- enum TLocationServicesPtrCHolderSlots
- {
- ESlot1LcsSendMtlrResponse,
- ESlot1LcsSendMtlrError,
- ESlot1LcsMtlrReject,
- ESlot1LcsSendMeasurementControlFailure,
- EMaxNumberLocationServicesPtrCSlots
- };
-
-public:
- static CMobileLocationServicesPtrHolder* NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray);
- };
-
-#endif // _MM_HOLD_H_
+// Copyright (c) 2000-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:
+// Multimode ETel API v1.0
+// Header file for ptr holder classes, used to store client data
+//
+//
+
+/**
+ @file
+*/
+
+#ifndef _MM_HOLD_H_
+#define _MM_HOLD_H_
+
+#include <etelmm.h>
+
+
+class CMmPtrHolder : public CBase
+/**
+A base class for all ptr holder classes
+
+The ptr holder classes contain the TPtr8's used by asynchronous client-side functions.
+The API code also uses them to ensure BC by keeping size of R-classes constant.
+
+@publishedPartner
+@released
+*/
+ {
+public:
+// static CMmPtrHolder* NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray);
+ virtual ~CMmPtrHolder();
+public:
+ template <typename T> inline TPtr8& Set(TInt aSlot,T& aObject)
+ {
+ TPtr8& ptr=Ptr(aSlot);
+ ptr.Set(REINTERPRET_CAST(TText8*,(&aObject)),sizeof(T),sizeof(T));
+ return ptr;
+ };
+
+ template <typename T> inline TPtrC8& SetC(TInt aSlot, const T& aObject)
+ {
+ TPtrC8& ptr=PtrC(aSlot);
+ ptr.Set(REINTERPRET_CAST(const TText8*,(&aObject)),sizeof(T));
+ return ptr;
+ };
+
+protected:
+ virtual void ConstructL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray);
+ CMmPtrHolder();
+private:
+ TPtr8& Ptr(TInt aIndex);
+ TPtrC8& PtrC(TInt aIndex);
+protected:
+ RArray<TPtr8> iPtrArray;
+ RArray<TPtrC8> iPtrCArray;
+ };
+
+
+
+class CMobilePhonePtrHolder : public CMmPtrHolder
+/**
+Holds the TPtr8 arrays for all RMobilePhone requests
+
+This class is internal.
+
+@publishedPartner
+@released
+*/
+
+ {
+public:
+
+ // The ptr holder slot numbers used by RMobilePhone asynchronous requests
+
+ enum TPhonePtrHolderSlots
+ {
+ ESlot1NotifyIccAccessCapsChange =0,
+ ESlot1GetServiceTable,
+ ESlot1GetBatteryInfo,
+ ESlot1NotifyBatteryInfoChange,
+ ESlot1GetSignalStrength,
+ ESlot2GetSignalStrength,
+ ESlot1NotifySignalStrengthChange,
+ ESlot2NotifySignalStrengthChange,
+ ESlot1GetIndicator,
+ ESlot1NotifyIndicatorChange,
+ ESlot1GetPhoneId,
+ ESlot1GetSubscriberId,
+ ESlot1NotifyDTMFCapsChange,
+ ESlot1NotifyModeChange,
+ ESlot1GetCurrentNetwork,
+ ESlot1NotifyCurrentNetworkChange,
+ ESlot1GetNetworkRegistrationStatus,
+ ESlot1NotifyNetworkRegistrationStatusChange,
+ ESlot1NotifyNetworkSelectionSettingChange,
+ ESlot1NotifyNITZInfoChange,
+ ESlot1NotifyDefaultPrivacyChange,
+ ESlot1NotifyCallServiceCapsChange,
+ ESlot1GetFeatureCode,
+ ESlot1NotifyCallForwardingStatusChange,
+ ESlot1PhoneNotifyCallForwardingActive,
+ ESlot2PhoneNotifyCallForwardingActive,
+ ESlot2GetIdentityServiceStatus,
+ ESlot1NotifyCallBarringStatusChange,
+ ESlot1GetCCBSStatus,
+ ESlot2GetCCBSStatus,
+ ESlot1NotifyCCBSStatusChange,
+ ESlot1NotifyAlternatingCallCapsChange,
+ ESlot1NotifyAlternatingCallModeChange,
+ ESlot2NotifyAlternatingCallModeChange,
+ ESlot1NotifyALSLineChange,
+ ESlot1NotifyCostCapsChange,
+ ESlot1NotifySecurityCapsChange,
+ ESlot1NotifyLockInfoChange,
+ ESlot1NotifySecurityEvent,
+ ESlot1NotifyMessageWaiting,
+ ESlot2NotifyMessageWaiting,
+ ESlot1NotifyFdnStatusChange,
+ ESlot1GetIncomingCallType,
+ ESlot1NotifyIncomingCallTypeChange,
+ ESlot1GetUUSSetting,
+ ESlot1NotifyUUSSettingChange,
+ ESlot1NotifyMultimediaCallPreferenceChange,
+ ESlot1GetNetworkSecurityLevel,
+ ESlot1NotifyNetworkSecurityLevelChange,
+ ESlot1NotifyUSimApplicationsInfoChange,
+ ESlot2NotifyUSimApplicationsInfoChange,
+ ESlot1NotifyUSimAppsSelectionModeChange,
+ ESlot1EnumerateUSimApplications,
+ ESlot2EnumerateUSimApplications,
+ ESlot1NotifyCCBSRecall,
+ ESlot1GetFdnStatus,
+ ESlot1GetHomeNetworkSearchPeriod,
+ ESlot1GetLastUsedAccessTechnology,
+ ESlot1NotifyNetworkInvScanChange,
+ ESlot1NotifyNetworkInvScanEvent,
+ ESlot1EnumerateAPNEntries,
+ ESlot1NotifyAirTimeDurationChange,
+ ESlot1NotifyDTMFEvent,
+ ESlot1GetPersonalisationStatus,
+ ESlot1GetCipheringIndicatorStatus,
+ ESlot1NotifyCipheringIndicatorStatus,
+ ESlot1EnumerateSmartCardApplications,
+ ESlot1GetCurrentActiveUSimApplication,
+ ESlot1GetIccIdentity,
+ ESlot1NotifySecurityCodeInfoChange,
+ ESlot1SmartCardAuthenticate,
+ ESlot1GetAPNControlListServiceStatus,
+ ESlot1NotifyAPNControlListServiceStatusChange,
+ EMaxNumberPhonePtrSlots
+ };
+
+ enum TPhonePtrCHolderSlots
+ {
+ ESlot1SetNetworkSelectionSetting = 0,
+ ESlot1SetDefaultPrivacy,
+ ESlot1ProgramFeatureCode,
+ ESlot1SetCallForwardingStatus,
+ ESlot2SetCallForwardingStatus,
+ ESlot1GetIdentityServiceStatus,
+ ESlot1SetCallBarringStatus,
+ ESlot2SetCallBarringStatus,
+ ESlot1SetCallBarringPassword,
+ ESlot1SetCallWaitingStatus,
+ ESlot2SetCallWaitingStatus,
+ ESlot1SetAlternatingCallMode,
+ ESlot2SetAlternatingCallMode,
+ ESlot1SetALSLine,
+ ESlot1ClearCostMeter,
+ ESlot1SetMaxCostMeter,
+ ESlot1GetLockInfo,
+ ESlot1SetLockSetting,
+ ESlot2SetLockSetting,
+ ESlot1ChangeSecurityCode,
+ ESlot2ChangeSecurityCode,
+ ESlot1VerifySecurityCode,
+ ESlot2VerifySecurityCode,
+ ESlot1SetFdnSetting,
+ ESlot1SelectNetwork,
+ ESlot2SelectNetwork,
+ ESlot1SetMulticallParams,
+ ESlot1SetIncomingCallType,
+ ESlot1SetUUSSetting,
+ ESlot1SetUSimApplicationStatus,
+ ESlot2SetUSimApplicationStatus,
+ ESlot1GetUSimApplicationInfo,
+ ESlot1SetMultimediaCallPreference,
+ ESlot1GetPhoneStoreInfo,
+ ESlot1AcceptCCBSRecall,
+ ESlot1DeactivateCCBS,
+ ESlot1SetService,
+ ESlot1GetMmsConfig,
+ ESlot1NotifyMmsConfig,
+ ESlot1GetCompMethodName,
+ ESlot1GetAPNnameIndex,
+ ESlot1DeleteAPNNameIndex,
+ ESlot1SetAPNControlListServiceStatus,
+ ESlot1SendSSOperation,
+ ESlot1SetPersonalisationStatus,
+ ESlot1SetIdentityServiceStatus,
+ ESlot2SetIdentityServiceStatus,
+ ESlot1NotifyIdentityServiceStatus,
+ ESlot2NotifyIdentityServiceStatus,
+ ESlot1NotifyMulticallIndicatorChange,
+ ESlot1GetSmartCardApplicationInfo,
+ ESlot1NotifySmartCardApplicationInfoChange,
+ ESlot2NotifySmartCardApplicationInfoChange,
+ ESlot1SetSmartCardApplicationStatus,
+ ESlot2SetSmartCardApplicationStatus,
+ ESlot1GetScFileInfo,
+ ESlot1ReadScFile,
+ ESlot1UpdateScFile,
+ ESlot1GetSecurityCodeInfo,
+ ESlot1SetGbaBootstrapParams,
+ EMaxNumberPhonePtrCSlots
+ };
+
+public:
+ static CMobilePhonePtrHolder* NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray);
+ ~CMobilePhonePtrHolder();
+protected:
+ CMobilePhonePtrHolder();
+public:
+ // Storage for parameters from client which were passed by value.
+ RMobilePhone::TMobilePhoneServiceTable iServiceTable;
+ RMobilePhone::TMobilePhonePrivacy iPrivacySetting;
+ RMobilePhone::TMobilePhoneCFCondition iSetCFCondition;
+ RMobilePhone::TNetworkServiceAndAction iProgramFeatureCode;
+ RMobilePhone::TNetworkServiceAndAction iGetFeatureCode;
+ RMobilePhone::TIdServiceAndLocation iGetIdentityServiceStatus;
+ RMobilePhone::TMobilePhoneCBCondition iSetCBStatusCondition;
+ RMobilePhone::TMobileInfoLocation iGetCCBSStatusLocation;
+ RMobilePhone::TMobileService iSetCallWaitingStatusGroup;
+ RMobilePhone::TMobilePhoneServiceAction iSetCallWaitingStatusAction;
+ RMobilePhone::TMobilePhoneAlternatingCallMode iSetAlternatingCallModeMode;
+ RMobilePhone::TMobileService iSetAlternatingCallModeService;
+ RMobilePhone::TMobilePhoneALSLine iSetALSLine;
+ TUint iSetMaxCostMeterUnits;
+ RMobilePhone::TMobilePhoneCostMeters iClearCostMeter;
+ RMobilePhone::TMobilePhoneLock iLock;
+ RMobilePhone::TMobilePhoneLock iSetLockSettingLock;
+ RMobilePhone::TMobilePhoneLockSetting iSetLockSettingSetting;
+ RMobilePhone::TMobilePhoneSecurityCode iVerifySecurityCodeType;
+ RMobilePhone::TCodeAndUnblockCode iVerifySecurityCodeData;
+ RMobilePhone::TMobilePhoneSecurityCode iChangeSecurityCodeType;
+ RMobilePhone::TMobilePhoneFdnSetting iSetFdnSetting;
+ TBool iIsManual;
+ TInt iUserMaxBearers;
+ RMobilePhone::TMobilePhoneIncomingCallType iCallType;
+ RMobilePhone::TMobilePhoneUUSSetting iSetUUSSetting;
+
+ RMobilePhone::TMobilePhoneMultimediaSettings iMmSettings;
+ RMobilePhone::TUSimSelectionMode iUSimSelectionMode;
+ RMobilePhone::TUSimAppAction iUSimAppAction;
+ TInt iUSimAppIndex;
+ RMobilePhone::TPhoneStoreNameAndIccType iPhoneStoreNameAndIccType;
+ RMobilePhone::TAID iAID;
+ TInt iDeactivateCCBSIndex;
+ TInt iAcceptCCBSRecallIndex;
+ TInt iBarringService;
+ RMobilePhone::TMmsConnParams iGetMmsConfig;
+ RMobilePhone::TMmsConnParams iNotifyMmsConfig;
+ TUint8 iCompMethodIdentifier;
+ TUint32 iGetAPNnameIndex;
+ TUint32 iDeleteAPNNameIndex;
+ RMobilePhone::TAPNControlListServiceStatus iSetAPNControlListServiceStatus;
+ RMobilePhone::TMobilePhoneNotifySendSSOperation iSendSSOperation;
+ RMobilePhone::TMobilePhonePersonalisation iSetPersonalisationScheme;
+ CBufBase* iStoreNetworkBuf;
+ TPtr8 iStoreNetworkPtr;
+ RMobilePhone::TMobilePhoneIdService iSetIdService;
+ RMobilePhone::TMobilePhoneIdServiceSetting iSetIdServiceSetting;
+ RMobilePhone::TMobilePhoneIdService iNotifyIdService;
+ TInt iScAppIndex;
+ RMobilePhone::TSmartCardApplicationAction iScAppAction;
+ RMobilePhone::TMobilePhoneSecurityCode iGetSecurityCodeInfoType;
+ RMobilePhone::TAID iScAuthAID;
+ RMobilePhone::TAID iAuthAID;
+ CBufBase* iStoreWlanSIDBuf;
+ TPtr8 iStoreWlanSIDPtr;
+ };
+
+
+
+class CMobileLinePtrHolder : public CMmPtrHolder
+/**
+Holds the TPtr8 arrays for all RMobileLine requests.
+
+@publishedPartner
+@released
+*/
+ {
+public:
+ // The ptr holder slot numbers used by RMobileLine asynchronous requests
+
+ enum TLinePtrHolderSlots
+ {
+ ESlot1LineNotifyMobileLineStatusChange=0,
+ EMaxNumberLinePtrSlots
+ };
+
+ enum TLinePtrCHolderSlots
+ {
+ EMaxNumberLinePtrCSlots = 0
+ };
+
+public:
+ static CMobileLinePtrHolder* NewL(TInt aSizeOfPtrArray, TInt aSizeOfPtrCArray);
+public:
+ };
+
+
+
+class CMobileCallPtrHolder : public CMmPtrHolder
+/**
+Holds the TPtr8 arrays for all RMobileCall requests.
+
+@publishedPartner
+@released
+*/
+ {
+public:
+ // The ptr holder slot numbers used by RMobileCall asynchronous requests
+
+ enum TCallPtrHolderSlots
+ {
+ ESlot1NotifyMobileCallStatusChange = 0,
+ ESlot1NotifyCallEvent,
+ ESlot1NotifyPrivacyConfirmation,
+ ESlot1NotifyTrafficChannelConfirmation,
+ ESlot1NotifyUUSCapsChange,
+ ESlot1ReceiveUUI,
+ ESlot1ActivateCcbs,
+ ESlot1AnswerMultimediaCallAsVoice,
+ EMaxNumberCallPtrSlots
+ };
+
+ enum TCallPtrCHolderSlots
+ {
+ ESlot1Deflect = 0,
+ ESlot2Deflect,
+ ESlot1SetDynamicHscsdParams,
+ ESlot2SetDynamicHscsdParams,
+ ESlot1GetMobileDataCallRLPRange,
+ ESlot1SendUUI,
+ ESlot2SendUUI,
+ ESlot1HangupWithUUI,
+ ESlot1AnswerWithUUI,
+ ESlot1DialNoFdnCheck,
+ EMaxNumberCallPtrCSlots
+ };
+
+public:
+ static CMobileCallPtrHolder* NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray);
+public:
+ RMobileCall::TMobileCallAiur iAiur;
+ TInt iRxTimeslots;
+ TInt iRLPVersion;
+ TBool iMoreUUI;
+ RMobileCall::TMobileCallDeflect iDeflectType;
+ TName iFallbackCallName;
+ };
+
+
+
+class CMobileConferenceCallPtrHolder : public CMmPtrHolder
+/**
+Holds the TPtr8 arrays for all RMobileConferenceCall requests.
+
+This class is internal.
+
+@publishedPartner
+@released
+*/
+ {
+public:
+
+ // The ptr holder slot numbers used by RMobileConferenceCall asynchronous requests
+
+ enum TConferenceCallPtrHolderSlots
+ {
+ ESlot1NotifyConferenceCallCapsChange = 0,
+ ESlot1NotifyConferenceStatusChange,
+ ESlot1NotifyConferenceEvent,
+ EMaxNumberConferenceCallPtrSlots
+ };
+
+ enum TConferenceCallPtrCHolderSlots
+ {
+ EMaxNumberConferenceCallPtrCSlots
+ };
+
+public:
+ static CMobileConferenceCallPtrHolder* NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray);
+ };
+
+
+class CSmsMessagingPtrHolder : public CMmPtrHolder
+/**
+Holds the TPtr8 arrays for all RMobileSmsMessaging requests.
+
+This class is internal.
+
+@publishedPartner
+@released
+*/
+
+ {
+public:
+ // The ptr holder slot numbers used by RMobileSmsMessaging asynchronous requests
+
+ enum TSmsPtrHolderSlots
+ {
+ ESlot1NotifyReceiveModeChange = 0,
+ ESlot1NotifyMoSmsBearerChange,
+ EMaxNumberSmsPtrSlots
+ };
+
+ enum TSmsPtrCHolderSlots
+ {
+ ESlot1AckSmsStored = 0,
+ ESlot1NackSmsStored,
+ ESlot1GetMessageStoreInfo,
+ ESlot1SetReceiveMode,
+ ESlot1SetMoSmsBearer,
+ EMaxNumberSmsPtrCSlots
+ };
+
+public:
+ static CSmsMessagingPtrHolder* NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray);
+ ~CSmsMessagingPtrHolder();
+protected:
+ CSmsMessagingPtrHolder();
+public:
+ TBool iAckSmsStoredFull;
+ TInt iNackSmsStoredCause;
+ TInt iGetMessageStoreInfoIndex;
+ RMobileSmsMessaging::TMobileSmsReceiveMode iReceiveMode;
+ RMobileSmsMessaging::TMobileSmsBearer iSmsBearer;
+ CBufBase* iSmspBuf;
+ TPtr8 iSmspPtr;
+ };
+
+
+
+class CCbsMessagingPtrHolder : public CMmPtrHolder
+/**
+Holds the TPtr8 arrays for all RMobileBroadcastMessaging requests.
+
+@publishedPartner
+@released
+*/
+ {
+public:
+
+ // The ptr holder slot numbers used by RMobileBroadcastMessaging asynchronous requests
+
+ enum TBroadcastPtrHolderSlots
+ {
+ ESlot1NotifyFilterSettingChange=0,
+ ESlot1StoreCbmiList,
+ EMaxNumberBroadcastPtrSlots
+ };
+
+ enum TBroadcastPtrCHolderSlots
+ {
+ ESlot1SetFilterSetting=0,
+ ESlot1StoreBroadcastIdListL,
+ EMaxNumberBroadcastPtrCSlots
+ };
+
+public:
+ static CCbsMessagingPtrHolder* NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray);
+ ~CCbsMessagingPtrHolder();
+protected:
+ CCbsMessagingPtrHolder();
+public:
+ RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter iSetFilterSetting;
+ RMobileBroadcastMessaging::TMobileBroadcastIdType iIdType;
+ CBufBase* iBroadcastIdBuf;
+ TPtr8 iBroadcastIdPtr;
+ };
+
+class CUssdMessagingPtrHolder : public CMmPtrHolder
+/**
+@publishedPartner
+@released
+*/
+ {
+public:
+
+ // The ptr holder slot numbers used by RMobileUssdMessaging asynchronous requests
+
+ enum TUssdPtrHolderSlots
+ {
+ EMaxNumberUssdPtrSlots=0,
+ };
+
+ enum TUssdPtrCHolderSlots
+ {
+ EMaxNumberUssdPtrCSlots=0
+ };
+
+public:
+ ~CUssdMessagingPtrHolder();
+protected:
+ CUssdMessagingPtrHolder();
+public:
+ };
+
+
+class CMobilePhoneStorePtrHolder : public CMmPtrHolder
+/**
+A base class PtrHolder used by all classes which inherit from RMobilePhoneStore.
+
+Holds the TPtr8 arrays for all RMobilePhoneStore requests.
+
+Each class derived from RMobilePhoneStore can create its own
+PtrHolder class derived from CMobilePhoneStorePtrHolder. RMobilePhoneStore derived
+classes construct the appropriate PtrHolder class which is passed down to
+RMobilePhoneStore via the RMobilePhoneStore::BaseConstruct method. Both methods of
+RMobilePhoneStore and a derived class must share the same PtrHolder. It follows that
+they must cooperate to ensure that methods in the base and derived classes do not
+use the same slots. The derived classes should use the slots that are equal to or
+greater than EMaxNumberPhoneStorePtrSlots & EMaxNumberPhoneStorePtrCSlots.
+
+
+@publishedPartner
+@released
+*/
+ {
+public:
+
+ // The ptr holder slot numbers used by RMobilePhoneStore asynchronous requests
+
+/** This member is internal. */
+ enum TPhoneStorePtrHolderSlots
+ {
+ /** This member is internal. */
+ ESlot1NotifyStoreEvent = 0,
+ /** This member is internal. */
+ ESlot2NotifyStoreEvent,
+ /** This member is internal. */
+ EMaxNumberPhoneStorePtrSlots
+ };
+
+/** This member is internal. */
+ enum TPhoneStorePtrCHolderSlots
+ {
+ /** This member is internal. */
+ ESlot1Delete = 0,
+ /** This member is internal. */
+ EMaxNumberPhoneStorePtrCSlots
+ };
+
+public:
+ static CMobilePhoneStorePtrHolder* NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray);
+public:
+ TInt iDeleteIndex;
+ };
+
+
+
+class CSmsStorePtrHolder : public CMobilePhoneStorePtrHolder
+/**
+Holds the TPtr8 arrays for all RMobileSmsStore requests.
+
+This class is internal.
+
+@publishedPartner
+@released
+*/
+ {
+public:
+
+ // The ptr holder slot numbers used by RMobileSmsStore asynchronous requests
+
+ enum TSmsStorePtrHolderSlots
+ {
+ EMaxNumberSmsStorePtrSlots = EMaxNumberPhoneStorePtrSlots
+ };
+
+ enum TSmsStorePtrCHolderSlots
+ {
+ ESlot1GetStatusReport = EMaxNumberPhoneStorePtrCSlots,
+ EMaxNumberSmsStorePtrCSlots
+ };
+
+public:
+ static CSmsStorePtrHolder* NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray);
+public:
+ TInt iGetStatusReportIndex;
+ };
+
+
+
+class CNamStorePtrHolder : public CMobilePhoneStorePtrHolder
+/**
+Holds the TPtr8 arrays for all RMobileNamStore requests.
+
+This class is internal.
+
+@publishedPartner
+@released
+@deprecated 9.5
+*/
+ {
+public:
+
+ // The ptr holder slot numbers used by RMobileNamStore asynchronous requests
+
+ enum TNamStorePtrHolderSlots
+ {
+ EMaxNumberNamStorePtrSlots = EMaxNumberPhoneStorePtrSlots
+ };
+
+ enum TNamStorePtrCHolderSlots
+ {
+ ESlot1SetActiveNam = EMaxNumberPhoneStorePtrCSlots,
+ ESlot1NamListStoreAll,
+ ESlot1NamListStoreAllV4,
+ EMaxNumberNamStorePtrCSlots
+ };
+
+public:
+ static CNamStorePtrHolder* NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray);
+ ~CNamStorePtrHolder();
+protected:
+ CNamStorePtrHolder();
+public:
+ CBufBase* iNamBuf;
+ CBufBase* iNamBufV4;
+ TPtr8 iNamPtr;
+ TPtr8 iNamPtrV4;
+ TInt iSetActiveNamNamId;
+ TInt iStoreAllNamId;
+ TInt iStoreAllV4NamId;
+ };
+
+
+
+class CONStorePtrHolder : public CMobilePhoneStorePtrHolder
+/**
+Holds the TPtr8 arrays for all RMobileONStore requests.
+
+This class is internal.
+
+@publishedPartner
+@released
+*/
+ {
+public:
+
+ // The ptr holder slot numbers used by RMobileOnStore asynchronous requests
+
+ enum TOnStorePtrHolderSlots
+ {
+ EMaxNumberONStorePtrSlots = EMaxNumberPhoneStorePtrSlots
+ };
+
+ enum TOnStorePtrCHolderSlots
+ {
+ EMaxNumberONStorePtrCSlots = EMaxNumberPhoneStorePtrCSlots
+ };
+
+public:
+ static CONStorePtrHolder* NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray);
+ ~CONStorePtrHolder();
+protected:
+ CONStorePtrHolder();
+public:
+ CBufBase* iONBuf;
+ TPtr8 iONPtr;
+ };
+
+
+
+class CPhoneBookStorePtrHolder : public CMobilePhoneStorePtrHolder
+/**
+Holds the TPtr8 arrays for all RMobilePhonebookStore requests.
+
+This class is internal.
+
+@publishedPartner
+@released
+*/
+ {
+public:
+
+ // The ptr holder slot numbers used by RMobilePhonebookStore asynchronous requests
+
+ enum TPhoneBookStorePtrHolderSlots
+ {
+ ESlot1PhoneBookStoreWrite = EMaxNumberPhoneStorePtrSlots,
+ EMaxNumberPhoneBookStorePtrSlots
+ };
+
+ enum TPhoneBookStorePtrCHolderSlots
+ {
+ ESlot1PhoneBookStoreRead = EMaxNumberPhoneStorePtrCSlots,
+ EMaxNumberPhoneBookStorePtrCSlots
+ };
+
+public:
+ static CPhoneBookStorePtrHolder* NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray);
+public:
+ RMobilePhoneBookStore::TPBIndexAndNumEntries iReadPhoneBookEntry;
+ };
+
+/**
+Holds the TPtr8 arrays for all RMobileSmartCardEap requests
+
+This class is internal.
+
+@internalComponent
+@prototype
+*/
+class CMobileSmartCardEapPtrHolder : public CMmPtrHolder
+ {
+public:
+ enum TSmartCardEapPtrHolderSlots
+ {
+ ESlot1GetAuthStatus, // 0
+ ESlot1NotifyEapMethodAccess, // 1
+ EMaxNumberSmartCardEapPtrSlots // 2
+ };
+
+ enum TSmartCardEapPtrCHolderSlots
+ {
+ ESlot1InitialiseEapMethod, // 0
+ ESlot1GetUserId, // 1
+ ESlot1GetEapKey, // 2
+ EMaxNumberSmartCardEapPtrCSlots // 3
+ };
+
+public:
+ static CMobileSmartCardEapPtrHolder* NewL(TInt aSizeOfPtrArray, TInt aSizeOfPtrCArray);
+ ~CMobileSmartCardEapPtrHolder();
+
+protected:
+ CMobileSmartCardEapPtrHolder();
+
+public:
+ TThreadId iOwnerThreadId;
+ RMobileSmartCardEap::TEapUserIdType iEapUserIdType;
+ RMobileSmartCardEap::TEapKeyTag iReqEapKeyTag;
+ TPtr8 iReqAuthData;
+ };
+
+
+
+class CMobileLocationServicesPtrHolder : public CMmPtrHolder
+/**
+Holds the TPtr8 arrays for all RMobileLocationServices requests.
+
+This class is internal.
+
+@internalAll
+*/
+ {
+public:
+
+ // The ptr holder slot numbers used by RMobileLocationServices asynchronous requests
+
+ enum TLocationServicesPtrHolderSlots
+ {
+ ESlot1LcsNotifyUeResetPositioningInformation,
+ EMaxNumberLocationServicesPtrSlots
+ };
+
+ enum TLocationServicesPtrCHolderSlots
+ {
+ ESlot1LcsSendMtlrResponse,
+ ESlot1LcsSendMtlrError,
+ ESlot1LcsMtlrReject,
+ ESlot1LcsSendMeasurementControlFailure,
+ EMaxNumberLocationServicesPtrCSlots
+ };
+
+public:
+ static CMobileLocationServicesPtrHolder* NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray);
+ };
+
+#endif // _MM_HOLD_H_