diff -r 000000000000 -r f979ecb2b13e pimappservices/calendar/tsrc/TestCalIndexFile/inc/TestCalIndexFileStepBase.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pimappservices/calendar/tsrc/TestCalIndexFile/inc/TestCalIndexFileStepBase.h Tue Feb 02 10:12:19 2010 +0200 @@ -0,0 +1,154 @@ +/** +* 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: +* +*/ + + + +#ifndef __TEST_CAL_INDEX_FILE_STEP_BASE__ +#define __TEST_CAL_INDEX_FILE_STEP_BASE__ + +#include +#include +#include +#include + +class CCalSession; +class CConfigTestEntryInfo; +class CTestCalIndexFileStepBase : public CTestStep, protected MCalProgressCallBack + { +public: + CTestCalIndexFileStepBase(); + virtual ~CTestCalIndexFileStepBase(); + + virtual TVerdict doTestStepPreambleL(); + virtual TVerdict doTestStepPostambleL(); + +protected: + void SetUpCalDirL(); + void AddCalendarFileL(); + void AddIndexFileL(); + + void MakeCalendarFileName(TFileName& aCalFile); + + virtual void OpenAgendaL(); + void CloseAgendaL(); + TBool CheckIndexFilePresentL(); + TBool CheckCalendarFilePresentL(); + virtual TBool ValidateDbContentsL(TBool aPerformCrudOps = EFalse); + virtual void GetEntryInfoFromConfigL(RPointerArray& aEntriesInfo, + TInt& aNumEntries, + TBool aPerformCrudOps); + void AddEntryL(); + + inline CCalSession& GetSession(); + inline void SetSession(CCalSession* aSession); + inline const TFileName& GetCalenderFileName(); + + +private: + // MCalProgressCallBack implementation + void Progress(TInt aPercentageCompleted); + void Completed(TInt aError); + TBool NotifyProgress(); + +protected: + void ParseEntryStringL(CConfigTestEntryInfo& aInfo, TPtrC& aString); + void GoToNextEntryItem(TDes& aData, TDes& aItem); + CCalEntry* CreateEntryL(CConfigTestEntryInfo& aInfo); + + +protected: + RFs iFsSession; + +private: + TBool iNotifyProgress; + CActiveScheduler* iActiveScheduler; + TBool iFsSessionConnected; +protected: + CCalSession* iSession; + TFileName iCalenderFileName; + +protected: + TFileName iDriveName; + TFileName iDir; + TFileName iCalendarName; + TFileName iIndexName; + }; + + + + +class CConfigTestEntryInfo + { +public: + CConfigTestEntryInfo(); + ~CConfigTestEntryInfo(); + + TBool CompareToEntryL(CCalEntry& aEntry); + +private: + TBool CheckTypeL(CCalEntry& aEntry); + TBool CheckTimesL(CCalEntry& aEntry); + TBool CheckSummaryL(CCalEntry& aEntry); + TBool CheckDescriptionL(CCalEntry& aEntry); + TBool CheckLocationL(CCalEntry& aEntry); + TBool CheckMethodL(CCalEntry& aEntry); + TBool CheckRRuleL(CCalEntry& aEntry); + +public: + CCalEntry::TType iType; + TTime iStartTime; + TTime iEndTime; + HBufC* iSummary; + HBufC* iDescription; + HBufC* iLocation; + CCalEntry::TMethod iMethod; + TBool iRepeats; + TCalRRule::TType iRptType; + TUint iRptCount; + }; + + +class CCalProgress: public CActive, public MCalProgressCallBack + { +public: + CCalProgress(); + ~CCalProgress(); + void Progress(TInt aPercentageCompleted); + void Completed(TInt aError); + TBool NotifyProgress(); + + TBool Completed(); + TInt Progress(); + void Reset(); + + void Start(); +private: + + void Close(); + void DoCancel(); + void RunL(); + + TInt iProgress; + TBool iCompleted; + }; + + + + +#include "TestCalIndexFileStepBase.inl" + +#endif