diff -r 000000000000 -r 2f259fa3e83a commonuisupport/uikon/test/teiksrv/tbackup/tbackup.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commonuisupport/uikon/test/teiksrv/tbackup/tbackup.h Tue Feb 02 01:00:49 2010 +0200 @@ -0,0 +1,370 @@ +// Copyright (c) 2005-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: +// Tests CBaBackupSessionWrapper APIs and observers for backup server.\n +// +// + +/** + @file + @internalComponent - Internal Symbian test code +*/ + +#ifndef __TBACKUP_H +#define __TBACKUP_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "appfwk_test_AppUi.h" + +_LIT(KTestBackupStep, "TBackup"); + + +//! A CTestBackupStep test class. +/** + Tests CBaBackupSessionWrapper APIs. +*/ +class CTestBackupStep : public CTmsTestStep + { +public: + CTestBackupStep(); + ~CTestBackupStep(); + virtual TVerdict doTestStepL(); + void ConstructAppL(CEikonEnv* aCoe); +private: + }; + + +const TInt KNumOfBackupOperationObservers = 3; +class CBackupAppUi; +class CBackupRunTest; + +//! CBackupDialogBase - dialog base class. +/** + Forms the dialog base class. +*/ +class CBackupDialogBase : public CEikDialog + { +public: + enum TOperationGranularity + { + EAll, + ESingleFile + }; +protected: + CBackupDialogBase(CDesCArray& aFiles,TOperationGranularity& aGranularity,TDes& aFileName); +protected: // from CEikDialog + void PreLayoutDynInitL(); + TBool OkToExitL(TInt aButtonId); + void HandleControlStateChangeL(TInt aControlId); +private: + void UpdateFileListDimmedState(); +protected: + CDesCArray& iFiles; + TOperationGranularity& iGranularity; + TDes& iFileName; + }; + + +//! CBackupCloseDialog - close dialog class. +/** + Creates the close backup dialog class. +*/ +class CBackupCloseDialog : public CBackupDialogBase + { +public: + static TBool RunDlgLD(CDesCArray& aFiles,CBackupDialogBase::TOperationGranularity& aGranularity,TDes& aFileName, + MBackupObserver::TFileLockFlags& aFlag); + +private: + CBackupCloseDialog(CDesCArray& aFiles,CBackupDialogBase::TOperationGranularity& aGranularity,TDes& aFileName, + MBackupObserver::TFileLockFlags& aFlag); +private: // from CEikDialog + void PreLayoutDynInitL(); + TBool OkToExitL(TInt aButtonId); +private: + MBackupObserver::TFileLockFlags& iFileFlag; + }; + + + +//! CBackupRestartDialog - restart dialog class. +/** + Creates the restart backup dialog class. +*/ +class CBackupRestartDialog : public CBackupDialogBase + { +public: + static TBool RunDlgLD(CDesCArray& aFiles,CBackupDialogBase::TOperationGranularity& aGranularity,TDes& aFileName); +private: + CBackupRestartDialog(CDesCArray& aFiles,CBackupDialogBase::TOperationGranularity& aGranularity,TDes& aFileName); +private: // from CEikDialog + void PreLayoutDynInitL(); + }; + + + +//! CBackupFileObserver - file observer class. +/** + File observer class. +*/ +class CBackupFileObserver : public CBase, private MBackupObserver + { +public: + enum TFileLock + {ELocked,EReadOnly,ENoAccess}; + class TBackupFile + { + public: + TBackupFile(const TDesC& aFileName,TFileLock aLockState); + public: + TFileName iFileName; + TFileLock iLockState; + }; +public: + static CBackupFileObserver* NewLC(); + ~CBackupFileObserver(); + void AddFileL(const TDesC& aFileName); + void RemoveFile(const TDesC& aFileName); + const RArray& BackupArray() const; +private: + CBackupFileObserver(); + void ConstructL(); + TInt Find(const TDesC& aFileName) const; +private: // from MBackupObserver + void ChangeFileLockL(const TDesC& aFileName,TFileLockFlags aFlags); +private: + RArray iBackupArray; + CBaBackupSessionWrapper* iBackupSession; + }; + + +//! CBackupOpeartionObserver - backup observer. +/** + Observer for backup operation. +*/ +class CBackupOpeartionObserver : public CBase, public MBackupOperationObserver + { +public: + static CBackupOpeartionObserver* NewL(); + inline TBool IsRegistered() const; + inline void SetRegistered(TBool aIsRegistered); +private: + CBackupOpeartionObserver(); +private: // from MBackupOperationObserver + void HandleBackupOperationEventL(const TBackupOperationAttributes& aBackupOperationAttributes); +private: + TBool iRegistered; + TBackupOperationAttributes iBackupOperationAttributes; + }; + +//! CBackupOpeartionObserversWrapper. +/** + Wrapper for backup operation observer. +*/ + +class CBackupOpeartionObserversWrapper : public CBase + { +public: + static CBackupOpeartionObserversWrapper* NewL(TInt aNumberOfObservers); + ~CBackupOpeartionObserversWrapper(); + void RegisterBackupOperationObserverL(CBackupOpeartionObserver& aBackupOpeartionObserver); + void DeRegisterBackupOperationObserver(CBackupOpeartionObserver& aBackupOpeartionObserver); + inline TInt CountObservers() const; + inline CBackupOpeartionObserver* Observer(TInt aIndex); +private: + CBackupOpeartionObserversWrapper(); + void ConstructL(TInt aNumberOfObservers); + void ResetAndDestroy(); +private: + CBaBackupSessionWrapper* iBackupSession; + RPointerArray iBackupOpeartionObserver; + }; + + + +//! CBackupRegistrationDialog. +/** + Dialog for registration of observer. +*/ +class CBackupRegistrationDialog : public CEikDialog + { +public: + CBackupRegistrationDialog(RPointerArray& aBackupOperationObserversWrapper); + TBool OkToExitL(TInt aButtonId); +private: // from CEikDialog + void PreLayoutDynInitL(); +private: + RPointerArray& iBackupOperationObserversWrapper; + CBackupAppUi* iBackupAppUi; + }; + + +//! CBackupOperationDialog. +/** + Dialog for starting backup operation. +*/ +class CBackupOperationDialog : public CEikDialog + { +public: + CBackupOperationDialog(CBaBackupSessionWrapper& aBackupSession); + TBool OkToExitL(TInt aButtonId); +private: // from CEikDialog + void PreLayoutDynInitL(); + +private: + CBaBackupSessionWrapper& iBackupSession; + CBackupAppUi* iBackupAppUi; + }; + + +//! CBackdrop. +/** + Background control. +*/ +class CBackdrop : public CCoeControl + { +public: + static CBackdrop* NewL(); +private: // from CCoeControl + void Draw(const TRect& aRect) const; + }; + + +//! COpenAppList. +/** + Control to list open apps. +*/ +class COpenAppList : public CEikTextListBox + { +public: + void UpdateL(); + }; + + +//! COpenFileList. +/** + Control to list open files. +*/ +class COpenFileList : public CCoeControl + { +public: + COpenFileList(CArrayPtr& aFileObservers); + ~COpenFileList(); + void ConstructL(); + void UpdateL(); +private: // from CCoeControl + TSize MinimumSize(); + void SizeChanged(); + TInt CountComponentControls() const; + CCoeControl* ComponentControl(TInt aIndex) const; +private: + CEikColumnListBox* iList; + const CArrayPtr& iFileObservers; + }; + +//! CTBackupAppUi. +/** + Test Ui class. +*/ +class CTBackupAppUi : public CTestAppUi + { +public: + CTBackupAppUi(CTmsTestStep* aStep); + void ConstructL(); + ~CTBackupAppUi(); + void RunTestStepL(TInt aNextStep); + +private: // framework + void HandleCommandL(TInt aCommand); + +private: + void CreateBackgroundL(); + void CreateAppListL(); + void CreateFileListL(); + void CreateFileObserversL(); + void CmdListAppsL(); + void CmdListOpenFilesL(); + void CmdCloseL(); + void CmdRestartL(); + void AutoCmdCloseL(); + void AutoCmdRestartL(); + void CreateObserversListL(); + void UpdateBackupObserverRegistrationL(); + void UpdateBackupOperationStateL(); + void AutoUpdateBackupObserverRegistrationL(); + void AutoUpdateBackupOperationStateL(); + void AutoCmdCloseAllAndRestartAllL(); + + +private: + CBaBackupSessionWrapper* iBackupSession; + CBackdrop* iBackdrop; + COpenAppList* iAppList; + COpenFileList* iFileList; + CArrayPtr* iFileObservers; + RPointerArray iBackupOperationObserversWrapper; + CEikBusyMsgWin* iBusyMsg; + }; + + +//! CBackupDocument. +/*! + Test Document class. +*/ +class CBackupDocument : public CEikDocument + { +public: // from CApaDocument + CBackupDocument(CEikApplication& aApp); + CEikAppUi* CreateAppUiL(); + }; + + +//! CBackupApplication. +/** + Test Application class. +*/ +class CBackupApplication: public CEikApplication + { +private: // from CApaApplication + CApaDocument* CreateDocumentL(); + TUid AppDllUid() const; +private: + CApaDocument* CreateDocumentL(CApaProcess* a) { return CEikApplication::CreateDocumentL(a); } + + }; + +#endif + +