stif/TestServer/src/TestServerClient.cpp
branchRCL_3
changeset 19 07b41fa8d1dd
parent 18 3406c99bc375
child 20 ca8a1b6995f6
--- a/stif/TestServer/src/TestServerClient.cpp	Thu Jul 15 20:25:38 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1237 +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 module contains implementation of RTestServer, 
-* RTestModule and RTestExecution class member functions.
-*
-*/
-
-// INCLUDE FILES
-#include <e32svr.h>
-#include <stifinternal/TestServerClient.h>
-#include "TestServerCommon.h"
-//--PYTHON-- begin
-#include "StifPython.h"
-//--PYTHON-- end
-
-// EXTERNAL DATA STRUCTURES
-
-// EXTERNAL FUNCTION PROTOTYPES
-
-// CONSTANTS
-
-// MACROS
-
-// LOCAL CONSTANTS AND MACROS
-
-// MODULE DATA STRUCTURES
-
-// LOCAL FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-
-// ==================== LOCAL FUNCTIONS =======================================
-
-// None
-
-// ================= MEMBER FUNCTIONS =========================================
-
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestServer
-
-    Method: RTestServer
-
-    Description: Default constructor
-
-    C++ default constructor can NOT contain any code, that
-    might leave.
-
-    Parameters: None
-
-    Return Values: None
-
-    Errors/Exceptions: None
-
-    Status: Approved
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C RTestServer::RTestServer()
-    {
-    }
-
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestServer
-
-    Method: Connect
-
-    Description: Connect method creates new RTestServer session.
-    RTestServer session is used to manage the test case execution.
-    
-    Parameters: const TFileName& aModuleName: in: Module to be loaded
-                const TDesC& aConfigFile: in: Test case(config) file
-                name(Used in TestScripter case for parsing STIF settings).
-
-    Return Values: TInt Error code
-
-    Errors/Exceptions: None
-
-    Status: Proposal
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C TInt RTestServer::Connect( const TFileName& aModuleName,
-                                    const TDesC& aConfigFile
-                                    )
-    {
-    TFileName serverName;
-
-    TInt ret = KErrNone;
-
-    // Create global semaphore start-up. It will be indexed (if given name already exsists, index will be increased)
-    RSemaphore startSemaphore;
-    TName semaphoreName = _L("startupSemaphore");
-    semaphoreName.Append( aModuleName );
-    TInt x = 0;
-    RBuf semName;
-    ret = semName.Create(KMaxName);
-    if(ret != KErrNone)
-        {
-        RDebug::Print(_L("RTestServer::Connect() Could not create buffer for semaphore name [%d]"), ret);
-        return ret;
-        }
-    do
-        {
-        semName.Format(_L("%S%d"), &semaphoreName, x);
-        if (semName.Length() > KMaxKernelName)
-            {
-            // if the cfg file name is larger than maximum length of acceptable length of semaphore .
-            RDebug::Print(_L("Test Module name or Configuration File name is too long."));
-            
-            semName.Close();
-            return KErrBadName;
-            }
-        
-        ret = startSemaphore.CreateGlobal(semName, 0);
-        RDebug::Print(_L("RTestServer::Connect() Creating global semaphore [%S] with result [%d]"), &semName, ret);
-        if(ret != KErrAlreadyExists)
-            {
-            semaphoreName.Copy(semName);
-            break;
-            }
-        x++;
-        } while (ETrue);
-    semName.Close();
-    
-    if ( ret != KErrNone )
-        {
-        startSemaphore.Close();
-        return ret;
-        }
-
-    // By default start 'testserverstarter.exe'
-    TFileName pathAndExeModule;
-    if ( aModuleName.Find( _L( "testscripter_ui_" ) ) == 0 ) 
-    	{
-        pathAndExeModule.Copy( KDefaultUiExeName );    	
-    	}
-    else
-    	{
-        pathAndExeModule.Copy( KDefaultExeName );    	
-    	}
-
-    RProcess pr;
-
-    // Data to be passed to new process. It will contain module name and synchronization semaphore name separated with space.
-    // I.e. it will be: "mymodule startupSemaphore0"
-    RBuf data; 
-    ret = data.Create(KMaxFileName);
-    if(ret != KErrNone)
-        {
-        RDebug::Print(_L("RTestServer::Connect() Could not create buffer for data to be passed to process [%d]"), ret);
-        return ret;
-        }
-    data.Format(_L("%S %S"), &aModuleName, &semaphoreName);
-    RDebug::Print(_L("RTestServer::Connect() Data for new process prepared [%S]"), &data);
-    
-
-    // Indication is Create() operation needed
-    TBool doCreate( ETrue );
-
-    #ifdef __WINS__ // CodeWarrior(emulator)
-        // Create without path(Uses Symbian default path).
-        // Note: If TestScriter used then module name is format:
-        // testscripter_testcasefilename
-        
-        ret = pr.Create( aModuleName, data );
-        if( ret == KErrNone )
-            {
-            RDebug::Print(_L("RTestServer::Connect() Combination (1): Caps modifier [%S], Data [%S]"), &aModuleName, &data);
-            doCreate = EFalse;
-            }
-    #endif // __WINS__
-
-    if ( doCreate )
-        {
-        TInt find_ret( KErrNone );
-        TInt trapd_ret( KErrNone );
-        // Check is TestScripter and is caps modifíer name given
-        if( aModuleName.Find( KTestScripterName ) != KErrNotFound && aConfigFile != KNullDesC )
-            {
-            TInt ret_caps;
-            TFileName capsModifierName;
-            // In TestClass's test case (config) file can give name to caps
-            // modifier module.
-            ret_caps = GetCapsModifier( aConfigFile, capsModifierName );
-            if( ret_caps != KErrNone )
-                {
-                RDebug::Print( _L( "RTestServer::Connect() Caps modifier was not defined. Default modifier will be used" ) );
-                }
-            else
-                {
-                #ifdef __WINS__ // CodeWarrior(emulator)
-                    // Create without path(Uses Symbian default path)
-                    ret = pr.Create( capsModifierName, data );
-                    if( ret == KErrNone )
-                        {
-                        RDebug::Print( _L( "RTestServer::Connect() Combination (2): Caps modifier [%S], Data [%S]"), &capsModifierName, &data);
-                        doCreate = EFalse;
-                        }
-                #endif // __WINS__
-                if ( doCreate )
-                    {
-                    TRAP( trapd_ret, find_ret = FindExeL(
-                                    capsModifierName, pathAndExeModule ) );
-                    }
-                }
-            }
-        //--PYTHON-- begin
-        // If this is python module, use caps modifier
-        else if(aModuleName.Length() >= KPythonScripterLength && aModuleName.Mid(0, KPythonScripterLength).Compare(KPythonScripter) == 0)
-           {
-           pathAndExeModule.Copy(KPythonScripter);
-           }
-        //--PYTHON-- end
-        // Find exe from file system
-        else if( aModuleName != _L( "testcombiner" ) )
-           {
-           // Check if e.g. TestModule.exe is available
-           TRAP( trapd_ret, find_ret = FindExeL( aModuleName, pathAndExeModule  ) );
-           }
-
-        // Check FindExeL error codes
-        if( find_ret != KErrNone )
-			{
-			// Module was not found, using default exe: testserverstarter.exe
-			RDebug::Print( _L( "RTestServer::Connect() Correct caps modifier module not found, capabilities cannot set" ) );
-			if ( aModuleName.Find( _L( "testscripter_ui_" ) ) == 0 ) 
-				{
-				pathAndExeModule.Copy( KDefaultUiExeName );    	
-				}
-			else
-				{
-				pathAndExeModule.Copy( KDefaultExeName );    	
-				}           
-			}
-        if( trapd_ret != KErrNone )
-           {
-           // FindExeL fails
-           RDebug::Print( _L( "RTestServer::Connect() Caps modifier module searching fails with error: %d" ), trapd_ret );
-           startSemaphore.Close();
-           data.Close();
-           return trapd_ret;
-           }
-
-        }
-
-    if ( doCreate )
-        {
-        ret = pr.Create( pathAndExeModule, data );
-        RDebug::Print(
-            _L( "RTestServer::Connect() Combination (3): Caps modifier [%S], Data [%S], Result [%d]" ),
-            &pathAndExeModule, &data, ret );
-        }
-
-    data.Close();
-    
-    if ( ret != KErrNone )
-        {
-        startSemaphore.Close();  
-        return ret;
-        }
-
-    // Process created, continue start-up
-    pr.Resume();
-    pr.Close();
-
-    // Wait until server is started
-    startSemaphore.Wait();
-    startSemaphore.Close();     // Close semaphore
-
-    serverName = aModuleName;
-
-    // Server is up and running, connect to it    
-    ret = CreateSession( serverName, Version() );    
-    return ret;
-
-    }
-
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestServer
-
-    Method: Version
-
-    Description: Return client side version.
-
-    Parameters: None
-
-    Return Values: TVersion: Version number
-
-    Errors/Exceptions: None
-
-    Status: Approved
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C TVersion RTestServer::Version() const
-    {
-
-    return( TVersion( KTestServerMajorVersionNumber,
-                       KTestServerMinorVersionNumber, 
-                       KTestServerBuildVersionNumber 
-                     ) );
-
-    }
-
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestServer
-
-    Method: Close
-
-    Description: Closes the RTestServer session.
-
-    Parameters: None
-
-    Return Values: None
-
-    Errors/Exceptions: None
-
-    Status: Approved
-    
--------------------------------------------------------------------------------
-*/
-EXPORT_C void RTestServer::Close()
-    {
-
-    // Check that server is connected
-    if( Handle() != 0 )
-        {
-        TIpcArgs args( TIpcArgs::ENothing, TIpcArgs::ENothing, TIpcArgs::ENothing );
-        SendReceive( ETestServerCloseSession, args );
-        }
-
-    RSessionBase::Close();
-
-    }
- /*
--------------------------------------------------------------------------------
-
-    Class: RTestServer
-
-    Method: GetServerThreadId
-
-    Description: Get server thread id
-
-    Parameters: None
-
-    Return Values: None
-
-    Errors/Exceptions: None
-
-    Status: Approved
-    
--------------------------------------------------------------------------------
-*/
-EXPORT_C TInt RTestServer::GetServerThreadId(TThreadId& aThreadId)
-    {
-
-    TInt ret(0);
-
-    // Check that server is connected
-    if( Handle() != 0 )
-        {
-        TThreadId id;
-        TPckg<TThreadId> threadIdPckg( id );
-        TIpcArgs args( &threadIdPckg, TIpcArgs::ENothing, TIpcArgs::ENothing );
-        ret = SendReceive( ETestServerGetServerThreadId, args );  
-        
-        aThreadId = threadIdPckg();        
-        }
-        
-    return ret;
-
-    }            
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestServer
-
-    Method: FindExeL
-
-    Description: Find exe(CapsModifier) from file system(Used in EKA2)
-
-    Parameters: TFileName aModuleName: in: Module name.
-                TFileName& aPathAndExeModule: inout: Module's exe(CapsModifier)
-                path information.
-
-    Return Values: TBool: Symbian error code: If exe(CapsModifier) is found
-                          return KErrNone else other error code will return.
-
-    Errors/Exceptions: None
-
-    Status: Proposal
-    
--------------------------------------------------------------------------------
-*/
-TBool RTestServer::FindExeL( TFileName aModuleName,
-                                TFileName& aPathAndExeModule )
-    {
-    RFs fsSession;  // For the file session handling
-    RFile file;
-
-    // Connect to file server
-	User::LeaveIfError( fsSession.Connect() ); // Start session
-
-    TDriveList drivelist; 
-	User::LeaveIfError( fsSession.DriveList(drivelist) );
-	// A TDriveList (the list of available drives), is an array of 
-	// 26 bytes. Each byte with a non zero value signifies that the 
-	// corresponding drive is available.
-    TInt driveNumber; 
-	TChar driveLetter;
-    
-	for( driveNumber=EDriveA; driveNumber<=EDriveZ; driveNumber++ )
-		{
-		if( !drivelist[driveNumber] ) 
-			{
-			// If drive-list entry is zero, drive is not available
-			continue;
-			}
-        User::LeaveIfError(fsSession.DriveToChar(driveNumber,driveLetter));
-
-        aPathAndExeModule.Zero();
-        aPathAndExeModule.Append( driveLetter );
-
-        aPathAndExeModule.Append( _L(":\\sys\\bin\\") );
-
-        aPathAndExeModule.Append( aModuleName );
-        aPathAndExeModule.Append( _L( ".exe" ) );
-
-        TInt found( KErrNone );
-        found = file.Open( fsSession, aPathAndExeModule, EFileRead );
-        if( found == KErrNone )
-            {
-            // exe(capsmodifier module) is founded.
-            file.Close();
-            fsSession.Close();
-            return KErrNone;
-            }
-        }
-
-    // If exe not found use testserverstarter.exe but capabilities cannot
-    // set.
-    if ( aModuleName.Find( _L( "testscripter_ui_" ) ) == 0 ) 
-    	{
-        aPathAndExeModule.Copy( KDefaultUiExeName );    	
-    	}
-    else
-    	{
-        aPathAndExeModule.Copy( KDefaultExeName );    	
-    	}	
-    file.Close();
-    fsSession.Close();
- 
-    return KErrNotFound;
-    
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestServer
-
-    Method: GetCapsModifierName
-
-    Description: Get caps modifier module name from TestScripter's test
-                 case(config) file.
-
-    Parameters: const TDesC& aConfigFile: in: TestScripter's test case(config)
-                file path and name.
-                TFileName& aCapsModifierName: inout: Parsed caps modifier name.
-
-    Return Values: TInt: Symbian error code: Return KErrNone if caps modifier
-                                             module name is successfully parsed
-                                             or given else other error code
-                                             will return.
-
-    Errors/Exceptions: None
-
-    Status: Proposal
-    
--------------------------------------------------------------------------------
-*/
-TInt RTestServer::GetCapsModifier( const TDesC& aConfigFile,
-                                        TFileName& aCapsModifierName )
-    {
-    // Create parser
-    CStifParser* parser = NULL;
-    TRAPD( err, parser = CStifParser::NewL( _L(""), aConfigFile ) );
-    if( err != KErrNone )
-        {
-        return err;
-        }
-
-    CleanupStack::PushL( parser );
-
-    // Create section
-    CStifSectionParser* section = NULL;
-    TRAP( err, section = parser->SectionL( KStifSettingsStartTag,
-                                            KStifSettingsEndTag ) );
-    if( err != KErrNone || section == NULL)
-        {
-        CleanupStack::PopAndDestroy( parser );
-        return KErrNotFound;
-        }
-
-    CleanupStack::PushL( section );
-
-    // Create item
-    CStifItemParser* item = NULL;
-    TRAP( err, item = section->GetItemLineL( KCapsModifier ) );
-    if( err != KErrNone || item == NULL )
-        {
-        CleanupStack::PopAndDestroy( section );
-        CleanupStack::PopAndDestroy( parser );
-        return KErrNotFound;
-        }
-    CleanupStack::PushL( item );
-
-    // Get caps modifier module name
-    TPtrC capsModifierName;
-    err = item->GetString( KCapsModifier, capsModifierName );
-    if( err != KErrNone )
-        {
-        CleanupStack::PopAndDestroy( item );
-        CleanupStack::PopAndDestroy( section );
-        CleanupStack::PopAndDestroy( parser );
-        return err;
-        }
-
-    aCapsModifierName.Copy( capsModifierName );
-
-    // Remove optional '.EXE' from the name
-    aCapsModifierName.LowerCase();
-    TParse parse;
-    parse.Set( aCapsModifierName, NULL, NULL );
-
-    if ( parse.Ext() == _L(".exe") )
-        {
-        const TInt len = parse.Ext().Length();
-        aCapsModifierName.Delete ( aCapsModifierName.Length()-len, len );
-        }
-
-    CleanupStack::PopAndDestroy( item );
-    CleanupStack::PopAndDestroy( section );
-    CleanupStack::PopAndDestroy( parser );
-
-    return KErrNone;
-
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestModule
-
-    Method: Open
-
-    Description: Create new subsession with the RTestServer server
-
-    Parameters: RTestServer& aServer          :inout: Server
-                TFileName& aIniFile           :in:    Initialization file
-
-    Return Values: None
-
-    Errors/Exceptions: None
-
-    Status: Approved
-    
--------------------------------------------------------------------------------
-*/
-EXPORT_C TInt RTestModule::Open( RTestServer& aServer,
-                                 TFileName& aIniFile
-                               )
-    {
-    TIpcArgs args( &aIniFile, TIpcArgs::ENothing, TIpcArgs::ENothing );
-    return CreateSubSession( aServer, ETestModuleCreateSubSession, args );
-    }
-
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestModule
-
-    Method: Close
-
-    Description: Close a subsession
-
-    Parameters: None
-
-    Return Values: None
-
-    Errors/Exceptions: None
-
-    Status: Approved
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C void RTestModule::Close()
-    {
-
-    RSubSessionBase::CloseSubSession( ETestModuleCloseSubSession );
-
-    }
-
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestModule
-
-    Method: EnumerateTestCases
-
-    Description: Enumerates test cases
-
-    Parameters: TFileName aConfigFile         :in:  Configuration file name
-                TCaseSize& aCount             :out: Package for storing count
-                TRequestStatus& aStatus       :out: Status
-
-    Return Values: None
-
-    Errors/Exceptions: None
-
-    Status: Approved
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C void RTestModule::EnumerateTestCases( TDesC& aConfigFile,
-                                               TCaseSize& aCount,
-                                               TRequestStatus& aStatus
-                                             )
-    {
-    TIpcArgs args( &aConfigFile, &aCount, TIpcArgs::ENothing );
-    SendReceive( ETestModuleEnumerateTestCases, args, aStatus );
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestModule
-
-    Method: GetTestCases
-
-    Description: Get test cases
-
-    Parameters: CFixedFlatArray<TTestCaseInfo>& aTestCaseBuffer :Out:    Cases
-
-    Return Values: TInt                             Return value from operation
-
-    Errors/Exceptions: None
-
-    Status: Approved
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C TInt RTestModule::GetTestCases( CFixedFlatArray<TTestCaseInfo>& aTestCaseBuffer )
-    {
-    TIpcArgs args( &aTestCaseBuffer.Des(), TIpcArgs::ENothing, TIpcArgs::ENothing );
-    return SendReceive( ETestModuleGetTestCases, args );
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestModule
-
-    Method: ErrorNotification
-
-    Description: Request error notification
-
-    Parameters: None
-
-    Return Values: None
-
-    Errors/Exceptions: None
-
-    Status: Proposal
-    
--------------------------------------------------------------------------------
-*/
-EXPORT_C void RTestModule::ErrorNotification( TErrorNotificationPckg& aError,                                           
-                                              TRequestStatus& aStatus )
-    {
-    TIpcArgs args( &aError, TIpcArgs::ENothing, TIpcArgs::ENothing );
-    SendReceive( ETestModuleErrorNotification, args, aStatus );
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestModule
-
-    Method: CancelAsyncRequest
-
-    Description: Cancel ongoing request
-
-    Parameters: TInt aReqToCancel             :in:  Request to be cancelled
-
-    Return Values: TInt                             Return value from operation
-
-    Errors/Exceptions: None
-
-    Status: Approved
-    
--------------------------------------------------------------------------------
-*/
-EXPORT_C TInt RTestModule::CancelAsyncRequest( TInt aReqToCancel )
-    {
-    TIpcArgs args( aReqToCancel, TIpcArgs::ENothing, TIpcArgs::ENothing );
-    return SendReceive( ETestModuleCancelAsyncRequest, args );
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestExecution
-
-    Method: Open
-
-    Description: create new subsession with the RTestModule
-
-    Parameters: RTestServer& aServer          :in:  Handle to server
-                const TInt aCaseNumber        :in:  Case number
-                const TFileName& aConfig      :in:  Configuration file
-
-    Return Values: TInt                             Return value from operation
-
-    Errors/Exceptions: None
-
-    Status: Approved
-    
--------------------------------------------------------------------------------
-*/
-EXPORT_C TInt RTestExecution::Open( RTestServer& aServer,
-                                    const TInt aCaseNumber,
-                                    const TFileName& aConfig
-                                  )
-    {
-    TIpcArgs args( aCaseNumber, &aConfig, TIpcArgs::ENothing );
-    return CreateSubSession( aServer, ETestExecutionCreateSubSession, args );
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestModule
-
-    Method: Close
-
-    Description: close a subsession
-
-    Parameters: None
-
-    Return Values: None
-
-    Errors/Exceptions: None
-
-    Status: Approved
-    
--------------------------------------------------------------------------------
-*/
-EXPORT_C void RTestExecution::Close()
-    {
-
-    // Close subsession
-    RSubSessionBase::CloseSubSession( ETestExecutionCloseSubSession );
-
-    }
-
-
-
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestExecution
-
-    Method: RunTestCase
-
-    Description: Runs a test case
-
-    Parameters: TFullTestResultPckg& aResult  :out: Case result
-                TRequestStatus& aStatus       :out: Request to be completed
-
-    Return Values: None
-
-    Errors/Exceptions: None
-
-    Status: Approved
-    
--------------------------------------------------------------------------------
-*/
-EXPORT_C void RTestExecution::RunTestCase( TFullTestResultPckg& aResult,
-                                           TRequestStatus& aStatus 
-                                         )
-    {
-    TIpcArgs args( &aResult, TIpcArgs::ENothing, TIpcArgs::ENothing );
-    SendReceive( ETestExecutionRunTestCase, args, aStatus );
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestExecution
-
-    Method: RunTestCase
-
-    Description: Runs a test case
-
-    Parameters: TFullTestResultPckg& aResult  :out: Case result
-                const TDesC& aTestCaseArgs: Test case arguments
-                TRequestStatus& aStatus       :out: Request to be completed
-
-    Return Values: None
-
-    Errors/Exceptions: None
-
-    Status: Approved
-    
--------------------------------------------------------------------------------
-*/
-EXPORT_C void RTestExecution::RunTestCase( TFullTestResultPckg& aResult,
-                                           const TDesC& aTestCaseArgs,
-                                           TRequestStatus& aStatus 
-                                         )
-    {
-    TIpcArgs args( &aResult, &aTestCaseArgs, TIpcArgs::ENothing );
-    SendReceive( ETestExecutionRunTestCase, args, aStatus );
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestExecution
-
-    Method: NotifyProgress
-
-    Description: Notify about test case progress, i.e test case prints.
-
-    Parameters: TTestProgressPckg& aProgress  :out: Print info
-                TRequestStatus& aStatus       :out: Request to be completed
-
-    Return Values: TInt                             Always KErrNone
-
-    Errors/Exceptions: None
-
-    Status: Approved
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C TInt RTestExecution::NotifyProgress( TTestProgressPckg& aProgress,
-                                              TRequestStatus& aStatus 
-                                            )
-    {
-    TIpcArgs args( &aProgress, TIpcArgs::ENothing, TIpcArgs::ENothing );
-    SendReceive( ETestExecutionNotifyProgress, args, aStatus );
-    return KErrNone;
-    }
-
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestModule
-
-    Method: Pause
-
-    Description: Pauses a test case
-
-    Parameters: None
-
-    Return Values: TInt                             Return value from operation
-
-    Errors/Exceptions: None
-
-    Status: Approved
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C TInt RTestExecution::Pause()
-    {
-    TIpcArgs args( TIpcArgs::ENothing, TIpcArgs::ENothing, TIpcArgs::ENothing );
-    return SendReceive( ETestExecutionPause, args );
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestModule
-
-    Method: Resume
-
-    Description: Resumes a test case
-
-    Parameters: None
-
-    Return Values: TInt                             Return value from operation
-
-    Errors/Exceptions: None
-
-    Status: Approved
-    
--------------------------------------------------------------------------------
-*/
-EXPORT_C TInt RTestExecution::Resume()
-    {
-    TIpcArgs args( TIpcArgs::ENothing, TIpcArgs::ENothing, TIpcArgs::ENothing );
-    return SendReceive( ETestExecutionResume, args );
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestModule
-
-    Method: CancelAsyncRequest
-
-    Description: Cancels an asynchronous request.
-
-    Parameters: TInt aReqToCancel             :in:  Request to be cancelled.
-
-    Return Values: TInt                             Return value from operation
-
-    Errors/Exceptions: None
-
-    Status: Approved
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C TInt RTestExecution::CancelAsyncRequest( TInt aReqToCancel )
-    {
-    TIpcArgs args( aReqToCancel, TIpcArgs::ENothing, TIpcArgs::ENothing );
-    return SendReceive( ETestExecutionCancelAsyncRequest, args );
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestModule
-
-    Method: NotifyEvent
-
-    Description: NotifyEvent is used to receive event requests
-                 from the Test module.
-
-    Parameters: TEventIfPckg& aEvent          :inout:  Event package.
-                TRequestStatus& aStatus       :out:    Request to be completed
-                TInt aError                   :in:     Error from event system
-
-    Return Values: TInt                                Always KErrNone
-
-    Errors/Exceptions: None
-
-    Status: Proposal
-    
--------------------------------------------------------------------------------
-*/
-EXPORT_C TInt RTestExecution::NotifyEvent( TEventIfPckg& aEvent,
-                                           TRequestStatus& aStatus,
-                                           TInt aError )
-    {
-    TIpcArgs args( &aEvent, aError, TIpcArgs::ENothing );
-    SendReceive( ETestExecutionNotifyEvent, args, aStatus );
-    return KErrNone;
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestModule
-
-    Method: NotifyRemoteCmd
-
-    Description: NotifyRemoteCmd is used to receive RemoteCmd requests
-                 from the Test module.
-
-    Parameters: TRemoteCmdPckg& aRemoteCommand: nout: Remote command's packege.
-                TRemoteCmdType aType: in: Remote type.
-                TRequestStatus& aStatus: inout: Request to be completed
-
-    Return Values: TInt: Always KErrNone
-
-    Errors/Exceptions: None
-
-    Status: Proposal
-    
--------------------------------------------------------------------------------
-*/
-EXPORT_C TInt RTestExecution::NotifyRemoteCmd( TStifCommandPckg& aRemoteCommand,
-                                               TPckg<TInt>& aMsgSizePckg,
-                                               TRequestStatus& aStatus )
-    {
-// Construct message
-    TIpcArgs args( &aRemoteCommand, &aMsgSizePckg, TIpcArgs::ENothing );
-    SendReceive( ETestExecutionNotifyRemoteCmd, args, aStatus );
-    return KErrNone;
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestExecution
-
-    Method: ReadRemoteCmdInfo
-
-    Description: ReadRemoteCmdInfo is used to receive RemoteCmd requests
-                 from the Test module.
-
-    Parameters: TDesC& aMsg :inout: message.
-                TRemoteCommand aType :in: Remote command's type
-                TInt aError: in: Symbian error code
-
-    Return Values: TInt: Always KErrNone
-
-    Errors/Exceptions: None
-
-    Status: Proposal
-    
--------------------------------------------------------------------------------
-*/
-EXPORT_C TInt RTestExecution::ReadRemoteCmdInfo( TDes8& aMsg,
-                                                 TStifCommand aType,
-                                                 TInt aError )
-    {
-    TInt value = 0;
-    if( aError != KErrNone )
-        {
-        value = aError;
-        }
-    else
-        {
-        value = aMsg.Length();
-        }
-
-// Construct message
-    TIpcArgs args( &aMsg, aType, value );
-     // Synchronous method so return a value
-    return SendReceive( ETestExecutionReadRemoteCmdInfo, args );
-    }
-    
-#if 0
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestExecution
-
-    Method: ReadRemoteCmdInfo
-
-    Description: ReadRemoteCmdInfo is used to receive RemoteCmd requests
-                 from the Test module.
-
-    Parameters: TRebootParamsPckg& aRemoteType :inout: Remote type.
-                TRemoteCommand aType :in: Remote command's type
-                TInt aError: in: Symbian error code
-
-    Return Values: TInt: Always KErrNone
-
-    Errors/Exceptions: None
-
-    Status: Proposal
-    
--------------------------------------------------------------------------------
-*/
-EXPORT_C TInt RTestExecution::ReadRemoteCmdInfo( 
-                                            TRebootParamsPckg& aRemoteType,
-                                            TRemoteCommand aType,
-                                            TInt aError )
-    {
-// Construct message
-    TIpcArgs args( &aRemoteType, aType, aError );
-    // Synchronous method so return a value
-    return SendReceive( ETestExecutionReadRemoteCmdInfo, args );
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestExecution
-
-    Method: ReadRemoteCmdInfo
-
-    Description: ReadRemoteCmdInfo is used to receive RemoteCmd requests
-                 from the Test module.
-
-    Parameters: TRebootStateParamsPckg& aRemoteState :inout: Remote state.
-                TRemoteCommand aType :in: Remote command's type
-                TInt aError: in: Symbian error code
-
-    Return Values: TInt: Always KErrNone
-
-    Errors/Exceptions: None
-
-    Status: Proposal
-    
--------------------------------------------------------------------------------
-*/
-EXPORT_C TInt RTestExecution::ReadRemoteCmdInfo( 
-                                        TRebootStateParamsPckg& aRemoteState,
-                                        TRemoteCommand aType,
-                                        TInt aError )
-    {
-    // Construct message
-    TIpcArgs args( &aRemoteState, aType, aError );
-    // Synchronous method so return a value
-    return SendReceive( ETestExecutionReadRemoteCmdInfo, args );
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestExecution
-
-    Method: ReadRemoteCmdInfo
-
-    Description: ReadRemoteCmdInfo is used to receive RemoteCmd requests
-                 from the Test module.
-
-    Parameters: TGetRebootStoredParamsPckg& aRemoteStoredState :inout: Stored
-                state.
-                TRemoteCommand aType :in: Remote command's type
-                TInt aError: in: Symbian error code
-
-    Return Values: TInt: Always KErrNone
-
-    Errors/Exceptions: None
-
-    Status: Proposal
-    
--------------------------------------------------------------------------------
-*/
-EXPORT_C TInt RTestExecution::ReadRemoteCmdInfo( 
-                                TGetRebootStoredParamsPckg& aRemoteStoredState,
-                                TRemoteCommand aType,
-                                TInt aError )
-    {
-    // Construct message
-    TIpcArgs args( &aRemoteStoredState, aType, aError );
-    // Synchronous method so return a value
-    return SendReceive( ETestExecutionReadRemoteCmdInfo, args );
-    }
-#endif // 0
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestExecution
-
-    Method: NotifyCommand
-
-    Description: NotifyCommand is used to receive command requests
-                 from the Test module. DEPRECATED !!
-                 Use NotifyCommand2 instead.
-
-    Parameters: aStifCommandPckg:     command
-                aParam1Pckg:          parameter of command
-                aTestCaseHandlePckg:  handle to test case
-                aStatus:              request status
-                aError:               error
-
-    Return Values: TInt               Always KErrNone
-
-    Errors/Exceptions: None
-
-    Status: Proposal
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C TInt RTestExecution::NotifyCommand(TCommandPckg& /*aCommandPckg*/,
-                                            TBuf8<KMaxCommandParamsLength>& /*aParamsPckg*/,
-                                            TRequestStatus& /*aStatus*/,
-                                            TInt /*aError*/)
-    {
-    /*TIpcArgs args(&aCommandPckg, &aParamsPckg, TIpcArgs::ENothing);
-    SendReceive(ETestExecutionNotifyCommand, args, aStatus);
-    return KErrNone;*/
-    return KErrNotSupported;
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestExecution
-
-    Method: NotifyCommand2
-
-    Description: NotifyCommand is used to receive command requests
-                 from the Test module.
-
-    Parameters: aStifCommandPckg:     command
-                aParam1Pckg:          parameter of command
-                aTestCaseHandlePckg:  handle to test case
-                aStatus:              request status
-                aError:               error
-
-    Return Values: TInt               Always KErrNone
-
-    Errors/Exceptions: None
-
-    Status: Proposal
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C TInt RTestExecution::NotifyCommand2(TCommandPckg& aCommandPckg,
-                                            TDes8& aParamsPckg,
-                                            TRequestStatus& aStatus,
-                                            TInt /*aError*/)
-    {
-    TIpcArgs args(&aCommandPckg, &aParamsPckg, TIpcArgs::ENothing);
-    SendReceive(ETestExecutionNotifyCommand, args, aStatus);
-    return KErrNone;
-    }
-
-// End of File