phonebookengines/contactsmodel/tsrc/Integration/CntPerfTest/inc/ContactViewTest.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phonebookengines/contactsmodel/tsrc/Integration/CntPerfTest/inc/ContactViewTest.h Tue Feb 02 10:12:17 2010 +0200
@@ -0,0 +1,139 @@
+/**
+* Copyright (c) 2006-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:
+*
+*/
+
+
+
+/**
+ @file
+ @publishedAll
+ @released
+*/
+
+#ifndef __CONTACTVIEW_TESTS_H__
+#define __CONTACTVIEW_TESTS_H__
+
+#include <cntviewbase.h>
+#include "CntBaseStep.h"
+#include <coreappstest/testserver.h>
+#include "persistencelayer.h"
+
+enum FieldFullness
+ {
+ EBlank = 0,
+ EMedium,
+ EFull,
+ };
+
+enum PerformanceContacts
+ {
+ EFew = 10,
+ EMid = 100,
+ EMany = 500,
+ EMax = 1000,
+ EDone = -1,
+ };
+
+class CViewObserver;
+
+class CContactViewTest : public CCntBaseStep, public MContactUiCompactObserver
+ {
+friend class CViewObserver;
+public:
+ CContactViewTest(CCntPerfServer &aParent);
+ virtual TVerdict doTestStepL();
+ virtual TVerdict CContactViewTest::doTestStepPostambleL();
+ virtual void PreTestL();
+
+//testing methods
+private:
+ void doAllEmptyTestL(const CContactViewBase &);
+ void AllEmptyTestL();
+ void ViewEmptyTestL();
+ void doViewEmptyTestL(const CContactViewBase &aLView);
+ void ContactEmptyTestL();
+ void doContactEmptyTestL(const CContactViewBase &aLView);
+ void AllFullTestL();
+ void doAllFullTestL(const CContactViewBase &aLView);
+ void EmptyFieldsetTestL();
+ void doEmptyFieldsetTestL(const CContactViewBase &aLView);
+ void EmptyFieldsetSortTestL();
+ void doEmptyFieldsetSortTestL(const CContactViewBase &aLView);
+ void MissingFieldTestL();
+ void doMissingFieldTestL(const CContactViewBase &aLView);
+ void PerformanceTestL();
+ void doPerformanceTestL(const CContactViewBase &aLView);
+ void RecoverCompressTestL();
+ void doRecoverCompressTestL(const CContactViewBase &aLView);
+ void ConcurrentRecoverCompressTestL();
+ void doConcurrentRecoverCompressTestL(const CContactViewBase &aLView);
+ void RecoverAndCompressThreadTestL();
+
+//utility functions
+private:
+ void CleanupL();
+ void InitializeL();
+ void ResetDatabaseL(const TInt aMany=0);
+ TBool CheckViewContact(const CViewContact &aVContact, const TDesC &aVal);
+ TBool CheckViewContactL(const CViewContact &aVContact);
+ HBufC* FieldStringLC(const CContactItemField &aField);
+ void ResetSortL();
+ void SetContactL();
+ TBool FindAndClearFieldL(const TContactItemId aCid, const TDesC &aField);
+ TPtrC GetNextFieldL();
+ CContactViewBase* CreateViewL();
+ TPtrC GetFieldL(const TInt aIndex);
+ void ClosePersistanceL(const TBool aReOpen);
+ void OpenPersistanceL();
+ void SetMediumL();
+ void SetFullL();
+ void StartRecoverL();
+ void EndRecoverL();
+ void StartCompressL();
+ void EndCompressL();
+ static TInt ThreadRunL(TAny* aAny);
+
+//from MContactUiCompactObserver
+private:
+ void Step(TInt ){}
+ void HandleError(TInt aError);
+
+private:
+ CViewObserver* iObserver;
+ RContactViewSortOrder* iSortOrder;
+ TBool iRemote;
+ TTime iStartP;
+ TTime iFinishP;
+ TTime iStartC;
+ FieldFullness iFullness;
+ PerformanceContacts iPerformanceContacts;
+ TBool iPLView;//run local view directly on top of the persistance layer, as used by view sub sessions within the server
+ CPersistenceLayer* iPersistence;
+ RPIMTestServer* iPimServ;
+ CContactActiveRecover* iRecover;
+ CContactActiveCompress* iCompress;
+ CContactDatabase* iContactsDatabase2;
+ TInt iError;
+ TInt iIteration;
+ TBool iRecoverFlag;
+ RThread iThread;
+ RSemaphore iSemaphore;
+ RSemaphore iSemaphore2;
+ TInt iDamageCounter;
+ };
+
+#endif
+