--- a/telephonyserverplugins/simtsy/inc/CSimPhBkUsimStore.h Mon May 03 13:37:20 2010 +0300
+++ b/telephonyserverplugins/simtsy/inc/CSimPhBkUsimStore.h Thu May 06 15:10:38 2010 +0100
@@ -1,205 +1,205 @@
-// Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-#ifndef __SIMPHBKUSIMSTORE_H_
-#define __SIMPHBKUSIMSTORE_H_
-
-/**
- * @file
- *
- * Contains the class definitions required for the Phonebook Store.
- * @internalAll
- */
-
-#include <etelmm.h>
-#include <et_phone.h>
-#include <mpbutil.h>
-#include "csimtimer.h"
-#include "CSimPhone.h"
-#include "CSimPhoneSecurity.h"
-#include "CSimPhBkStore.h"
-
-/**
- * The main Phonebook Store class which simulates a Phonebook Store.
- */
-class CSimPhone;
-class CTestConfigSection;
-class CTestConfigItem;
-class CSimPhBkUSimStore : public CSimPhone, public MTimerCallBack
- {
-public:
-
- static CSimPhBkUSimStore* NewL(CSimPhone* aPhone, const TDesC8& aStore, const TDesC8& aName, TInt aMaxNumSlots, TInt aMaxNumLen, TInt aMaxTextLen, TInt aMaxAdditional, TInt aMaxEmail, TInt aMaxAdditionalTelNumLen, TInt aMaxAdditionalTextLen);
- CSimPhBkUSimStore(CSimPhone* aPhone);
- ~CSimPhBkUSimStore();
-
- static void ClosePhone(TAny* aObj);
- virtual CTelObject::TReqMode ReqModeL(const TInt aIpc);
-// MTelObjectTSY pure virtual
- virtual TInt RegisterNotification(const TInt aIpc);
- virtual TInt DeregisterNotification(const TInt aIpc);
- virtual void Init();
- virtual CTelObject* OpenNewObjectByNameL(const TDesC& aName);
- virtual CTelObject* OpenNewObjectL(TDes& aNewName);
- virtual TInt NumberOfSlotsL(const TInt aIpc);
- virtual TInt CancelService(const TInt aIpc,const TTsyReqHandle aTsyReqHandle);
-
-// MSubSessionExtBaseTSY pure virtual
- virtual TInt ExtFunc(const TTsyReqHandle aTsyReqHandle,const TInt aIpc,const TDataPackage& aPackage);
-
-// Other public functions.
- void PopulateStoreFromConfigFileL();
- void PopulatePhBkStoreInfo(RMobilePhoneStore::TMobilePhoneStoreInfoV1* aStoreInfo);
-
-//coverity[bad_override]
- TPtrC8 Name();
- TPtrC8 PhBkStore();
- TPtrC8 AID();
- TInt UsedEntries();
- TInt MaxSlots();
- TInt CheckAndSwitchUSimApps();
-
-protected:
- void ConstructL(const TDesC8& aStore, const TDesC8& aName, TInt aMaxNumSlots, TInt aMaxNumLen, TInt aMaxTextLen, TInt aAdditional, TInt aMaxEmail, TInt aMaxAdditionalTelNumLen, TInt aMaxAdditionalTextLen);
-
-private:
- TInt GetInfo(TTsyReqHandle aReqHandle, TDes8* aPckg);
- TInt Read(TTsyReqHandle aReqHandle, TDes8* aPckg1, TDes8* aPckg2);
- TInt Write(TTsyReqHandle aReqHandle,TDes8* aPckg1, TDes8* aPckg2);
- TInt Delete(TTsyReqHandle aReqHandle,TDes8* aPckg);
- TInt DeleteAll(TTsyReqHandle aReqHandle);
- TInt NotifyStoreEvent(TTsyReqHandle aReqHandle,TDes8* aPckg1,TDes8* aPckg2);
- void NotifyStoreEventCancel();
-
- enum TStoreEvent // < Store event identifier.
- {
- EStoreEventNoEvent,
- EStoreEventAdded,
- EStoreEventDeleted,
- EStoreEventChanged
- };
-
- void StoreEvent(TStoreEvent aEvent,TInt aIndex);
- void DelayCompletion(TInt aDelayDuration,TTsyReqHandle aReqHandle);
- void DelayCompletion(TInt aDelayDuration,TTsyReqHandle aReqHandle,TStoreEvent aEvent,TInt aIndex);
- void TimerCallBack(TInt aId);
- TBool FindIpcErrorMatch(TInt& aError);
- const CTestConfigSection* CfgFile();
-
- TInt GetPhBkAdditionalEntry(TPtrC8& aEntry, TInt& aItemIndex,
- TPtrC8& aTelNum, TPtrC8& aAlphaTag, TUint8& aNpiTon);
-
- TInt GetPhBkUSimEntry(const CTestConfigItem* aItem, TInt& aItemIndex,
- TPtrC8& aPhonebookStore, TPtrC8& aPhonebookName,
- TPtrC8& aAid,TInt& aIndex, TPtrC8& aTelNum,
- TPtrC8& aAlphaTag, TUint8& aNpiTon,
- TPtrC8& aAlphaTag2);
- void PopulateOOBWrite();
- void PopulateOOBDelete();
-
-private:
- CPhoneBase* iDummyPhoneBaseRef;
-
- CSimPhone* iPhone; // < A pointer to the "owner" phone class.
- CSimTimer* iReqTimer; // < The timer used to delay request completions.
- CSimTimer* iOOBWriteTimer; // < The timer used to time an OOB store event.
- CSimTimer* iOOBDeleteTimer; // < The timer used to time an OOB delete event.
-
- TInt iPhBkMaxNumSlots; // < The maximum number of slots in this Phonebook store.
- TInt iPhBkMaxTelNumLen; // < The maximum size of a telephone number that can be stored in this Phonebook.
- TInt iPhBkMaxTextLen; // < The maximum size of an alpha tag that can be stored in this Phonebook.
- TInt iPhBkAdditional; // < The maximum number of additional numbers that can be stored in this Phonebook per entry.
- TInt iPhBkMaxEmail; // < The maximum number of emails that can be stored in this Phonebook per entry.
-
- TInt iPhBkMaxAdditionalTelNumLen; // < The maximum size of an additional telephone number that can be stored in this Phonebook.
- TInt iPhBkMaxAdditionalTextLen; // < The maximum size of an additional alpha tag that can be stored in this Phonebook.
-
- struct TPhBkStoreEntry
- {
- TBuf<KPhBkMaxAlphaTagSize> iAlphaTag; // < The phonebook entry's alpha tag.
- TUint8 iTonNpi; // < The phonebook entry's Type of Number and Number Plan Identifier.
- TBuf<KPhBkMaxTelNumSize> iTelNum; // < The phonebook entry's telephone number.
- };
-
- typedef TBuf<KPhBkMaxAlphaTagSize> TPhBkUSimEmail;
- typedef TBuf<KPhBkMaxAlphaTagSize> TPhBkUSimGroup;
-
- class TPhBkUSimStoreEntry
- {
- public:
- TBuf<KPhBkMaxAlphaTagSize> iAlphaTag; // < The phonebook entry's alpha tag.
- TUint8 iTonNpi; // < The phonebook entry's Type of Number and Number Plan Identifier.
- TBuf<KPhBkMaxTelNumSize> iTelNum; // < The phonebook entry's telephone number.
- TBuf<KPhBkMaxAlphaTagSize> iAlphaTag2; // < The phonebook entry's name2 alpha tag.
- CArrayFixFlat<TPhBkStoreEntry>* iAdditional; //< The phonebook entry's additional numbers
- CArrayFixFlat<TPhBkUSimEmail>* iEmails; //< The phonebook entry's list of email addresses
- CArrayFixFlat<TPhBkUSimGroup>* iGroups; //< The phonebook entry's list groups definition
- TBool iHiddenEntry;
- };
-
- TPhBkUSimStoreEntry* iPhBkUSimStoreEntries; // < Gsm Phonebook only
- TPhBkUSimStoreEntry* iPhBkUSim1StoreEntries; // < USim PhoneBook1
- TPhBkUSimStoreEntry* iPhBkUSim2StoreEntries; // < USim PhoneBook2
-
- struct TPhBkError
- {
- TInt iCount; // < The IPC count of the request that is to be errored.
- TInt iError; // < The error number that must be used with that request.
- };
- CArrayFixFlat<TPhBkError>* iPhBkError; // < Array of indicating where to simulate phonebook request errors.
- TInt iIpcCnt; // < The current count of IPC client requests.
-
- TBuf8<KMaxName> iPhBkStore; // < The Phonebook Store.
- TBuf8<KMaxName> iPhBkStoreName; // < The name of the Phonebook Store.
- TInt iPhBkUSimCounter;
- RMobilePhone::TAID iPhBkAid;
- RMobilePhone::TAID iPhBkAidUSim1;
- RMobilePhone::TAID iPhBkAidUSim2;
-
- TUint iPhBkStoreCaps; // < The phone level caps of the PhBk Store
-
- CPhoneBookBuffer* iPhBkRwBuffer; // < The Phonebook read/write "streaming" class.
-
- TBool iEvOutstandingReq; // < A flag indicating an outstanding Phonebook Store notification request.
- TTsyReqHandle iEvReqHandle; // < The TSY request handle associated with an outstanding Phonebook Store notification request.
- TUint32* iEvEvent; // < The event flags associated with an outstanding Phonebook Store notification request.
- TInt* iEvIndex; // < The index value associated with an outstanding Phonebook Store notification request.
-
- TInt iPhBkIndividualPause; // < The pause value used to delay the completion of an individual Phonebook Store manipulation request.
- TInt iPhBkBatchPause; // < The pause value used to delay the completion of a batch Phonebook Store manipulation request.
-
- TTsyReqHandle iPendingReqCompletion; // < The TSY request handle for the request that is awaiting a timer event before completion.
- TStoreEvent iPendingEvent; // < The type of store event related to the request that is awaiting a timer event before completion.
- TInt iPendingIndex; // < The index related to the request that is awaiting a timer event before completion.
-
- TInt iPhBkOOBWriteDuration; // < The pause before the "out of band" write will be executed.
- TInt iPhBkOOBWriteIndex; // < The index number associated with the "out of band" write.
- TPhBkUSimStoreEntry iPhBkOOBWrite; // < The phonebook entry to be written in the "out of band" write.
-
- TInt iPhBkOOBDeleteDuration; // < The pause before the "out of band" delete.
- TInt iPhBkOOBDeleteIndex; // < The inex number associated with the "out of band" delete.
-
- struct TTriggerEventIPC
- {
- TInt iIPC;
- TInt iIPCCnt;
- RMobilePhone::TMobilePhoneSecurityEvent iEvent;
- };
- TTriggerEventIPC iTriggerEventIPC; // < If .iIPC is called .iIpcCnt times, .iEvent is triggered
- TInt iTriggerCnt; // < the counter used to count the number of times iTriggerEventIPC.iIpc has been called
-
- };
-
-#endif
+// Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#ifndef __SIMPHBKUSIMSTORE_H_
+#define __SIMPHBKUSIMSTORE_H_
+
+/**
+ * @file
+ *
+ * Contains the class definitions required for the Phonebook Store.
+ * @internalAll
+ */
+
+#include <etelmm.h>
+#include <et_phone.h>
+#include <mpbutil.h>
+#include "csimtimer.h"
+#include "CSimPhone.h"
+#include "CSimPhoneSecurity.h"
+#include "CSimPhBkStore.h"
+
+/**
+ * The main Phonebook Store class which simulates a Phonebook Store.
+ */
+class CSimPhone;
+class CTestConfigSection;
+class CTestConfigItem;
+class CSimPhBkUSimStore : public CSimPhone, public MTimerCallBack
+ {
+public:
+
+ static CSimPhBkUSimStore* NewL(CSimPhone* aPhone, const TDesC8& aStore, const TDesC8& aName, TInt aMaxNumSlots, TInt aMaxNumLen, TInt aMaxTextLen, TInt aMaxAdditional, TInt aMaxEmail, TInt aMaxAdditionalTelNumLen, TInt aMaxAdditionalTextLen);
+ CSimPhBkUSimStore(CSimPhone* aPhone);
+ ~CSimPhBkUSimStore();
+
+ static void ClosePhone(TAny* aObj);
+ virtual CTelObject::TReqMode ReqModeL(const TInt aIpc);
+// MTelObjectTSY pure virtual
+ virtual TInt RegisterNotification(const TInt aIpc);
+ virtual TInt DeregisterNotification(const TInt aIpc);
+ virtual void Init();
+ virtual CTelObject* OpenNewObjectByNameL(const TDesC& aName);
+ virtual CTelObject* OpenNewObjectL(TDes& aNewName);
+ virtual TInt NumberOfSlotsL(const TInt aIpc);
+ virtual TInt CancelService(const TInt aIpc,const TTsyReqHandle aTsyReqHandle);
+
+// MSubSessionExtBaseTSY pure virtual
+ virtual TInt ExtFunc(const TTsyReqHandle aTsyReqHandle,const TInt aIpc,const TDataPackage& aPackage);
+
+// Other public functions.
+ void PopulateStoreFromConfigFileL();
+ void PopulatePhBkStoreInfo(RMobilePhoneStore::TMobilePhoneStoreInfoV1* aStoreInfo);
+
+//coverity[bad_override]
+ TPtrC8 Name();
+ TPtrC8 PhBkStore();
+ TPtrC8 AID();
+ TInt UsedEntries();
+ TInt MaxSlots();
+ TInt CheckAndSwitchUSimApps();
+
+protected:
+ void ConstructL(const TDesC8& aStore, const TDesC8& aName, TInt aMaxNumSlots, TInt aMaxNumLen, TInt aMaxTextLen, TInt aAdditional, TInt aMaxEmail, TInt aMaxAdditionalTelNumLen, TInt aMaxAdditionalTextLen);
+
+private:
+ TInt GetInfo(TTsyReqHandle aReqHandle, TDes8* aPckg);
+ TInt Read(TTsyReqHandle aReqHandle, TDes8* aPckg1, TDes8* aPckg2);
+ TInt Write(TTsyReqHandle aReqHandle,TDes8* aPckg1, TDes8* aPckg2);
+ TInt Delete(TTsyReqHandle aReqHandle,TDes8* aPckg);
+ TInt DeleteAll(TTsyReqHandle aReqHandle);
+ TInt NotifyStoreEvent(TTsyReqHandle aReqHandle,TDes8* aPckg1,TDes8* aPckg2);
+ void NotifyStoreEventCancel();
+
+ enum TStoreEvent // < Store event identifier.
+ {
+ EStoreEventNoEvent,
+ EStoreEventAdded,
+ EStoreEventDeleted,
+ EStoreEventChanged
+ };
+
+ void StoreEvent(TStoreEvent aEvent,TInt aIndex);
+ void DelayCompletion(TInt aDelayDuration,TTsyReqHandle aReqHandle);
+ void DelayCompletion(TInt aDelayDuration,TTsyReqHandle aReqHandle,TStoreEvent aEvent,TInt aIndex);
+ void TimerCallBack(TInt aId);
+ TBool FindIpcErrorMatch(TInt& aError);
+ const CTestConfigSection* CfgFile();
+
+ TInt GetPhBkAdditionalEntry(TPtrC8& aEntry, TInt& aItemIndex,
+ TPtrC8& aTelNum, TPtrC8& aAlphaTag, TUint8& aNpiTon);
+
+ TInt GetPhBkUSimEntry(const CTestConfigItem* aItem, TInt& aItemIndex,
+ TPtrC8& aPhonebookStore, TPtrC8& aPhonebookName,
+ TPtrC8& aAid,TInt& aIndex, TPtrC8& aTelNum,
+ TPtrC8& aAlphaTag, TUint8& aNpiTon,
+ TPtrC8& aAlphaTag2);
+ void PopulateOOBWrite();
+ void PopulateOOBDelete();
+
+private:
+ CPhoneBase* iDummyPhoneBaseRef;
+
+ CSimPhone* iPhone; // < A pointer to the "owner" phone class.
+ CSimTimer* iReqTimer; // < The timer used to delay request completions.
+ CSimTimer* iOOBWriteTimer; // < The timer used to time an OOB store event.
+ CSimTimer* iOOBDeleteTimer; // < The timer used to time an OOB delete event.
+
+ TInt iPhBkMaxNumSlots; // < The maximum number of slots in this Phonebook store.
+ TInt iPhBkMaxTelNumLen; // < The maximum size of a telephone number that can be stored in this Phonebook.
+ TInt iPhBkMaxTextLen; // < The maximum size of an alpha tag that can be stored in this Phonebook.
+ TInt iPhBkAdditional; // < The maximum number of additional numbers that can be stored in this Phonebook per entry.
+ TInt iPhBkMaxEmail; // < The maximum number of emails that can be stored in this Phonebook per entry.
+
+ TInt iPhBkMaxAdditionalTelNumLen; // < The maximum size of an additional telephone number that can be stored in this Phonebook.
+ TInt iPhBkMaxAdditionalTextLen; // < The maximum size of an additional alpha tag that can be stored in this Phonebook.
+
+ struct TPhBkStoreEntry
+ {
+ TBuf<KPhBkMaxAlphaTagSize> iAlphaTag; // < The phonebook entry's alpha tag.
+ TUint8 iTonNpi; // < The phonebook entry's Type of Number and Number Plan Identifier.
+ TBuf<KPhBkMaxTelNumSize> iTelNum; // < The phonebook entry's telephone number.
+ };
+
+ typedef TBuf<KPhBkMaxAlphaTagSize> TPhBkUSimEmail;
+ typedef TBuf<KPhBkMaxAlphaTagSize> TPhBkUSimGroup;
+
+ class TPhBkUSimStoreEntry
+ {
+ public:
+ TBuf<KPhBkMaxAlphaTagSize> iAlphaTag; // < The phonebook entry's alpha tag.
+ TUint8 iTonNpi; // < The phonebook entry's Type of Number and Number Plan Identifier.
+ TBuf<KPhBkMaxTelNumSize> iTelNum; // < The phonebook entry's telephone number.
+ TBuf<KPhBkMaxAlphaTagSize> iAlphaTag2; // < The phonebook entry's name2 alpha tag.
+ CArrayFixFlat<TPhBkStoreEntry>* iAdditional; //< The phonebook entry's additional numbers
+ CArrayFixFlat<TPhBkUSimEmail>* iEmails; //< The phonebook entry's list of email addresses
+ CArrayFixFlat<TPhBkUSimGroup>* iGroups; //< The phonebook entry's list groups definition
+ TBool iHiddenEntry;
+ };
+
+ TPhBkUSimStoreEntry* iPhBkUSimStoreEntries; // < Gsm Phonebook only
+ TPhBkUSimStoreEntry* iPhBkUSim1StoreEntries; // < USim PhoneBook1
+ TPhBkUSimStoreEntry* iPhBkUSim2StoreEntries; // < USim PhoneBook2
+
+ struct TPhBkError
+ {
+ TInt iCount; // < The IPC count of the request that is to be errored.
+ TInt iError; // < The error number that must be used with that request.
+ };
+ CArrayFixFlat<TPhBkError>* iPhBkError; // < Array of indicating where to simulate phonebook request errors.
+ TInt iIpcCnt; // < The current count of IPC client requests.
+
+ TBuf8<KMaxName> iPhBkStore; // < The Phonebook Store.
+ TBuf8<KMaxName> iPhBkStoreName; // < The name of the Phonebook Store.
+ TInt iPhBkUSimCounter;
+ RMobilePhone::TAID iPhBkAid;
+ RMobilePhone::TAID iPhBkAidUSim1;
+ RMobilePhone::TAID iPhBkAidUSim2;
+
+ TUint iPhBkStoreCaps; // < The phone level caps of the PhBk Store
+
+ CPhoneBookBuffer* iPhBkRwBuffer; // < The Phonebook read/write "streaming" class.
+
+ TBool iEvOutstandingReq; // < A flag indicating an outstanding Phonebook Store notification request.
+ TTsyReqHandle iEvReqHandle; // < The TSY request handle associated with an outstanding Phonebook Store notification request.
+ TUint32* iEvEvent; // < The event flags associated with an outstanding Phonebook Store notification request.
+ TInt* iEvIndex; // < The index value associated with an outstanding Phonebook Store notification request.
+
+ TInt iPhBkIndividualPause; // < The pause value used to delay the completion of an individual Phonebook Store manipulation request.
+ TInt iPhBkBatchPause; // < The pause value used to delay the completion of a batch Phonebook Store manipulation request.
+
+ TTsyReqHandle iPendingReqCompletion; // < The TSY request handle for the request that is awaiting a timer event before completion.
+ TStoreEvent iPendingEvent; // < The type of store event related to the request that is awaiting a timer event before completion.
+ TInt iPendingIndex; // < The index related to the request that is awaiting a timer event before completion.
+
+ TInt iPhBkOOBWriteDuration; // < The pause before the "out of band" write will be executed.
+ TInt iPhBkOOBWriteIndex; // < The index number associated with the "out of band" write.
+ TPhBkUSimStoreEntry iPhBkOOBWrite; // < The phonebook entry to be written in the "out of band" write.
+
+ TInt iPhBkOOBDeleteDuration; // < The pause before the "out of band" delete.
+ TInt iPhBkOOBDeleteIndex; // < The inex number associated with the "out of band" delete.
+
+ struct TTriggerEventIPC
+ {
+ TInt iIPC;
+ TInt iIPCCnt;
+ RMobilePhone::TMobilePhoneSecurityEvent iEvent;
+ };
+ TTriggerEventIPC iTriggerEventIPC; // < If .iIPC is called .iIpcCnt times, .iEvent is triggered
+ TInt iTriggerCnt; // < the counter used to count the number of times iTriggerEventIPC.iIpc has been called
+
+ };
+
+#endif