testexecfw/stf/inc/TestModuleInfo.h
changeset 2 8bb370ba6d1d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/testexecfw/stf/inc/TestModuleInfo.h	Fri Apr 09 10:46:28 2010 +0800
@@ -0,0 +1,294 @@
+/*
+* Copyright (c) 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: This file contains the header file of the 
+* CTestModuleInfo class. The class was created to keep module names, 
+* ini files and test case configuration files.
+*
+*/
+
+#ifndef TESTMODULEINFO_H
+#define TESTMODULEINFO_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <StifLogger.h>
+
+// CONSTANTS
+// None
+
+// MACROS
+// None
+
+// DATA TYPES
+// None
+
+// FUNCTION PROTOTYPES
+// None
+
+// FORWARD DECLARATIONS
+// None
+
+// CLASS DECLARATION
+
+// DESCRIPTION
+// Class with information about configuration (test case) file.
+class CTestCaseFileInfo
+    :public CBase
+    {
+    public: // Enumerations
+
+    private: // Enumerations
+
+    public:  // Constructors and destructor
+        /**
+        * NewL.
+        */
+        static CTestCaseFileInfo* NewL(TDesC& aCfgFileName, CStifLogger* aLogger);
+
+        /**
+        * C++ destructor.
+        */
+        virtual ~CTestCaseFileInfo();
+
+    private: // Constructors and destructor
+        /**
+        * C++ constructor.
+        */
+        CTestCaseFileInfo();
+
+        /**
+        * By default Symbian OS constructor is private.
+        */
+        void ConstructL(TDesC& aCfgFileName, CStifLogger* aLogger);
+
+    public: // New functions
+        /**
+        * Set configuration file as already checked.
+        */
+        IMPORT_C void SetChecked(void);
+
+        /**
+        * Return if config file has been checked.
+        */
+        TBool IsChecked(void);
+
+        /**
+        * Get module name.
+        */
+        IMPORT_C TInt GetCfgFileName(TDes& aCfgFileName);
+        
+       
+
+    protected:  // New functions
+
+    private:    // New functions
+
+    public:     // Data
+
+    protected:  // Data
+
+    private:    // Data
+        //Config file name
+        HBufC* iCfgFileName;
+
+        //Was checked
+        TBool iChecked;
+
+        // Logger instance
+        CStifLogger* iLogger;
+
+    public:     // Friend classes
+
+    protected:  // Friend classes
+
+    private:    // Friend classes
+    };
+
+// DESCRIPTION
+// Class with information about test modules.
+class CTestModuleInfo
+    :public CBase
+    {
+    public: // Enumerations
+
+    private: // Enumerations
+
+    public:  // Constructors and destructor
+        /**
+        * NewL.
+        */
+        static CTestModuleInfo* NewL(TDesC& aModuleName, CStifLogger* aLogger);
+
+        /**
+        * C++ destructor.
+        */
+        virtual ~CTestModuleInfo();
+
+    private: // Constructors and destructor
+        /**
+        * C++ constructor.
+        */
+        CTestModuleInfo();
+
+        /**
+        * By default Symbian OS constructor is private.
+        */
+        void ConstructL(TDesC& aModuleName, CStifLogger* aLogger);
+
+    public: // New functions
+        /**
+        * Set initialization file name.
+        */
+        IMPORT_C TInt SetIniFile(TDesC& aIniFileName);
+
+        /**
+        * Add configuration (test case) file name to array.
+        */
+        IMPORT_C TInt AddCfgFile(TDesC& aCfgFileName);
+
+        /**
+        * Get number of test case files.
+        */
+        IMPORT_C TInt CountCfgFiles(void);
+
+        /**
+        * Get module name.
+        */
+        IMPORT_C TInt GetModuleName(TDes& aModuleName);
+
+        /**
+        * Get ini file.
+        */
+        IMPORT_C TInt GetIniFileName(TDes& aIniFileName);
+
+        /**
+        * Get cfg file.
+        */
+        IMPORT_C TInt GetCfgFileName(TInt aIndex, TDes& aCfgFileName);
+
+        /**
+        * Get first unchecked config file.
+        */
+        CTestCaseFileInfo* GetUncheckedCfgFile(void);
+       
+    protected:  // New functions
+
+    private:    // New functions
+
+    public:     // Data
+
+    protected:  // Data
+
+    private:    // Data
+        //Module name
+        HBufC* iModuleName;
+
+        //Initialization file
+        HBufC* iIniFileName;
+
+        //Array of cfg files
+        RPointerArray<CTestCaseFileInfo> iCfgFiles;
+
+        // Logger instance
+        CStifLogger* iLogger;
+
+    public:     // Friend classes
+
+    protected:  // Friend classes
+
+    private:    // Friend classes
+    };
+
+// DESCRIPTION
+// Class with list of test modules.
+class CTestModuleList
+    :public CBase
+    {
+    public: // Enumerations
+
+    private: // Enumerations
+
+    public:  // Constructors and destructor
+        /**
+        * NewL.
+        */
+        IMPORT_C static CTestModuleList* NewL(CStifLogger* aLogger);
+
+        /**
+        * C++ destructor.
+        */
+        IMPORT_C virtual ~CTestModuleList();
+
+    private: // Constructors and destructor
+        /**
+        * C++ constructor.
+        */
+        CTestModuleList();
+
+        /**
+        * By default Symbian OS constructor is private.
+        */
+        void ConstructL(CStifLogger* aLogger);
+
+    public: // New functions
+        /**
+        * Add test module to list.
+        */
+        IMPORT_C TInt AddTestModule(TDesC& aModuleName);
+
+        /**
+        * Get number of test modules.
+        */
+        IMPORT_C TInt Count(void);
+
+        /**
+        * Get module.
+        */
+        IMPORT_C CTestModuleInfo* GetModule(TDesC& aModuleName);
+
+        /**
+        * Get module.
+        */
+        IMPORT_C CTestModuleInfo* GetModule(TInt aIndex);
+
+        /**
+        * Get first unchecked test case file (module: testscripter and testcombiner).
+        */
+        IMPORT_C CTestCaseFileInfo* GetUncheckedCfgFile(void);
+
+    protected:  // New functions
+
+    private:    // New functions
+
+    public:     // Data
+
+    protected:  // Data
+
+    private:    // Data
+        //Array of test modules
+        RPointerArray<CTestModuleInfo> iTestModules;
+
+        // Logger instance
+        CStifLogger* iLogger;
+
+    public:     // Friend classes
+
+    protected:  // Friend classes
+
+    private:    // Friend classes
+    };
+
+#endif      // TESTMODULEINFO_H
+
+// End of File