stif/TestServer/inc/TestServer.h
changeset 38 169364e7e4b4
parent 34 7259cf1302ad
child 45 185201be11b0
--- a/stif/TestServer/inc/TestServer.h	Tue Jul 06 16:05:13 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1685 +0,0 @@
-/*
-* 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 
-* CTestServer.
-*
-*/
-
-#ifndef TEST_SERVER_H
-#define TEST_SERVER_H
-
-
-//  INCLUDES
-#include <e32std.h>
-#include <e32base.h>
-#include "PrintQueue.h"
-#include <StifLogger.h>
-#include "Logging.h"
-#include <StifTestModule.h>
-#include <StifTestInterface.h>
-
-// CONSTANTS
-
-// KDefaultHeapSize needed for creating server thread.
-const TUint KDefaultHeapSize = 0x10000;
-const TUint KMaxHeapSize     = 0x20000;
-
-// MACROS
-
-// FUNCTION PROTOTYPES
-typedef CTestModuleBase*( *CTestInterfaceFactory )();
-
-// DATA TYPES
-
-// Panic reasons
-enum TTestServerPanic
-    {
-    EBadRequest,
-    EBadDescriptor,
-    EDescriptorNonNumeric,
-    EMainSchedulerError,
-    ESvrCreateServer,
-    ECreateTrapCleanup,
-    EBadRemove, 
-    EBadSubsessionHandle,
-    ENoStartupInformation,
-    EEnumerateHasNotBeenCalled,
-    EClosingWhileTestRunning,
-    EPrintMutexNotFreed,
-    EThreadMutexNotFreed,
-    EEventMutexNotFreed,
-    EEventArrayMutexNotFreed,
-    ETestModuleMutexNotFreed,
-    EInvalidCTestExecution,
-    EPrintQueueBroken,
-    EInvalidRequestCancel,
-    EWrongEventQueueDeleteContext,
-    EReInitializingTestModule,
-    ETestModuleNotInitialized,
-    EInvalidTestModuleOperation,
-    EWrongHeapInUse,
-    ENullTestModuleFunction,
-    ENullTestModuleContainer,
-    ENullTestModule,
-    ECannotCreateEventArray,
-    EPreviousRequestStillOngoing,
-    ECannotOpenServerThread,
-    ENullModuleSession,
-    EInvalidThreadState,
-    EUnknownEventCmd,
-    EUnknownRemoteCmd,
-    ENullTestThreadContainer,
-    ENullExecution,
-    EAlreadyActive,
-    };
-
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-class TEvent;
-class CTestModule;
-class CTestModuleContainer;
-class CTestExecution;
-class CTestThreadContainer;
-class CErrorPrintHandler;
-class CTestThreadContainerRunnerFactory;
-
-// CLASS DECLARATION
-
-// DESCRIPTION
-// CUnderTaker class is an active object that handles thread death
-// notifications.
-class CUnderTaker 
-        :public CActive
-    {
-
-    public:  // Enumerations
-
-    private: // Enumerations
-
-    public:  // Constructors and destructor
-
-        /**
-        * NewL is first phase of two-phased constructor.
-        */
-        static CUnderTaker* NewL( CTestModuleContainer* aContainer );
-
-        /**
-        * Destructor of CUnderTaker.
-        */
-        virtual ~CUnderTaker();
-
-    public: // New functions
-
-        /**
-        * Start monitoring
-        */
-        TInt StartL();
-
-        /**
-        * Is undertaker completed?
-        */
-        TBool Completed();
-
-		/**
-        * Sets or unsets local processing mode
-        */
-        void SetSynchronousMode(const TBool aMode);
-
-    public: // Functions from base classes
-
-        /**
-        * RunL derived from CActive handles the completed requests.
-        */
-        void RunL();
-
-        /**
-        * DoCancel derived from CActive handles the Cancel
-        */
-        void DoCancel();
-
-        /**
-        * RunError derived from CActive handles errors from active handler.
-        */
-        TInt RunError( TInt aError );
-
-    protected:  // New functions
-        // None
-
-    protected:  // Functions from base classes
-        // None
-
-    private:
-
-        /** 
-        * C++ default constructor.
-        */
-        CUnderTaker();
-       
-        /**
-        * By default Symbian OS constructor is private.
-        */
-        void ConstructL( CTestModuleContainer* aContainer );
-
-    public:   //Data
-        // None
-    
-    protected:  // Data
-        // None
-
-    private:    // Data
-         CTestModuleContainer* iModuleContainer;           // Pointer to parent
-         TBool iCancelNeeded;                              // Is cancel needed?
-		 TBool iSynchronousMode;                           // In synchronous mode
-        
-    public:     // Friend classes
-        // None
-
-    protected:  // Friend classes
-        // None
-
-    private:    // Friend classes
-        // None
-
-    };
-
-
-
-
-// DESCRIPTION
-// CTestModuleContainer is a class, which contains the test execution thread
-// and interface functions to do operations in that thread context.
-class CTestModuleContainer 
-       :public CActive  
-    {
-
-    public: // Enumerations
-        enum TOperation
-            {
-            EInitializeModule,
-            EEnumerateInThread,
-            EExecuteTestInThread,
-            EFreeEnumerationData,
-            EExit,
-            };
-        
-        enum TRequestType
-            {
-            ERqTestCase,
-            ERqErrorPrint,
-            };
-
-    private: // Enumerations
-
-    public:  // Constructors and destructor
-
-        /**
-        * NewL is first phase of two-phased constructor.
-        */
-        static CTestModuleContainer* NewL( const TDesC& aName, 
-                                           CTestModule* aSession,
-                                           const TDesC& aConfig );
-
-        /**
-        * Destructor of CTestModuleContainer.
-        */
-        virtual ~CTestModuleContainer();
-
-
-    public: // New functions
-
-        /**
-        * Initialize the test module
-        */
-        TInt Initialize( const TFileName& aName,
-                         const TBool aFirstTime );
-
-        /**
-        * Enumerate test cases
-        */
-        TInt EnumerateTestCases( const TFileName& aName );
-
-
-        /**
-        * Frees the enumeration data
-        */
-        TInt FreeEnumerationData();
-
-        /**
-        * Run a test case
-        */
-        void RunTestCase( const TFileName& aName,
-                          const TInt aCaseNumber,
-                          const RMessage2& aMessage );
-
-
-        /**
-        * Changes the operation, can fail
-        */
-        TInt ChangeOperation( const TOperation aOperation, 
-                              const TFileName& aNameBuffer,
-                              const TInt aInt );
-
-        /**
-        * Changes the operation
-        */
-		void ChangeOperationNoError( const TOperation aOperation,
-                                     const TInt aInt );
-
-        /**
-        * Return the operation
-        */
-        //@spe const TOperation Operation();
-        TOperation Operation();
-
-        /**
-        * Set a new execution subsession
-        */
-        void SetExecutionSubSession( CTestExecution* aExecution );
-
-        /**
-        * Pauses the thread
-        */
-        TInt PauseThread();
-
-        /**
-        * Resumes the thread
-        */
-        TInt ResumeThread();
-
-        /**
-        * Returns pointer to test cases
-        */
-        const RPointerArray<TTestCaseInfo>* TestCases() const;
-
-        /**
-        * Returns error code from operation
-        */
-        TInt& OperationErrorResult();
-
-        /**
-        * Returns error code from module
-        */
-        TInt& ModuleResult();
-
-        /**
-        * Kill the thread
-        */
-        void KillThread( const TInt aCode );
-        
-        /**
-        * Error print handler.
-        */
-        void DoErrorPrint();
-
-        /**
-        * Make sure that any of the test interference thread's won't stay
-        * to run if test case is crashed of test interference object is not
-        * deleted.
-        */ 
-        void KillTestinterferenceThread();
-
-        /**
-        * Make sure that any of the test measurement process's won't stay
-        * to run if test case is crashed of test measurement object is not
-        * deleted.
-        */
-        void KillTestMeasurement();
-
-    public: 
-    
-        /**
-        * Get semaphore handles.
-        */
-        TInt OperationStartSemHandle(){ return iOperationStartSemaphore.Handle(); };
-        TInt OperationChangeSemHandle(){ return iOperationChangeSemaphore.Handle(); };
-    
-        /** 
-        * Access to "shared" memory.
-        * Called from test thread'
-        */
-        void SetThreadContainer( CTestThreadContainer* aThread )
-            { iThreadContainer = aThread; };
-        
-        const TDesC& OperationName(){ return iOperationName; };
-
-        TDes& OperationText(){ return iOperationText; };
-        
-        TInt& OperationIntBuffer(){ return iOperationIntBuffer; };
-        
-        TOperation OperationType(){ return iOperationType; };
-        
-        const TDesC& TestModuleName();
-        const TDesC& TestModuleIniFile();
-        
-        CTestModuleIf::TExitReason& AllowedExitReason()
-            { return iAllowedExitReason; };   
-
-        TInt& AllowedExitCode(){ return iAllowedExitCode; };        
-      
-        TThreadId ServerThreadId(){ return iServerThreadId; };
-        
-        CTestExecution* TestExecution()
-            { return iCTestExecution; };
-
-        TRequestStatus* GetRequest( TRequestType aType );
-        
-        TErrorNotification& ErrorNotification(){ return iErrorPrint; };
-        
-        TInt ErrorPrintSemHandle(){ return iErrorPrintSem.Handle(); };
-        
-        /**
-        * Get title of currently running test case
-        */ 
-        void GetTestCaseTitleL(TDes& aTestCaseTitle);
-
-        /**
-         * Gets pointer to test module
-         */
-        CTestModule* GetTestModule();        
-        
-    public: // Functions from base classes
-
-        /**
-        * RunL derived from CActive handles the completed requests.
-        */
-        void RunL();
-
-        /**
-        * DoCancel derived from CActive handles the Cancel
-        */
-        void DoCancel();
-
-        /**
-        * RunError derived from CActive handles errors from active handler.
-        */
-        TInt RunError( TInt aError );
-
-    protected:  // New functions
-
-        /**
-        * By default Symbian OS constructor is private.
-        */
-        void ConstructL( const TDesC& aName, 
-                         CTestModule* aSession,
-                         const TDesC& aConfig );
-
-	private:  // New functions
-
-		/**
-        * Start and wait until operation is completed.
-        */
-        TInt StartAndWaitOperation();
-
-        /**
-        * Completes operation from test execution thread or from undertaker
-        */
-        void Complete(  const TInt aCompletionCode );
-
-        /**
-        * Function that initialise module in execution thread context.
-        */
-        TInt InitializeModuleInThread( RLibrary& aModule );
-
-        /**
-        * Function that enumerates test cases in execution thread context.
-        */
-        TInt EnumerateInThread();
-
-        /**
-        * Function that frees the enumeration data in execution thread context.
-        */
-        void FreeEnumerationDataInThread();
-
-        /**
-        * Function that executes test case in execution thread context.
-        */
-        TInt ExecuteTestCaseInThread();
-
-		
-        /**
-        * Delete a test module instance
-        */
-		void DeleteTestModule();
-
-        /**
-        * Function that resolves test case completion code
-        */
-        TInt ResolveCompletionCode( TInt aLeaveCode,
-                                    TInt aErrorCode );
-
-        /**
-        * Test case execution thread thread function
-        */
-        static TInt ExecutionThread( TAny* aParams );
-
-        /**
-        * Parse stack and heap information for TestScripter's
-        * test case (config) file.
-        */
-		TInt ReadParametersFromScriptFileL( const TDesC& aConfig,
-                                            TInt& aStackSize,
-											TInt& aHeapMinSize,
-											TInt& aHeapMaxSize );
-
-        /**
-        * Loads dynamically testmodule and calls SetRequirements()-
-		* method for test module parameter handling.
-        */
-        TInt ReadParametersFromTestModule( const TDesC& aModuleName,
-										CTestModuleParam*& aTestModuleParam );
-
-        /**
-        * Load test module dynamically. If loading is done succesfully
-		* then get test module's parameters according to version.
-        * Verifies received parameters also.
-        */
-        TInt GetTestModuleParams( const TDesC& aModuleName,
-                                    const TDesC& aConfig,
-									TInt& aStackSize,
-									TInt& aHeapMinSize,
-									TInt& aHeapMaxSize );
-
-    protected:  // Functions from base classes
-        // None
-
-    private:
-
-        /** 
-        * C++ default constructor.
-        */
-        CTestModuleContainer();
-
-    public:     // Data
-
-    protected:  // Data
-        // None
-
-    private:    // Data     
-        CTestExecution* iCTestExecution;         // Handle to "parent" test execution
-        CTestModule* iCTestModule;               // Handle to "parent"  module
-        CUnderTaker* iUnderTaker;                // Pointer to thread undertaker
-        CTestThreadContainer*   iThreadContainer;// Pointer thread container
-
-        RThread iThread;                         // Thread where test module lives in
-        TBool iUpAndRunning;                     // Is the thread running
-        TOperation iOperationType;               // What to do?
-
-        RSemaphore iOperationStartSemaphore;     // Used to wait until something to do
-        RSemaphore iOperationChangeSemaphore;    // Protects the operation changes
-
-        TPtr iOperationName;                     // Operation descriptor buffer
-        HBufC* iModuleNameBuffer;                // HBuffer for module name file;
-     
-        TInt iOperationIntBuffer;                // Transfers operation int to thread
-
-        RMessage2 iMessage;                      // Message to complete, used in RunTestCase
-
-        // Results from test module
-        TInt iModuleResult;                      // Low priority result from test module
-        TInt iErrorResult;                       // High priority error from operation
-        TRequestStatus iOperationStatus;         // Operation ongoing?
-        TThreadId iServerThreadId;               // Server thread Id. Used in completion
-		TBuf<30> iOperationText;                 // Human readable current operation for
-		
-        CTestModuleIf::TExitReason iAllowedExitReason;          // Allowed exit reason
-        TInt iAllowedExitCode;                   // Allowed exit code
-        
-        // Error print handler	    
-        CErrorPrintHandler*         iErrorPrintHandler;
-        
-        RSemaphore      iErrorPrintSem;          // Synchonize error messages
-        TErrorNotification  iErrorPrint;
-
-        // Indicates is pause operation executed. This value will be checked
-        // when test case is executed. Resume operation will be reset this
-        // value.
-        TBool  iIsPaused;
-
-		// This active scheduler is uses as a nested one        
-        CActiveSchedulerWait*       iNestedActiveScheduler;
-    
-    public:     // Friend classes
-        friend class CUnderTaker;                // Handles the thread deaths
-        friend class CErrorPrintHandler;
-
-    protected:  // Friend classes
-        // None
-
-    private:    // Friend classes
-        // None
-    };
-
-
-// DESCRIPTION
-// CTestServer is a server class.
-// Contains an object container index which provides subsessions with object containers.
-class CTestServer
-        :public CServer2
-    {
-    public: // Enumerations
-        enum { ETestServerPriority = CActive::EPriorityHigh };
-
-    private: // Enumerations
-
-    public:  // Constructors and destructor
-
-        /**
-        * NewL is first phase of two-phased constructor.
-        */
-        static CTestServer* NewL( const TFileName& aName );
-
-        /**
-        * Destructor of CTestServer.
-        */
-        ~CTestServer();
-
-    public: // New functions
-
-        /**
-        * ThreadFunction is used to create new thread.
-        */
-        static TInt ThreadFunction( TAny* aStarted );
-
-        /**
-        * Return object container, guaranteed to produce object containers with
-        * unique ids within the server.
-        */
-        CObjectCon* NewContainerL();
-
-        /**
-        * Removes a container. Needed to close session properly.
-        */
-        void DeleteContainer( CObjectCon* aContainer );
-                    
-        /**
-        * Inform Server that session is closed.
-        */
-        void SessionClosed();
-        
-        /**
-        * Returns module name
-        */
-        const TDesC& ModuleName() const;
-
-        /**
-        * Is module inside this server already initialised?
-        */
-        //@spe const TBool FirstTime() const;
-        TBool FirstTime() const;
-
-        /**
-        * Clears the module first time flag.
-        */
-        void ClearFirstTime();
-
-        /**
-        * PanicServer panics the CTestServer
-        */
-        static void PanicServer( const TTestServerPanic aPanic );
-
-        /**
-        * GetServerThreadId for ServerStateHandler Active object usage
-        */
-        TInt GetServerThreadId ();
-        
-        /**
-         * Gets CTestThreadContainerRunner pointer which is used in UI testing
-         */
-        CTestThreadContainerRunnerFactory* GetTestThreadContainerRunnerFactory();
-                
-        /**
-         * Gets information that testserver supports UI testing or not
-         */
-        TBool UiTesting();
-        
-        /**
-         * Gets pointer to UiEnvProxy.
-         */
-        CUiEnvProxy* GetUiEnvProxy();
-    public: // Functions from base classes
-
-        /**
-        * NewSessionL creates new CTestServer session.
-        */
-        CSession2* NewSessionL( const TVersion &aVersion,
-                                const RMessage2& aMessage ) const;
-
-    protected:  // New functions
-        // None
-
-    protected:  // Functions from base classes
-        // None
-
-    private:
-
-        /** 
-        * C++ default constructor.
-        */
-        CTestServer();
-
-        /**
-        * By default Symbian OS constructor is private.
-        */
-        void ConstructL( const TFileName& aName );
-
-    public:   //Data
-        // None
-    
-    protected:  // Data
-        // None
-
-    private:    // Data
-        CObjectConIx* iContainerIndex;           // Pointer to container
-        TPtr iModuleName;                        // Server name
-        HBufC* iModuleNameBuffer;                // HBuffer for module name file;
-        TBool iFirstTime;                        // Is module previously initialized?
-
-        // Container count
-        TInt                    iSessionCount;
-
-        TBool iUiTesting;						 // Indicates if it is testserver which supports UI testing
-        CTestThreadContainerRunnerFactory* iTestThreadContainerRunnerFactory; // Pointer to CTestThreadContainerRunnerFactory
-    public:     // Friend classes
-        // None
-
-    protected:  // Friend classes
-        // None
-
-    private:    // Friend classes
-        // None
-
-    };
-
-// DESCRIPTION
-// CTestCasesList is a class, which contains list of test cases assosiated with
-// specified config file.
-NONSHARABLE_CLASS( CTestCasesList ): public CBase
-    {
-public:
-    /**
-    * NewL is first phase of two-phased constructor.
-    */
-    static CTestCasesList* NewL( const TDesC& aConfigFileName );
-public:
-    /**
-    * Destructor of CTestServer.
-    */
-    ~CTestCasesList();
-
-    /**
-     * Appends test case.
-     */
-    void AppendTestCaseL( const TDesC& aTestCaseTitle );
-    
-    /**
-     * Returns specified test case title.
-     */
-    const TDesC& GetTestCaseTitleL( TInt aIndex ) const;
-    
-    /**
-     * Returns config file name.
-     */
-    const TDesC& GetConfigFileName() const;
-    
-    /**
-     * Returns count of test cases.
-     */
-    TInt Count() const;
-    
-    /**
-     * Resets list of test cases.
-     */
-    void ResetAndDestroy();
-private:
-    /** 
-    * C++ default constructor.
-    */
-    CTestCasesList();
-    
-    /**
-    * By default Symbian OS constructor is private.
-    */
-    void ConstructL( const TDesC& aConfigFileName );
-private:
-    // Config file name
-    HBufC* iConfigFileName;
-    // List of test cases
-    RPointerArray<HBufC> iTestCases;
-    };
-
-        
-// DESCRIPTION
-// CTestModule is a session class.
-// Session for the CTestServer server, to a single client-side session
-// a session may own any number of CCounter objects
-class CTestModule
-        :public CSession2
-    {    
-    public:
-        // None
-
-    private: // Enumerations
-        // None
-
-    public:  // Constructors and destructor
-
-        /**
-        * Construct a test module object.
-        */
-        static CTestModule* NewL( CTestServer* aServer );
-
-        /**
-        * Destructor
-        */
-        virtual ~CTestModule();
-
-    public: // New functions
-
-        /**
-        * Dispatch message
-        */
-        TInt DispatchMessageL( const RMessage2& aMessage );
-
-        /**
-        * Create Module Session
-        */
-        TInt CreateModuleSessionL( const RMessage2& aMessage );
-
-        /**
-        * Close the session to CTestServer.
-        */
-        TInt CloseSession( const RMessage2& aMessage );
-
-
-        /**
-        * Create CTestExecution subsession.
-        */
-        TInt NewTestExecutionL( const RMessage2& aMessage );
-
-        /**
-        * Destroy the created CTestExecution subsession.
-        * Cannot fail - can panic client.
-        */
-        void DeleteTestExecution( const TUint aHandle, const RMessage2& aMessage );
-
-        /**
-        * NumResources is used to provide reserver resources to client.
-        */
-        void NumResources( const RMessage2& aMessage );
-
-        /**
-        * Return the number of resources owned by the session.
-        */
-        TInt CountResources();
-
-        /**
-        * Enumerates test cases
-        */
-        TInt EnumerateTestCasesL( const RMessage2& aMessage );
-
-        /**
-        * Get test cases
-        */
-        TInt GetTestCasesL( const RMessage2& aMessage );
-
-        /**
-        * Handles error notifications
-        */
-        TInt HandleErrorNotificationL( const RMessage2& aMessage );
-
-        /**
-        * Get Server Thread Id
-        */
-        TInt GetServerThreadIdL( const RMessage2& aMessage );
-
-
-        /**
-        * Prints error notification
-        */
-        void ErrorPrint( const TInt aPriority, 
-                         TPtrC aError );
-
-        /**
-        * Cancels asynchronous request
-        */
-        TInt CancelAsyncRequestL( const RMessage2& aMessage );
-
-        /**
-        * Frees a test case specific data owned by module( i.e enumeration data )
-        */
-        TInt FreeCaseData();
-
-        /**
-        * Returns case corresponding handle
-        */
-        CTestExecution* CaseFromHandle( const TUint aHandle, const RMessage2& aMessage ) const;
-
-        /**
-        * Returns module initialisation file name
-        */
-        const TDesC& IniName() const;
-
-		/**
-        * Returns module name
-        */
-		const TDesC& Name() const;
-
-        /**
-        * Returns a test module.
-        */
-        TInt GetTestModule( CTestModuleContainer*& aContainer,
-                            const TDesC& aConfig );
-
-        /**
-        * Frees a test module.
-        */
-        TInt FreeTestModule( CTestModuleContainer* aModule );
-
-        /**
-        * Write is utility method.
-        */
-        void Write( const TAny* aPtr, const TDesC8& aDes, TInt anOffset = 0 );
-
-        /**
-        * PanicClient panics the user of CTestModule( RTestModule user )
-        */
-        void PanicClient( TInt aPanic, const RMessage2& aMessage ) const;
-
-        /**
-        * Get title of currently running test case
-        */ 
-        void GetTestCaseTitleL(TInt aTestCaseNumber, const TDesC& aConfigFile, TDes& aTestCaseTitle);
-
-        /**
-         * Get pointer to test server
-         */ 
-         CTestServer* GetTestServer();        
-        
-    public: // Functions from base classes
-
-        /**
-        * ServiceL handles the messages to CTestServer
-        */
-        virtual void ServiceL( const RMessage2& aMessage );
-
-
-    protected:  // New functions
-        // None
-
-    protected:  // Functions from base classes
-        // None
-
-    private:
-
-        /** 
-        * C++ default constructor.
-        */
-        CTestModule();
-
-        /**
-        * By default Symbian OS constructor is private.
-        */
-        void ConstructL( CTestServer* aServer );
-
-    public:   //Data
-        // None
-
-    
-    protected:  // Data
-        // None
-
-    private:    // Data
-        RPointerArray<CTestModuleContainer>* iTestModuleInstances; // List of FREE test modules
-        CTestServer* iTestServer;                    // Pointer to "parent"
-        CObjectCon* iContainer;                  // Object container for this session
-        CObjectIx* iTestExecutionHandle;         // Object index( stores CTestExecutions,
-                                                 // (Unclosed)subsession handle )
-
-        TInt iResourceCount;                     // Total number of resources allocated
-        TPtr iIni;                               // Module initialisation( file ) name
-        HBufC* iIniBuffer;                       // HBuffer for ini name file;
-
-        CTestModuleContainer* iEnumerateModule;  // Module used in enumeration
-
-        RMessage2 iErrorMessage;                 // Error message
-
-        TBool iErrorMessageAvailable;            // Error message available?
-        
-        RPointerArray<CTestCasesList> iTestCaseTitlesMap;    //Test case titles
-        
-    public:     // Friend classes
-        // None
-
-    protected:  // Friend classes
-        // None
-
-    private:    // Friend classes
-        // None
-
-    };
-
-
-// CLASS DECLARATION
-
-// DESCRIPTION
-// CPrintHandler class is an active object that handles print
-// indication from test thread.
-class CPrintHandler 
-    : public CActive
-    {
-
-    public:  // Enumerations
-
-    private: // Enumerations
-
-    public:  // Constructors and destructor
-
-        /**
-        * NewL is first phase of two-phased constructor.
-        */
-        static CPrintHandler* NewL( CTestExecution& aExecution );
-
-        /**
-        * Destructor of CPrintHandler.
-        */
-        virtual ~CPrintHandler();
-
-    public: // New functions
-
-        /**
-        * Start monitoring
-        */
-        void StartL();
-
-    public: // Functions from base classes
-
-        /**
-        * RunL derived from CActive handles the completed requests.
-        */
-        void RunL();
-
-        /**
-        * DoCancel derived from CActive handles the Cancel
-        */
-        void DoCancel();
-
-        /**
-        * RunError derived from CActive handles errors from active handler.
-        */
-        TInt RunError( TInt aError );
-
-    protected:  // New functions
-        // None
-
-    protected:  // Functions from base classes
-        // None
-
-    private:
-
-        /** 
-        * C++ default constructor.
-        */
-        CPrintHandler( CTestExecution& aExecution );
-       
-        /**
-        * By default Symbian OS constructor is private.
-        */
-        void ConstructL();
-
-    public:   //Data
-        // None
-    
-    protected:  // Data
-        // None
-
-    private:    // Data
-         CTestExecution&        iExecution;     // Pointer to parent
-        
-    public:     // Friend classes
-        // None
-
-    protected:  // Friend classes
-        // None
-
-    private:    // Friend classes
-        // None
-
-    };
-
-// CLASS DECLARATION
-
-// DESCRIPTION
-// CEventHandler class is an active object that handles print
-// indication from test thread.
-class CEventHandler 
-    : public CActive
-    {
-
-    public:  // Enumerations
-
-    private: // Enumerations
-
-    public:  // Constructors and destructor
-
-        /**
-        * NewL is first phase of two-phased constructor.
-        */
-        static CEventHandler* NewL( CTestExecution& aExecution );
-
-        /**
-        * Destructor of CEventHandler.
-        */
-        virtual ~CEventHandler();
-
-    public: // New functions
-
-        /**
-        * Start monitoring
-        */
-        void StartL();
-
-    public: // Functions from base classes
-
-        /**
-        * RunL derived from CActive handles the completed requests.
-        */
-        void RunL();
-
-        /**
-        * DoCancel derived from CActive handles the Cancel
-        */
-        void DoCancel();
-
-        /**
-        * RunError derived from CActive handles errors from active handler.
-        */
-        TInt RunError( TInt aError );
-
-    protected:  // New functions
-        // None
-
-    protected:  // Functions from base classes
-        // None
-
-    private:
-
-        /** 
-        * C++ default constructor.
-        */
-        CEventHandler( CTestExecution& aExecution );
-       
-        /**
-        * By default Symbian OS constructor is private.
-        */
-        void ConstructL();
-
-    public:   //Data
-        // None
-    
-    protected:  // Data
-        // None
-
-    private:    // Data
-         CTestExecution&        iExecution;     // Pointer to parent
-        
-    public:     // Friend classes
-        // None
-
-    protected:  // Friend classes
-        // None
-
-    private:    // Friend classes
-        // None
-
-    };
-
-// CLASS DECLARATION
-
-// DESCRIPTION
-// CSndHandler class is an active object that handles print
-// indication from test thread.
-class CSndHandler 
-    : public CActive
-    {
-
-    public:  // Enumerations
-
-    private: // Enumerations
-
-    public:  // Constructors and destructor
-
-        /**
-        * NewL is first phase of two-phased constructor.
-        */
-        static CSndHandler* NewL( CTestExecution& aExecution );
-
-        /**
-        * Destructor of CSndHandler.
-        */
-        virtual ~CSndHandler();
-
-    public: // New functions
-
-        /**
-        * Start monitoring
-        */
-        void StartL();
-
-    public: // Functions from base classes
-
-        /**
-        * RunL derived from CActive handles the completed requests.
-        */
-        void RunL();
-
-        /**
-        * DoCancel derived from CActive handles the Cancel
-        */
-        void DoCancel();
-
-        /**
-        * RunError derived from CActive handles errors from active handler.
-        */
-        TInt RunError( TInt aError );
-
-    protected:  // New functions
-        // None
-
-    protected:  // Functions from base classes
-        // None
-
-    private:
-
-        /** 
-        * C++ default constructor.
-        */
-        CSndHandler( CTestExecution& aExecution );
-       
-        /**
-        * By default Symbian OS constructor is private.
-        */
-        void ConstructL();
-
-    public:   //Data
-        // None
-    
-    protected:  // Data
-        // None
-
-    private:    // Data
-         CTestExecution&        iExecution;     // Pointer to parent
-        
-    public:     // Friend classes
-        // None
-
-    protected:  // Friend classes
-        // None
-
-    private:    // Friend classes
-        // None
-
-    };
-
-// CLASS DECLARATION
-
-// DESCRIPTION
-// CRcvHandler class is an active object that handles print
-// indication from test thread.
-class CRcvHandler 
-    : public CActive
-    {
-
-    public:  // Enumerations
-
-    private: // Enumerations
-
-    public:  // Constructors and destructor
-
-        /**
-        * NewL is first phase of two-phased constructor.
-        */
-        static CRcvHandler* NewL( CTestExecution& aExecution );
-
-        /**
-        * Destructor of CRcvHandler.
-        */
-        virtual ~CRcvHandler();
-
-    public: // New functions
-
-        /**
-        * Start monitoring
-        */
-        void StartL();
-
-    public: // Functions from base classes
-
-        /**
-        * RunL derived from CActive handles the completed requests.
-        */
-        void RunL();
-
-        /**
-        * DoCancel derived from CActive handles the Cancel
-        */
-        void DoCancel();
-
-        /**
-        * RunError derived from CActive handles errors from active handler.
-        */
-        TInt RunError( TInt aError );
-
-    protected:  // New functions
-        // None
-
-    protected:  // Functions from base classes
-        // None
-
-    private:
-
-        /** 
-        * C++ default constructor.
-        */
-        CRcvHandler( CTestExecution& aExecution );
-       
-        /**
-        * By default Symbian OS constructor is private.
-        */
-        void ConstructL();
-
-    public:   //Data
-        // None
-    
-    protected:  // Data
-        // None
-
-    private:    // Data
-         CTestExecution&        iExecution;     // Pointer to parent
-        
-    public:     // Friend classes
-        // None
-
-    protected:  // Friend classes
-        // None
-
-    private:    // Friend classes
-        // None
-
-    };
-        
-// CLASS DECLARATION
-
-// DESCRIPTION
-// CErrorPrintHandler class is an active object that handles print
-// indication from test thread.
-class CErrorPrintHandler 
-    : public CActive
-    {
-
-    public:  // Enumerations
-
-    private: // Enumerations
-
-    public:  // Constructors and destructor
-
-        /**
-        * NewL is first phase of two-phased constructor.
-        */
-        static CErrorPrintHandler* NewL( CTestModuleContainer& aContainer );
-
-        /**
-        * Destructor of CErrorPrintHandler.
-        */
-        virtual ~CErrorPrintHandler();
-
-    public: // New functions
-
-        /**
-        * Start monitoring
-        */
-        void StartL();
-
-    public: // Functions from base classes
-
-        /**
-        * RunL derived from CActive handles the completed requests.
-        */
-        void RunL();
-
-        /**
-        * DoCancel derived from CActive handles the Cancel
-        */
-        void DoCancel();
-
-        /**
-        * RunError derived from CActive handles errors from active handler.
-        */
-        TInt RunError( TInt aError );
-
-    protected:  // New functions
-        // None
-
-    protected:  // Functions from base classes
-        // None
-
-    private:
-
-        /** 
-        * C++ default constructor.
-        */
-        CErrorPrintHandler( CTestModuleContainer& aContainer );
-       
-        /**
-        * By default Symbian OS constructor is private.
-        */
-        void ConstructL();
-
-    public:   //Data
-        // None
-    
-    protected:  // Data
-        // None
-
-    private:    // Data
-         CTestModuleContainer&      iContainer;     // Pointer to parent
-        
-    public:     // Friend classes
-        // None
-
-    protected:  // Friend classes
-        // None
-
-    private:    // Friend classes
-        // None
-
-    };
-
-// CLASS DECLARATION
-
-// DESCRIPTION
-// CTestInterferenceHandler class is an active object that handles test
-// interference
-NONSHARABLE_CLASS( CInterferenceHandler ) 
-    : public CActive
-    {
-
-    public:  // Enumerations
-
-    private: // Enumerations
-
-    public:  // Constructors and destructor
-
-        /**
-        * NewL is first phase of two-phased constructor.
-        */
-        static CInterferenceHandler* NewL( CTestExecution& aExecution );
-
-        /**
-        * Destructor of CInterferenceHandler.
-        */
-        virtual ~CInterferenceHandler();
-
-    public: // New functions
-
-        /**
-        * Start monitoring
-        */
-        void StartL();
-
-    public: // Functions from base classes
-
-        /**
-        * RunL derived from CActive handles the completed requests.
-        */
-        void RunL();
-
-        /**
-        * DoCancel derived from CActive handles the Cancel
-        */
-        void DoCancel();
-
-        /**
-        * RunError derived from CActive handles errors from active handler.
-        */
-        TInt RunError( TInt aError );
-
-    protected:  // New functions
-        // None
-
-    protected:  // Functions from base classes
-        // None
-
-    private:
-
-        /** 
-        * C++ default constructor.
-        */
-        CInterferenceHandler( CTestExecution& aExecution );
-       
-        /**
-        * By default Symbian OS constructor is private.
-        */
-        void ConstructL();
-
-    public:   //Data
-        // None
-    
-    protected:  // Data
-        // None
-
-    private:    // Data
-         CTestExecution&        iExecution;     // Pointer to parent
-        
-    public:     // Friend classes
-        // None
-
-    protected:  // Friend classes
-        // None
-
-    private:    // Friend classes
-        // None
-
-    };
-
-
-// DESCRIPTION
-// CMeasurementHandler class is an active object that handles test
-// measurement
-NONSHARABLE_CLASS( CMeasurementHandler ) 
-    : public CActive
-    {
-
-    public:  // Enumerations
-
-    private: // Enumerations
-
-    public:  // Constructors and destructor
-
-        /**
-        * NewL is first phase of two-phased constructor.
-        */
-        static CMeasurementHandler* NewL( CTestExecution& aExecution );
-
-        /**
-        * Destructor of CMeasurementHandler.
-        */
-        virtual ~CMeasurementHandler();
-
-    public: // New functions
-
-        /**
-        * Start monitoring
-        */
-        void StartL();
-
-    public: // Functions from base classes
-
-        /**
-        * RunL derived from CActive handles the completed requests.
-        */
-        void RunL();
-
-        /**
-        * DoCancel derived from CActive handles the Cancel
-        */
-        void DoCancel();
-
-        /**
-        * RunError derived from CActive handles errors from active handler.
-        */
-        TInt RunError( TInt aError );
-
-    protected:  // New functions
-        // None
-
-    protected:  // Functions from base classes
-        // None
-
-    private:
-
-        /** 
-        * C++ default constructor.
-        */
-        CMeasurementHandler( CTestExecution& aExecution );
-
-        /**
-        * By default Symbian OS constructor is private.
-        */
-        void ConstructL();
-
-    public:   //Data
-        // None
-
-    protected:  // Data
-        // None
-
-    private:    // Data
-
-        // Pointer to test execution side
-        CTestExecution&        iExecution;
-
-    public:     // Friend classes
-        // None
-
-    protected:  // Friend classes
-        // None
-
-    private:    // Friend classes
-        // None
-
-    };
-
-/**
-* Check is module TestScripter. Does parsing and returns new module name and
-* error codes(Needed operations when creating server sessions to TestScripter).
-*/
-TInt CheckModuleName( TFileName aModuleName, TFileName& aNewModuleName );
-
-/**
-* Remove optional index appended to module name.
-* If it is found (@ char) then set new module name without it.
-* This feature is used when iSeparateProcesses is set in TestEngine.
-*/
-void RemoveOptionalIndex(const TDesC& aModuleName, TDes& aNewModuleName);
-
-// DESCRIPTION
-// CEventHandler class is an active object that handles print
-// indication from test thread.
-NONSHARABLE_CLASS(CCommandHandler)
-    : public CActive
-    {
-
-    public:  // Enumerations
-
-    private: // Enumerations
-
-    public:  // Constructors and destructor
-
-        /**
-        * NewL is first phase of two-phased constructor.
-        */
-        static CCommandHandler* NewL(CTestExecution& aExecution);
-
-        /**
-        * Destructor of CCommandHandler.
-        */
-        virtual ~CCommandHandler();
-
-    public: // New functions
-
-        /**
-        * Start monitoring
-        */
-        void StartL();
-
-    public: // Functions from base classes
-
-        /**
-        * RunL derived from CActive handles the completed requests.
-        */
-        void RunL();
-
-        /**
-        * DoCancel derived from CActive handles the Cancel
-        */
-        void DoCancel();
-
-        /**
-        * RunError derived from CActive handles errors from active handler.
-        */
-        TInt RunError(TInt aError);
-
-    protected:  // New functions
-        // None
-
-    protected:  // Functions from base classes
-        // None
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CCommandHandler(CTestExecution& aExecution);
-
-        /**
-        * By default Symbian OS constructor is private.
-        */
-        void ConstructL();
-
-    public:   //Data
-        // None
-
-    protected:  // Data
-        // None
-
-    private:    // Data
-         CTestExecution&        iExecution;     // Pointer to parent
-
-    public:     // Friend classes
-        // None
-
-    protected:  // Friend classes
-        // None
-
-    private:    // Friend classes
-        // None
-
-    };
-
-#endif // TEST_SERVER_H
-
-// End of File