--- /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 <eikenv.h>
+#include <coecntrl.h>
+#include <basched.h>
+#include <babackup.h>
+#include <eikappui.h>
+#include <eikdef.h>
+#include <eikapp.h>
+#include <eikdoc.h>
+#include <techview/eikon.hrh>
+#include <techview/eiktxlbx.h>
+#include <techview/eiktxlbm.h>
+#include <techview/eikchlst.h>
+#include <techview/eikclb.h>
+#include <techview/eikclbd.h>
+#include <techview/eikdialg.h>
+#include <techview/eikcapc.h>
+#include <apgwgnam.h>
+#include <apgtask.h>
+#include <eikcoctl.rsg>
+#include <techview/eikchkbx.h>
+#include <eikmsg.h>
+#include <techview/eikhopbt.h>
+#include <uiklafgt/eikcore.rsg>
+#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<TBackupFile>& BackupArray() const;
+private:
+ CBackupFileObserver();
+ void ConstructL();
+ TInt Find(const TDesC& aFileName) const;
+private: // from MBackupObserver
+ void ChangeFileLockL(const TDesC& aFileName,TFileLockFlags aFlags);
+private:
+ RArray<TBackupFile> 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<CBackupOpeartionObserver> iBackupOpeartionObserver;
+ };
+
+
+
+//! CBackupRegistrationDialog.
+/**
+ Dialog for registration of observer.
+*/
+class CBackupRegistrationDialog : public CEikDialog
+ {
+public:
+ CBackupRegistrationDialog(RPointerArray<CBackupOpeartionObserversWrapper>& aBackupOperationObserversWrapper);
+ TBool OkToExitL(TInt aButtonId);
+private: // from CEikDialog
+ void PreLayoutDynInitL();
+private:
+ RPointerArray<CBackupOpeartionObserversWrapper>& 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<CBackupFileObserver>& 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<CBackupFileObserver>& 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<CBackupFileObserver>* iFileObservers;
+ RPointerArray<CBackupOpeartionObserversWrapper> 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
+
+