diff -r d4f567ce2e7c -r 5b6f26637ad3 phonebookengines_old/contactsmodel/tsrc/TestSyncPlugIn/cntsyncchecker.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phonebookengines_old/contactsmodel/tsrc/TestSyncPlugIn/cntsyncchecker.h Tue Aug 31 15:05:21 2010 +0300 @@ -0,0 +1,177 @@ +// 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 CNTSYNCCHECKER_H +#define CNTSYNCCHECKER_H + +#include +#include +#include + +/* +const TUid KUidIccGlobalAdnPhonebook = { 0x10001111 }; +const TUid KUidIccGlobalSdnPhonebook = { 0x10002222 }; +const TUid KUidIccGlobalLdnPhonebook = { 0x10003333 }; +const TUid KUidUsimAppAdnPhonebook = { 0x10004444 }; +*/ + +const TUid KPropertyCategory = { 0x1020384e }; + +const TUid KUidIccPhonebookNotFound = {-0x00000001 }; + +class TLookupPhonebookEntry + { + public: + TLookupPhonebookEntry(TUid aPhonebookUid,TInt aPhonebookTemplateId,TInt aPhonebookGroupId); + public: + TUid iPhonebookUid; + TInt iPhonebookTemplateId; + TInt iPhonebookGroupId; + }; + +namespace SyncNotification + { + const TUid KPropertyCategory = { 0x1020384E }; + + enum TPropertyKeys + { + ESyncChangeNotification + }; + } + +/** + Simulated Phonebook Synchronisation - to test the MContactSynchroniser interface is called correctly. + + Steps: + 1. Choose which ICC phonebooks should be present + TInt SetGsmPhonebookL(); + TInt SetUsimPhonebookL(); + TInt SetPhonebookListL(const RArray aNewPhonebookList); + + 2. Define zero or more contacts in the phonebook(s) + TInt AddContactToPhonebookL(TUid aPhonebookUid, const TDesC& aName, const TDesC& aNumber); + + 3. Perform the synchronisation, optionally one phonebook at a time, optionally with an error code + TInt SynchroniseIccPhonebookL(CContactDatabase& aDb, TUid aPhonebookUid, TInt aCompletionError, TInt aSyncError=KErrNone); + TInt SynchroniseIccAllPhonebooksL(CContactDatabase& aDb, TInt aCompletionError, TInt aSyncError=KErrNone); + + These methods simulate a real phonebook synchronisation taking place, + (though without ICC read delays): + + completing all queued notifications for the phonebook. + + creating a template & group for each phonebook, if none exists, + or finds the current template & group id so that the ICCtemplateIdL() & + GroupIdL() methods work + + 4. Reset for next test + TInt ResetSyncIccPhonebookL(TUid aPhonebookUid); + TInt ResetSyncIccAllPhonebooksL(); + + 5. At any time set or change the response to ICC Validate requests + TInt ValidateResponseL(MContactSynchroniser::TValidateOperation aOp); + TInt ValidateWriteResponseL(); + TInt DeleteContactResponseL(); + + 6. At any time track the number of calls to MContactSynchroniser interface + void ResetMethodCallCount(); + TInt MethodCallCount(); + + */ +class CContactSyncChecker : public CBase + { +public: + IMPORT_C static CContactSyncChecker* NewL(); + IMPORT_C ~CContactSyncChecker(); + + IMPORT_C static TInt ValidateResponseL(MContactSynchroniser::TValidateOperation aOp); + IMPORT_C static TInt ValidateWriteResponseL(); + IMPORT_C static TInt DeleteContactResponseL(); + IMPORT_C static TContactItemId ICCTemplateIdL(TUid aPhonebookUid); + IMPORT_C static TContactItemId GroupIdL(TUid aPhonebookUid); + IMPORT_C static TUid PhonebookUidL(TContactItemId aTemplateId); + + IMPORT_C static void SetValidateResponseL(MContactSynchroniser::TValidateOperation aOp, TInt aError); + IMPORT_C static void SetValidateWriteResponseL(TInt aError); + IMPORT_C static void SetDeleteContactResponseL(TInt aError); + + + IMPORT_C static TInt UpdatePhonebookTemplateIdL(TUid aPhonebookUid, TInt aPhonebookTemplateId); + IMPORT_C static TInt UpdatePhonebookGroupIdL(TUid aPhonebookUid, TInt aPhonebookGroupId); + + //SetPhonebookEntryL does not exist + IMPORT_C static void SetPhonebookEntryL(TUid aPhonebookUid,TInt aPhonebookTemplateId,TInt aPhonebookGroupId); + IMPORT_C static TInt UpdatePhonebookEntryL(TUid aPhonebookUid,TInt aPhonebookTemplateId,TInt aPhonebookGroupId); + + IMPORT_C static TInt SynchroniseIccPhonebookL(CContactDatabase& aDb, TUid aPhonebookUid, TInt aCompletionError, TInt aSyncError); + IMPORT_C static TInt SynchroniseIccAllPhonebooksL(CContactDatabase& aDb, TInt aCompletionError, TInt aSyncError); + IMPORT_C static TInt AddContactToPhonebookL(TUid aPhonebookUid, const TDesC& aName, const TDesC& aNumber); + + + IMPORT_C static void EnableVerboseLoggingL(); + IMPORT_C static TBool VerboseLoggingEnabledL(); + + + IMPORT_C TInt ResetSyncIccPhonebookL(TUid aPhonebookUid, TBool aResetTemplateAndGroupIds); + IMPORT_C TInt ResetSyncIccAllPhonebooksL(TBool aResetTemplateAndGroupIds); + + + /* + Reset Synchronisation state for all phonebooks, reset plug-in call count and set all validate + responses to KErrNotFound. + */ + + // count the phbksync plug-in method calls + IMPORT_C static void ValidateMethodCalledL(); + IMPORT_C static void SyncMethodCalledL(); + IMPORT_C static void PluginLoadedL(); + IMPORT_C static void PluginUnloadedL(); + IMPORT_C static void ResetMethodCallCountsL(); + IMPORT_C static TInt ValidateMethodCallCountL(); + IMPORT_C static TInt SyncMethodCallCountL(); + IMPORT_C static TInt PluginLoadedCountL(); + + IMPORT_C static void ResetL(); + IMPORT_C static void ResetEverythingL(); + IMPORT_C static TInt TotalNotificationPendingCountL(); + IMPORT_C static TInt FetchNotificationErrorL(TUid aPhoneBookUid); + IMPORT_C static void SetSynchronisedL(TBool aIsSynchronised, TUid aPhonebookUid); + IMPORT_C static void StoreNotificationRequestL(TRequestStatus& aStatus, TUid aPhonebookUid); + IMPORT_C TBool IsSynchronisedL(TUid aPhonebookUid); + IMPORT_C static void CompleteNotificationRequestL(TInt aError, TUid aPhonebookUid); + IMPORT_C static void SetSynchronisedLeaveCodeL(TInt aLeave, TUid aPhonebookUid); + IMPORT_C static TInt NotificationPendingCountL(TUid aPhonebookUid); + + /* + Configure simulation for GSM Phonebook. + */ + IMPORT_C static TInt SetGsmPhonebookL(); + + /* + Configure simulation for USIM (UMTS/WCDMA) Phonebook. + */ + IMPORT_C static TInt SetUsimPhonebookL(); + + /* + Configure custom Phonebook simulation. + */ + IMPORT_C static TInt SetPhonebookListL(const RArray aNewPhonebookList); + /* + Get phonebook list + */ + IMPORT_C static TInt PhonebookListL(RArray& aPhonebookList); + + + }; + +#endif