--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyserver/etelmultimode/INC/mm_hold.h Tue Feb 02 01:41:59 2010 +0200
@@ -0,0 +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_