phonebookengines/contactsmodel/tsrc/Integration/CntPerfTest/inc/ContactViewTest.h
changeset 0 e686773b3f54
--- /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
+