diff -r 000000000000 -r e686773b3f54 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 +#include "CntBaseStep.h" +#include +#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 +