stif/StifTFwIf/src/UIEngine.cpp
changeset 38 169364e7e4b4
parent 34 7259cf1302ad
child 45 185201be11b0
--- a/stif/StifTFwIf/src/UIEngine.cpp	Tue Jul 06 16:05:13 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1310 +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: CUIEngine: This object executes test cases from 
-* STIF Test Framework.
-* 
-*/
-
-// INCLUDE FILES
-#include <e32base.h>
-#include <e32svr.h>
-#include <collate.h>
-#include "UIEngineEvent.h"
-#include <stifinternal/UIEngineContainer.h>
-#include "UIEngineError.h"
-#include <stifinternal/UIEngine.h>
-#include "Logging.h"
-
-// EXTERNAL DATA STRUCTURES
-// None
-
-// EXTERNAL FUNCTION PROTOTYPES
-// None
-
-// CONSTANTS
-_LIT( KUIEngine, "CUIEngine" );
-
-// MACROS
-#ifdef LOGGER
-#undef LOGGER
-#endif
-#define LOGGER iLogger
-
-// LOCAL CONSTANTS AND MACROS
-// None
-
-// MODULE DATA STRUCTURES
-// None
-
-// LOCAL FUNCTION PROTOTYPES
-// None
-
-// FORWARD DECLARATIONS
-// None
-
-// ==================== LOCAL FUNCTIONS ======================================= 
-
-// ================= MEMBER FUNCTIONS =========================================
-
-/*
--------------------------------------------------------------------------------
-
-    Class: CUIEngine
-
-    Method: CUIEngine
-
-    Description: Default constructor
-
-    C++ default constructor can NOT contain any code, that
-    might leave.
-    
-    Parameters: None
-    
-    Return Values: None
-
-    Errors/Exceptions: None
-
-    Status: Draft
-
--------------------------------------------------------------------------------
-*/
-CUIEngine::CUIEngine( CUIIf* aUi  ):
-    iUi( aUi )
-    {
-
-    __RDEBUG( _L( "CUIEngine::CUIEngine()" ) );
-    
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: CUIEngine
-
-    Method: ConstructL
-
-    Description: Symbian OS second phase constructor
-
-    Symbian OS default constructor can leave.
-
-    Parameters: None
-
-    Return Values: None
-
-    Errors/Exceptions: Leaves if called Open method returns error
-
-    Status: Draft
-
--------------------------------------------------------------------------------
-*/
-void CUIEngine::ConstructL()
-    {
-    // Logger's setting definitions
-    TLoggerSettings loggerSettings;
-    loggerSettings.iCreateLogDirectories = EFalse;
-    loggerSettings.iOverwrite = ETrue;
-    loggerSettings.iTimeStamp = ETrue;
-    loggerSettings.iLineBreak = ETrue;
-    loggerSettings.iEventRanking = EFalse;
-    loggerSettings.iThreadId = EFalse;
-    loggerSettings.iHardwareFormat = CStifLogger::ETxt;
-    loggerSettings.iHardwareOutput = CStifLogger::EFile;
-    loggerSettings.iEmulatorFormat = CStifLogger::ETxt;
-    loggerSettings.iEmulatorOutput = CStifLogger::EFile;
-    loggerSettings.iUnicode = EFalse;
-    loggerSettings.iAddTestCaseTitle = EFalse;
-
-    // Create Logger, Note: Use protected NewL because initialization file not
-    // readed yet.
-    iLogger = CStifLogger::NewL( KUiLogDir, KUiLogFile, loggerSettings );
-    
-    // Initialize logger    
-    iUi->InitializeLogger( iLogger );
-
-    }
-
-
-/*
--------------------------------------------------------------------------------
-
-    Class: CUIEngine
-
-    Method: NewL
-
-    Description: Two-phased constructor.
-    
-    Parameters: None
-    
-    Return Values: CUIEngine* : Pointer to created UI engine object
-
-    Errors/Exceptions: Leaves if memory allocation for CUIEngine fails
-                       Leaves if ConstructL leaves
-
-    Status: Draft
-
--------------------------------------------------------------------------------
-*/
-CUIEngine* CUIEngine::NewL( CUIIf* aUi )
-    {
-    
-    CUIEngine* self =  
-        new ( ELeave ) CUIEngine( aUi );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    
-    }
-
-
-
-/*
--------------------------------------------------------------------------------
-
-    Class: CUIEngine
-
-    Method: ~CUIEngine
-
-    Description: Destructor
-    
-    Parameters: None
-
-    Return Values: None
-
-    Errors/Exceptions: None
-
-    Status: Draft
-
--------------------------------------------------------------------------------
-*/
-CUIEngine::~CUIEngine()
-    {
-    
-    __RDEBUG( _L( "CUIEngine::~CUIEngine()" ) );
-    
-    // Delete all containers, cannot use ResetAndDestroy,
-    // because destructor is private
-    TInt count = iContainerArray.Count();
-    for( TInt i=0; i< count; i++ )
-        {
-        delete iContainerArray[i];
-        }
-    iContainerArray.Reset();    
-    iContainerArray.Close();
-
-    delete iLogger;
-    iLogger = NULL;
-    
-    delete iError;
-    iError = 0;
-        
-    }
-
-
-/*
--------------------------------------------------------------------------------
-
-    Class: VUIEngine
-
-    Method: Open
-
-    Description: Open test engine.
-
-    Parameters: TDesC& aTestFrameworkIni: in: Initialization file to Test Framework
-
-    Return Values: Symbian OS error: Error code
-
-    Errors/Exceptions: None
-
-    Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TInt CUIEngine::Open( const TDesC& aTestFrameworkIni )
-    {
-    
-    if( ( iTestEngine.SubSessionHandle() != 0 ) ||
-        ( iTestEngineServ.Handle() != 0 ) )
-        {
-        __TRACE( KError, ( CStifLogger::EError, _L( "CUIEngine::Open() Already open" ) ) );
-        return KErrInUse;     
-        }
-
-    // Check aTestFrameworkIni max length
-    if( aTestFrameworkIni.Length() > KMaxFileName )
-        {
-        __TRACE( KPrint, ( CStifLogger::EError, _L( "CUIEngine::Open() method's parameter length is incorrect" ) ) );
-        return KErrArgument;        
-        }
-
-    // Create Test Engine
-    TInt ret = iTestEngineServ.Connect();
-
-    if ( ret != KErrNone )
-        {
-        __TRACE( KPrint, ( _L( "CUIEngine::Open. Engine server open failed: ret = %d"), ret ) );
-
-        return ret;
-        }
-
-    ret = iTestEngine.Open( iTestEngineServ, aTestFrameworkIni );
-
-    if ( ret != KErrNone )
-        {
-        __TRACE( KPrint, ( _L( "CUIEngine::Open. Engine. Open failed: ret = %d"), ret ) );
-
-        return ret;
-        }
-
-    TErrorNotification error;
-    if( ErrorPrint( error ) != KErrNotSupported )
-        {
-        // Start printer
-        iError = CUIEngineErrorPrinter::NewL( this );
-        iError->StartL( iTestEngine );
-        }
-
-    return ret;
-    }
-
-
-/*
--------------------------------------------------------------------------------
-
-    Class: CUIEngine
-
-    Method: Close
-
-    Description: Close test engine.
-
-    Parameters: None
-
-    Return Values: TInt KErrNone: Always returned KErrNone
-
-    Errors/Exceptions: None
-
-    Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TInt CUIEngine::Close()
-    {
-    
-    delete iError;
-    iError = 0;
-    
-    // Delete all containers, cannot use ResetAndDestroy,
-    // because destructor is private
-    TInt count = iContainerArray.Count();
-    for( TInt i=0; i< count; i++ )
-        {
-        delete iContainerArray[i];
-		iContainerArray[i] = NULL;
-        }
-    iContainerArray.Reset();
-    
-    iTestEngine.Close();
-    iTestEngineServ.Close();
-
-    __TRACE( KPrint, ( _L( "CUIEngine::Close." ) ) );
-
-    return KErrNone;
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: CUIEngine
-
-    Method: AddTestModule
-
-    Description: Add test module to module list of test engine
-
-    Parameters: TDesC& aModuleName: in: Testmodule, which is added to module list
-                TDesC& aIniFile: in: Initialization file to the test module
-
-    Return Values: Symbian OS error: Error code
-
-    Errors/Exceptions: None
-
-    Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TInt CUIEngine::AddTestModule( const TDesC& aModuleName, 
-                               const TDesC& aIniFile )
-    {
-    // Check aModuleName max length
-    if( aModuleName.Length() > KMaxName )
-        {
-        __TRACE( KPrint, ( CStifLogger::EError, _L( "CUIEngine::AddTestModule() method's first parameter length is incorrect" ) ) );
-        return KErrArgument;        
-        }
-    // Check aIniFile max length
-    if( aIniFile.Length() > KMaxFileName )
-        {
-        __TRACE( KPrint, ( CStifLogger::EError, _L( "CUIEngine::AddTestModule() method's second parameter length is incorrect" ) ) );
-        return KErrArgument;        
-        }    
-
-
-    TInt ret = iTestEngine.AddTestModule( aModuleName, aIniFile );
-
-    if ( ret != KErrNone && ret != KErrAlreadyExists )
-        {
-		__TRACE( KPrint, ( _L( "CUIEngine::AddTestModule. Add module failed: ret = %d" ), ret  ) );
-
-        return ret;
-        }
-
-    return KErrNone;
-    
-    }
-
-
-/*
--------------------------------------------------------------------------------
-
-    Class: CUIEngine
-
-    Method: RemoveTestModule
-
-    Description: Remove test module from test engine
-
-    Parameters: TDesC& aModuleName: in: Testmodule, which is removed of module list
-
-    Return Values: Symbian OS error: Error code
-
-    Errors/Exceptions: None
-
-    Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TInt CUIEngine::RemoveTestModule( const TDesC& aModuleName )
-    {
-    // Remove test module of module list of test engine
-    TInt ret = iTestEngine.RemoveTestModule( aModuleName );
-
-    if ( ret != KErrNone )
-        {
-        __TRACE( KPrint, ( _L( "CUIEngine::RemoveTestModule. Remove module failed: ret = %d"), ret  ) );
-
-        return ret;
-        }
-
-    return ret;
-    }
-
-
-/*
--------------------------------------------------------------------------------
-
-    Class: CUIEngine
-
-    Method: AddTestCaseFile
-
-    Description: Add test case file to test case file list of test engine
-
-    Parameters: TDesC& aModuleName: in: Testmodule, which own test cases of test case list.
-                TDesC& aCaseFile: in: Test case list, which is added to test case list
-
-    Return Values: Symbian OS error: Error code
-
-    Errors/Exceptions: None
-
-    Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TInt CUIEngine::AddTestCaseFile( const TDesC& aModuleName, 
-                                 const TDesC& aCaseFile )
-    {
-    // Check aModuleName max length
-    if( aModuleName.Length() > KMaxName )
-        {
-        __TRACE( KPrint, ( CStifLogger::EError, _L( "CUIEngine::AddTestCaseFile() method's first parameter length is incorrect" ) ) );
-        return KErrArgument;        
-        }
-    // Check aCaseFile max length
-    if( aCaseFile.Length() > KMaxFileName )
-        {
-        __TRACE( KPrint, ( CStifLogger::EError, _L( "CUIEngine::AddTestCaseFile() method's second parameter length is incorrect" ) ) );
-        return KErrArgument;        
-        }
-    
-    TInt ret( KErrNone );
-
-    // Add given test case file to test module
-    if ( aCaseFile.Length() == 0 )
-        {
-        ret = KErrArgument;
-        __TRACE( KPrint, (  _L( "CUIEngine::AddTestCaseFile. Test case file not defined: ret = %d"), ret  ) );
-        }
-    else
-        {
-        // Add test case file to test case file list of test engine 
-        ret = iTestEngine.AddConfigFile( aModuleName, aCaseFile );
-
-        if ( ret != KErrNone && ret != KErrAlreadyExists )
-            {
-            __TRACE( KPrint, ( _L( "CUIEngine::AddTestCaseFile. Add test case file failed: ret = %d"), ret  ) );
-            }
-        }
-
-    return ret;
-    }
-
-
-/*
--------------------------------------------------------------------------------
-
-    Class: CUIEngine
-
-    Method: RemoveTestCaseFile
-
-    Description: Remove test case file of test case file list of test engine
-
-    Parameters: TDesC& aModuleName: in: Testmodule, which own test cases of test case list
-                TDesC& aCaseFile: in: Test case list, which is removed of test case list
-
-    Return Values: Symbian OS error: Error code
-
-    Errors/Exceptions: None
-
-    Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TInt CUIEngine::RemoveTestCaseFile( const TDesC& aModuleName, 
-                                    const TDesC& aCaseFile )
-    {   
-    
-    TInt ret( KErrNone );
-
-    // Remove given test case file from test module
-    if ( aCaseFile.Length() == 0 )
-        {
-        ret = KErrArgument;
-        __TRACE( KPrint, (  _L( "CUIEngine::RemoveTestCaseFile. Test case file not defined: ret = %d"), ret  ) );
-        }
-    else
-        {
-        // Remove test case file  
-        ret = iTestEngine.RemoveConfigFile( aModuleName, aCaseFile );
-
-        if ( ret != KErrNone )
-            {
-            __TRACE( KPrint, ( _L( "CUIEngine::RemoveTestCaseFile. Remove test case file failed: ret = %d"), ret  ) );
-            }
-        }
-
-    return ret;
-
-    }
-
-
-/*
--------------------------------------------------------------------------------
-
-    Class: CUIEngine
-
-    Method: GetTestCases
-
-    Description: Get test cases of enumerated list of test engine. Method is copied 
-                 list of test cases to aTestCaseInfo. Copied tests are test cases 
-                 of test module (aTestModule) and defined
-                 in test case file (aTestCaseFile), which are given as argument
-
-                 Method copied all enumerated test cases if aTestModule
-                 and aTestCaseFile are not defined
-    
-    Parameters: RPointerArray<CTestInfo>& aTestCaseInfo: inout: List of test cases
-                TDesC& aModuleName: in: Testmodule, which own test cases of test case list
-                TDesC& aTestCaseFile: in: Test case list, which is got of test case list
-
-    Return Values: Symbian OS error: Error code
-
-    Errors/Exceptions: None
-
-    Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TInt CUIEngine::GetTestCasesL( RPointerArray<CTestInfo>& aTestCaseInfo,
-                               const TDesC& aTestModule, 
-                               const TDesC& aTestCaseFile )
-    { 
-	__TRACE( KPrint, (  _L( "GetTestCasesL()") ) );
-
-    TInt ret(KErrNone);
-    TInt count(0);
-
-    // Enumerate test cases
-    TCaseCount caseCount;
-
-    TRequestStatus status;
-    iTestEngine.EnumerateTestCases( caseCount, status );
-    User::WaitForRequest( status );
-    ret = status.Int();
-
-    // Check that enumerate succeeded
-    if ( ret != KErrNone )
-        {
-        __TRACE( KPrint, (  _L( "CUIEngine::GetTestCases. Test case enumerate failed: ret = %d"), ret ) );
-        TErrorNotification error;
-        error.iText = _L("Can't get test cases");
-        iUi->ErrorPrint ( error );  
-        return ret;
-        }
-
-    CFixedFlatArray<TTestInfo>* testCases = NULL;
-
-    // Create test cases to buffer
-    TRAPD( err, testCases = CFixedFlatArray<TTestInfo>::NewL( caseCount() ) );
-    if( err != KErrNone )
-        {        
-        if( err == KErrNoMemory )
-            {
-            _LIT( KNotEnoughHeapMemory, 
-                "Not enough heap memory available. Either reduce the test case count or increase UI's heap size in mmp file using EPOCHEAPSIZE.");
-            RDebug::Print( KNotEnoughHeapMemory );
-        	__TRACE( KError, ( KNotEnoughHeapMemory ) );        
-        	}
-        else
-           {
-            _LIT( KGeneralError,
-                "CUIEngine::GetTestCasesL: CFixedFlatArray<TTestInfo>::NewL fails with value: %d");
-            RDebug::Print( KGeneralError, err );
-        	__TRACE( KError, ( KGeneralError, err ) );                   
-           }        	
-        User::Leave( err );
-        }    
-            
-    CleanupStack::PushL( testCases );
-
-    // Get test cases from Engine.
-    ret = iTestEngine.GetTestCases( *testCases );
-
-    if ( ret != KErrNone )
-        {
-        __TRACE( KPrint, (  _L( "CUIEngine::GetTestCases. Get test cases failed: ret = %d"), ret ) );
-
-        CleanupStack::PopAndDestroy( testCases );
-        return ret;
-        }
-
-    // count of test cases.
-    count = caseCount();
-
-    __TRACE( KPrint, (  _L( "Test case count: %d"), count ) );
-    
-    HBufC* moduleNameBuf = aTestModule.AllocLC();
-    TPtr moduleName( moduleNameBuf->Des() );
-    TCollationMethod method = 
-        *Mem::CollationMethodByIndex(0); // get the standard method
-    method.iFlags |= TCollationMethod::EFoldCase; // ignore case
-
-    moduleName.LowerCase();
-
-    // Remove optional '.DLL' from test module file name
-    TParse parse;
-    parse.Set( moduleName, NULL, NULL );
-    
-    if( !parse.Ext().CompareC(  _L(".dll"), 3, &method ) )
-        {
-        const TInt len = parse.Ext().Length();
-        moduleName.Delete ( moduleName.Length()-len, len );
-        }
-        
-    TBool found = EFalse;
-    // Update iTestCaseTable.
-    for (TInt j=0;j<count;j++, found = EFalse)
-        {
-        // Check, if module defined.
-        if ( aTestModule.Length() > 0 )
-            {
-            // Check, if test case defined.
-            if ( aTestCaseFile.Length() > 0)
-                {
-                if( moduleName == KTestScripterName )
-                    {
-                    if( !( *testCases )[j].iConfig.CompareC( aTestCaseFile, 3, &method ) )
-                        {
-                        found = ETrue;
-                        }
-                    }
-                if( !( *testCases )[j].iModuleName.CompareC( moduleName, 3, &method )
-                    && !( *testCases )[j].iConfig.CompareC( aTestCaseFile, 3, &method ) )
-                    {
-                    found = ETrue;
-                    }
-                }
-            else
-                {
-                if( moduleName == KTestScripterName )
-                    {
-                    // Test Module is TestScripter
-                    if( ( *testCases )[j].iModuleName.Find( KTestScripterName ) != KErrNotFound )
-                        {
-                        // iModuleName name is in 'testscripter_testcasefile'
-                        // format => Find()
-                        found = ETrue;
-                        }
-                    }
-                if( !( *testCases )[j].iModuleName.CompareC( 
-                                            moduleName, 3, &method ) )
-                    {
-                    found = ETrue;
-                    }
-                }
-            }
-        else
-            {
-            found = ETrue;
-            }
-        
-        if( found )
-            {
-            // Create tmpTestInfo.
-            CTestInfo *tmpTestInfo = CTestInfo::NewL();
-             
-            CleanupStack::PushL( tmpTestInfo );            
-
-            // Copy TTestInfo to CTestInfo.
-            tmpTestInfo->SetModuleName( ( *testCases )[j].iModuleName );
-            tmpTestInfo->SetTestCaseTitle( ( *testCases )[j].iTestCaseInfo.iTitle );
-            tmpTestInfo->SetTestCaseNumber( ( *testCases )[j].iTestCaseInfo.iCaseNumber );
-            tmpTestInfo->SetPriority( ( *testCases )[j].iTestCaseInfo.iPriority );
-            tmpTestInfo->SetTimeout( ( *testCases )[j].iTestCaseInfo.iTimeout );
-            tmpTestInfo->SetTestCaseFile( ( *testCases )[j].iConfig );
-            ret = aTestCaseInfo.Append(tmpTestInfo);
-            if( ret != KErrNone )
-                {
-                CleanupStack::PopAndDestroy( tmpTestInfo );
-                }
-            else
-                {
-                CleanupStack::Pop( tmpTestInfo );
-                }
-            }
-        }
-    
-    CleanupStack::PopAndDestroy( moduleNameBuf );
-
-    CleanupStack::PopAndDestroy( testCases );
-
-    return ret;
-    }
-
-
-/*
--------------------------------------------------------------------------------
-
-    Class: CUIEngine
-
-    Method: StartTestCase
-
-    Description: Start test case execution.
-
-    Parameters: TInt& aTestId: in: ID for test case. Test ID given of address of
-                current UIEngineContainer.
-
-                const CTestInfo& aTestInfo: in: Test case information
-
-    Return Values: Symbian OS error: Error code
-
-    Errors/Exceptions: None
-
-    Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TInt CUIEngine::StartTestCase( CUIEngineContainer*& aContainer,
-                              const CTestInfo& aTestInfo )
-    {
-    TInt ret( KErrNone );
-
-    // Copy CTestInfo to TTestInfo.
-    TTestInfo testCase; 
-    testCase.iModuleName = aTestInfo.ModuleName();
-    testCase.iTestCaseInfo.iTitle = aTestInfo.TestCaseTitle();
-    testCase.iTestCaseInfo.iCaseNumber = aTestInfo.TestCaseNum();
-    testCase.iTestCaseInfo.iPriority = aTestInfo.Priority();
-    testCase.iTestCaseInfo.iTimeout = aTestInfo.Timeout();
-    testCase.iConfig = aTestInfo.TestCaseFile();
-
-    CUIEngineContainer* container = NULL;
-    TRAP( ret,
-        // Create container.
-        container = 
-            CUIEngineContainer::NewL( this, testCase, iTestEngineServ, iTestEngine );
-    );
-    if( ret != KErrNone )
-        {
-        return ret;
-        }
-    
-    ret = iContainerArray.Append( container );
-    if( ret != KErrNone )
-        {
-        __TRACE( KError, ( CStifLogger::EError, 
-            _L( "CUIEngine::StartTestCase() Append failed, cannot start test case" ) ) );
-        delete container;
-        return ret;
-        }
-        
-    // Call Container to starting test case execution.
-    TRAPD( trapError,
-    // Call Container to starting test case execution.
-    ret = container->StartContainerL();
-    );
-
-    if(trapError != KErrNone)
-        {
-        __TRACE( KPrint, (  _L( "CUIEngine::StartTestCase. Test case starting failed: trapError = %d"), ret ) );
-        delete container;
-        return trapError;
-        }
-        
-    aContainer = container;
-
-    return ret;
-    
-    }
-    
-/*
--------------------------------------------------------------------------------
-
-    Class: CUIEngine
-
-    Method: AbortStartedTestCase
-
-    Description: Abort started test case execution.
-
-    Parameters: CUIEngineContainer* aContainer: in: Container running testcase
-
-    Return Values: Symbian OS error: Error code
-
-    Errors/Exceptions: Panics if test case is not found or is already executed
-
-    Status: Draft
-
--------------------------------------------------------------------------------
-*/
-void CUIEngine::AbortStartedTestCase( CUIEngineContainer* aContainer )
-    {
-    
-    // Locate container from array
-    TInt index = iContainerArray.Find( aContainer );
-    
-    if( ( index < 0) ||
-        ( aContainer->State() == CUIEngineContainer::EExecuted ) )
-        {
-        __TRACE( KError, ( CStifLogger::EError, 
-            _L( "CUIEngine::AbortStartedTestCase() Testcase executed" ) ) );
-        User::Panic( KUIEngine, KErrAccessDenied );
-        }
-        
-    // Remove and delete container
-    iContainerArray.Remove( index );
-    delete aContainer;
-    
-    }
-
-    
-/*
--------------------------------------------------------------------------------
-
-    Class: CUIEngine
-
-    Method: TestExecuted
-
-    Description: 
-
-    Parameters: CUIEngineContainer* aUIEngineContainer: Address of current
-                CUIEngineContainer is test case ID.
-
-                TFullTestResult& aFullTestResult: in: Test result of executed test case
-
-    Return Values: TInt KErrNone: Always returned KErrNone
-
-    Errors/Exceptions: None
-
-    Status: Draft
-
--------------------------------------------------------------------------------
-*/
-void CUIEngine::TestExecuted( CUIEngineContainer* aContainer, 
-                               TFullTestResult& aFullTestResult )
-    {
-     // Locate container from array
-    TInt index = iContainerArray.Find( aContainer );
-    
-    if( index < 0 )
-        {
-        __TRACE( KError, ( CStifLogger::EError, 
-            _L( "CUIEngine::TestExecuted() Testcase not found" ) ) );
-        User::Panic( KUIEngine, KErrNotFound );
-        }
-    
-    iUi->TestExecuted( aContainer, aFullTestResult );
-    
-    // Remove and delete container.
-    // It is safe to do here,
-    // because container and runner does not have any code after
-    // this function returns.
-    iContainerArray.Remove( index );
-    delete aContainer;
-   
-    }
-
-
-/*
--------------------------------------------------------------------------------
-
-    Class: CUIEngine
-
-    Method: PrintProg
-
-    Description: 
-
-    Parameters: CUIEngineContainer* aContainer: in: Address of current
-                CUIEngineContainer is test case ID
-
-                TTestProgress& aProgress: in: Progress information from test case
-
-    Return Values: SymbianOS error code
-
-    Errors/Exceptions: None
-
-    Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TInt CUIEngine::PrintProg( CUIEngineContainer* aContainer, 
-                          TTestProgress& aProgress )
-    {
-
-    return iUi->PrintProg( aContainer, aProgress );
-        
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: CUIEngine
-
-    Method: ErrorPrint
-
-    Description: 
-
-    Parameters: TErrorNotification& aError: in: Error information from framework
-
-    Return Values: SymbianOS error code
-
-    Errors/Exceptions: None
-
-    Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TInt CUIEngine::ErrorPrint( TErrorNotification& aError )
-    {
-
-    return iUi->ErrorPrint( aError );
-        
-    }
-   
-/*
--------------------------------------------------------------------------------
-
-    Class: CUIEngine
-
-    Method: RemoteMsg
-
-    Description: Forward Ats send.
-
-    Parameters: const TDesC& aMessage: in: message
-    
-    Return Values: SymbianOS error code
-
-    Errors/Exceptions: None
-
-    Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TInt CUIEngine::RemoteMsg( CUIEngineContainer* aContainer, 
-                           const TDesC& aMessage )
-    {
-
-    return iUi->RemoteMsg( aContainer, aMessage );
-        
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: CUIEngine
-
-    Method: GoingToReboot
-
-    Description: Forward reboot indication.
-
-    Parameters: None
-    
-    Return Values: SymbianOS error code
-
-    Errors/Exceptions: None
-
-    Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TInt CUIEngine::GoingToReboot( CUIEngineContainer* aContainer,
-                               TRequestStatus& aStatus )
-    {
-
-    return iUi->GoingToReboot( aContainer, aStatus );
-        
-    }
-
-
-/*
--------------------------------------------------------------------------------
-
-    DESCRIPTION
-
-    CTestInfo: This object contains test case information.
-
--------------------------------------------------------------------------------
-*/
-
-// ================= MEMBER FUNCTIONS =========================================
-
-
-/*
--------------------------------------------------------------------------------
-
-    Class: CTestInfo
-
-    Method: NewL
-
-    Description:
-
-    Parameters: None
-
-    Return Values: None
-
-    Errors/Exceptions: None
-
-    Status: Draft
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C CTestInfo* CTestInfo::NewL()
-    {
-    
-    //RDebug::Print(_L("CTestInfo::NewL()"));
-    CTestInfo* self =  
-        new ( ELeave ) CTestInfo();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: CTestInfo
-
-    Method: CTestInfo
-
-    Description: Default constructor
-
-    C++ default constructor can NOT contain any code, that
-    might leave.
-    
-    Parameters: None
-    
-    Return Values: None
-
-    Errors/Exceptions: None
-
-    Status: Draft
-
--------------------------------------------------------------------------------
-*/
-CTestInfo::CTestInfo()
-    {
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: CTestInfo
-
-    Method: ConstructL
-
-    Description: Symbian OS second phase constructor
-
-    Symbian OS default constructor can leave.
-
-    Parameters: None
-
-    Return Values: None
-
-    Errors/Exceptions: Leaves if called Open method returns error
-
-    Status: Draft
-
--------------------------------------------------------------------------------
-*/
-void CTestInfo::ConstructL()
-    {   
-    }
-    
-/*
--------------------------------------------------------------------------------
-
-    Class: CTestInfo
-
-    Method: ~CTestInfo
-
-    Description: Destructor
-    
-    Parameters: None
-
-    Return Values: None
-
-    Errors/Exceptions: None
-
-    Status: Draft
-
--------------------------------------------------------------------------------
-*/
-CTestInfo::~CTestInfo()
-    {
-    
-    delete iModuleNameBuf;
-    delete iTitleBuf;
-    delete iTestCaseFileBuf;
-    iModuleNameBuf = 0;
-    iTitleBuf = 0;
-    iTestCaseFileBuf = 0;
-    
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: CTestInfo
-
-    Method: SetModuleName
-
-    Description: Set module name.
-    
-    Parameters: None
-
-    Return Values: Symbian OS error code
-
-    Errors/Exceptions: None
-
-    Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TInt CTestInfo::SetModuleName ( const TDesC& aModuleName ) 
-    {
-    
-    iModuleName.Set(0,0); 
-    delete iModuleNameBuf;
-
-    if( aModuleName.Length() < KTestScripterNameLength )
-		{
-		iModuleNameBuf = aModuleName.Alloc();
-		}
-    else
-        {
-        // Check is TestScripter
-	    TPtrC check( aModuleName.Mid( 0, KTestScripterNameLength ) );
-	    TInt ret = check.Compare( KTestScripterName );
-	    if( ret == KErrNone )
-		    {
-            iModuleNameBuf = ( aModuleName.Mid( 0, KTestScripterNameLength ) ).Alloc();
-		    }
-	    else
-		    {
-		    iModuleNameBuf = aModuleName.Alloc();
-		    }
-        }
-
-    if( iModuleNameBuf == NULL )
-        {
-        return KErrNoMemory;
-        }
-    
-    iModuleName.Set( iModuleNameBuf->Des() ); 
-    
-    return KErrNone;
-    
-    }
-    
-/*
--------------------------------------------------------------------------------
-
-    Class: CTestInfo
-
-    Method: SetTestCaseTitle
-
-    Description: Set module name.
-    
-    Parameters: None
-
-    Return Values: Symbian OS error code
-
-    Errors/Exceptions: None
-
-    Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TInt CTestInfo::SetTestCaseTitle ( const TDesC& aTitle )
-    { 
-    
-    iTitle.Set(0,0); 
-    delete iTitleBuf;
-    iTitleBuf = aTitle.Alloc();
-    if( iTitleBuf == NULL )
-        {
-        return KErrNoMemory;
-        }
-    
-    iTitle.Set( iTitleBuf->Des() ); 
-    
-    return KErrNone;
-    
-    };
-    
-/*
--------------------------------------------------------------------------------
-
-    Class: CTestInfo
-
-    Method: SetTestCaseFile
-
-    Description: Set test case file name.
-    
-    Parameters: None
-
-    Return Values: Symbian OS error code
-
-    Errors/Exceptions: None
-
-    Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TInt CTestInfo::SetTestCaseFile ( const TDesC& aTestCaseFile )
-    { 
-    iTestCaseFile.Set(0,0); 
-    delete iTestCaseFileBuf;
-    iTestCaseFileBuf = aTestCaseFile.Alloc();
-    if( iTestCaseFileBuf == NULL )
-        {
-        return KErrNoMemory;
-        }
-    
-    iTestCaseFile.Set( iTestCaseFileBuf->Des() );
-    
-    return KErrNone;
-     
-    };
-
-
-/*
--------------------------------------------------------------------------------
-
-    Class: CTestInfo
-
-    Method: CopyL
-
-    Description: Copy existing CTestInfo.
-    
-    Parameters: None
-
-    Return Values: None
-
-    Errors/Exceptions: Leaves on error
-
-    Status: Draft
-
--------------------------------------------------------------------------------
-*/
-void CTestInfo::CopyL( const CTestInfo& aTestInfo )
-    {
-
-    User::LeaveIfError( SetModuleName( aTestInfo.ModuleName() ));
-    User::LeaveIfError( SetTestCaseTitle( aTestInfo.TestCaseTitle() ));
-    User::LeaveIfError( SetTestCaseFile( aTestInfo.TestCaseFile() ));
-    
-    iCaseNumber = aTestInfo.TestCaseNum();
-    iPriority = aTestInfo.Priority();
-    iTimeout = aTestInfo.Timeout();
-    iExpectedResult = aTestInfo.ExpectedResult();
-    
-    }
-    
-/*
--------------------------------------------------------------------------------
-
-    Class: CTestInfo
-
-    Method: SetTestCaseFile
-
-    Description: Set test case file name.
-    
-    Parameters: None
-
-    Return Values: Symbian OS error code
-
-    Errors/Exceptions: None
-
-    Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TBool CTestInfo::operator== ( const CTestInfo& aTestInfo ) const
-    {
-    
-    if( ( aTestInfo.ModuleName() == ModuleName() ) &&
-        ( aTestInfo.Priority() == Priority() ) &&
-        ( aTestInfo.TestCaseFile() == TestCaseFile() ) &&
-        ( aTestInfo.TestCaseNum() == TestCaseNum() ) &&
-        ( aTestInfo.Timeout() == Timeout() ) )
-        {
-        return ETrue;
-        }
-        
-             
-    return EFalse;
-    
-    }
-    
-// ================= OTHER EXPORTED FUNCTIONS ================================= 
-
-// End of File