stif/TestEngine/src/TestEngineClient.cpp
changeset 38 169364e7e4b4
parent 34 7259cf1302ad
child 45 185201be11b0
--- a/stif/TestEngine/src/TestEngineClient.cpp	Tue Jul 06 16:05:13 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,852 +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 
-* RTestEngineServer class member functions.
-*
-*/
-
-// INCLUDE FILES
-#include <e32svr.h>
-#include "TestEngineClient.h"
-#include "TestEngineCommon.h"
-
-// EXTERNAL DATA STRUCTURES
-// None
-
-// EXTERNAL FUNCTION PROTOTYPES  
-// None
-
-// CONSTANTS
-// None
-
-// MACROS
-// None
-
-// LOCAL CONSTANTS AND MACROS
-// None
-
-// MODULE DATA STRUCTURES
-// None
-
-// LOCAL FUNCTION PROTOTYPES
-// None
-
-// FORWARD DECLARATIONS
-// None
-
-// ==================== LOCAL FUNCTIONS =======================================
-// None
-
-// ================= MEMBER FUNCTIONS =========================================
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestEngineServer
-
-    Method: Connect
-
-    Description: Connect method creates new RTestEngineServer session.
-
-    RTestEngineServer session is used to manage the test case execution.
-
-    Parameters: None
-
-    Return Values: TInt KErrNone : TestEngineServer created successfully
-
-    Errors/Exceptions: None
-
-    Status: Approved
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C TInt RTestEngineServer::Connect()
-    {
-    TInt ret = StartEngine();
-    if ( ret == KErrNone)
-        {
-        ret = CreateSession( KTestEngineName, Version() );
-        }
-    return ret;
-
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestEngineServer
-
-    Method: Version
-
-    Description: Return client side version number from RTestEngineServer.
-
-    Parameters: None
-
-    Return Values: TVersion : Version number from RTestEngineServer
-
-    Errors/Exceptions: None
-
-    Status: Approved
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C TVersion RTestEngineServer::Version() const
-    {
-    return ( TVersion( KTestEngineMajorVersionNumber,
-        KTestEngineMinorVersionNumber, KTestEngineBuildVersionNumber ) );
-
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestEngineServer
-
-    Method: Close
-
-    Description: Closes the RTestEngineServer session.
-
-    Parameters: None
-
-    Return Values: None
-
-    Errors/Exceptions: None
-
-    Status: Approved
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C void RTestEngineServer::Close()
-    {
-    // Check that server is connected
-    if ( Handle() != 0 )
-        {
-        TIpcArgs args( TIpcArgs::ENothing, TIpcArgs::ENothing, TIpcArgs::ENothing );
-        SendReceive( ETestEngineServerCloseSession, args );
-        }
-    RSessionBase::Close();
-
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    DESCRIPTION
-
-    This module contains implementation of RTestEngine class member functions.
-
--------------------------------------------------------------------------------
-*/
-
-// ================= MEMBER FUNCTIONS =========================================
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestEngine
-
-    Method: Open
-
-    Description: Open creates a subsession to TestEngine.
-
-    Parameters: RTestEngineServer& aServer : Handle to Test Engine Server
-                const TFileName& aIniFile : Ini file to be used for 
-                 initialization of the Test Engine
-
-    Return Values: TInt: Symbian OS error code
-
-    Errors/Exceptions: None
-
-    Status: Approved
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C TInt RTestEngine::Open( RTestEngineServer& aServer,
-                                 const TFileName& aIniFile )
-    {
-    TIpcArgs args( &aIniFile, TIpcArgs::ENothing, TIpcArgs::ENothing );
-    return CreateSubSession( aServer, ETestEngineCreateSubSession, args );
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestEngine
-
-    Method: Close
-
-    Description: Close the RTestEngine subsession.
-
-    Parameters: None
-
-    Return Values: None
-
-    Errors/Exceptions: None
-
-    Status: Approved
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C void RTestEngine::Close()
-    {
-    RSubSessionBase::CloseSubSession( ETestEngineCloseSubSession );
-
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestEngine
-
-    Method: SetAttribute
-
-    Description: Sets attributes to Test Framework
-
-    Parameters: TAttribute aAttribute: in: Attribute type
-                const TDesC& aValue: in: Attribute value
-
-    Return Values: TInt: Symbian OS error code
-
-    Errors/Exceptions: None
-
-    Status: Proposal
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C TInt RTestEngine::SetAttribute( TAttribute aAttribute,
-                                          const TDesC& aValue )
-    {
-    TIpcArgs args( aAttribute, &aValue, TIpcArgs::ENothing );
-    return SendReceive( ETestEngineSetAttribute, args );
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestEngine
-
-    Method: AddTestModule
-
-    Description: Load dynamically a new Test Module to the Test Framework.
-
-    Parameters: const TName& aTestModule : Name of the Test Module to be added
-                const TFileName& aIniFile : Initialization file of Test Module
-
-    Return Values: TInt: Symbian OS error code
-
-    Errors/Exceptions: None
-
-    Status: Approved
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C TInt RTestEngine::AddTestModule( const TName& aTestModule,
-                                          const TFileName& aIniFile )
-    {
-    TIpcArgs args( &aTestModule, &aIniFile, TIpcArgs::ENothing );
-    return SendReceive( ETestEngineAddTestModule, args );
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestEngine
-
-    Method: RemoveTestModule
-
-    Description: Remove the existing Test Module from the Test Framework.
-
-    Parameters: const TName& aTestModule : Name of the Test Module to be 
-                                           removed
-
-    Return Values: TInt: Symbian OS error code
-
-    Errors/Exceptions: None
-
-    Status: Approved
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C TInt RTestEngine::RemoveTestModule( const TName& aTestModule )
-    {
-    TIpcArgs args( &aTestModule, TIpcArgs::ENothing, TIpcArgs::ENothing );
-    return SendReceive( ETestEngineRemoveTestModule, args );
-
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestEngine
-
-    Method: AddConfigFile
-
-    Description: Add new config file to Test Module.
-
-    Parameters: const TName& aTestModule : Name of Test Module where the config
-                 file will be added
-                const TFileName& aConfigFile : Name of config file to be added
-
-    Return Values: TInt: Symbian OS error code
-
-    Errors/Exceptions: None
-
-    Status: Approved
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C TInt RTestEngine::AddConfigFile( const TName& aTestModule,
-                                          const TFileName& aConfigFile )
-    {
-    TIpcArgs args( &aTestModule, &aConfigFile, TIpcArgs::ENothing );
-    return SendReceive( ETestEngineAddConfigFile, args );
-
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestEngine
-
-    Method: RemoveConfigFile
-
-    Description: Remove config file from Test Module.
-
-    Parameters: const TName& aTestModule : Test Module name
-                const TFileName& aConfigFile : Name of config file to be removed
-
-    Return Values: TInt: Symbian OS error code
-
-    Errors/Exceptions: None
-
-    Status: Proposal
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C TInt RTestEngine::RemoveConfigFile( const TName& aTestModule,
-                                             const TFileName& aConfigFile )
-    {
-    TIpcArgs args( &aTestModule, &aConfigFile, TIpcArgs::ENothing );
-    return SendReceive( ETestEngineRemoveConfigFile, args );
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestEngine
-
-    Method: EnumerateTestCases
-
-    Description: First phase of two-phased test case query operation.
-
-    Test cases are inquired by two-phased operation calling first the 
-    EnumerateTestCases method and then the GetTestCases. 
-
-    Parameters: TInt& aCount : Test case count
-                TRequestStatus& aStatus : Request status
-
-    Return Values: None
-
-    Errors/Exceptions: None
-
-    Status: Approved
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C void RTestEngine::EnumerateTestCases( TCaseCount& aCount,
-                                              TRequestStatus& aStatus )
-    {
-    TIpcArgs args( &aCount, TIpcArgs::ENothing, TIpcArgs::ENothing );
-    SendReceive( ETestEngineEnumerateTestCases, args, aStatus );
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestEngine
-
-    Method: GetTestCases
-
-    Description: Second phase of two-phased test case query operation.
-
-    GetTestCases retrieves test cases from Test Modules to aTestCases that is
-    a list consisting of several TTestInfo objects.
-
-    Parameters: CArrayFixFlat<TTestInfo>& aTestCaseBuffer : Test case array
-
-    Return Values: TInt: Symbian OS error code
-
-    Errors/Exceptions: None
-
-    Status: Approved
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C TInt RTestEngine::GetTestCases( 
-                     CFixedFlatArray<TTestInfo>& aTestCaseBuffer )
-    {
-    // Construct and send message
-    TIpcArgs args( &aTestCaseBuffer.Des(), TIpcArgs::ENothing, TIpcArgs::ENothing );
-    return SendReceive( ETestEngineGetTestCases, args );
-
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestEngine
-
-    Method: ErrorNotification
-
-    Description: Obtains error notifications from Test Engine and Test
-    Servers via Test Engine.
-
-    Parameters: TTestProgressPckg& aError : Error package
-                TRequestStatus& aStatus : Request status
-
-    Return Values: None
-
-    Errors/Exceptions: None
-
-    Status: Approved
-
--------------------------------------------------------------------------------
-*/ 
-EXPORT_C void RTestEngine::ErrorNotification( TErrorNotificationPckg& aError,
-                                              TRequestStatus& aStatus )
-    {
-    TIpcArgs args( &aError, TIpcArgs::ENothing, TIpcArgs::ENothing );
-    SendReceive( ETestEngineErrorNotification, args, aStatus );
-
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestEngine
-
-    Method: CancelAsyncRequest
-
-    Description: Asynchronous requests can be canceled by this function.
-
-    Parameters: TInt aReqToCancel : Request to be cancelled
-
-    Return Values: TInt: Symbian OS error code
-
-    Errors/Exceptions: None
-
-    Status: Approved
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C TInt RTestEngine::CancelAsyncRequest( TInt aReqToCancel )
-    {
-    TIpcArgs args( aReqToCancel, TIpcArgs::ENothing, TIpcArgs::ENothing );
-    return SendReceive( ETestEngineCancelAsyncRequest, args );
-
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestEngine
-
-    Method: Event
-
-    Description: Used to control STIF Test Framework event system.
-
-    Parameters: TEventIfPckg& aEvent : in : Event information
-                 TRequestStatus& aStatus : in :  Request status
-
-    Return Values: TInt KErrNone : No errors occurred
-
-    Errors/Exceptions: None
-
-    Status: Approved
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C void RTestEngine::Event( TEventIfPckg& aEvent, 
-                                  TRequestStatus& aStatus )
-    {
-    TIpcArgs args( &aEvent, TIpcArgs::ENothing, TIpcArgs::ENothing );
-    SendReceive( ETestEngineEvent, args, aStatus );
-
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestEngine
-
-    Method: OpenLoggerSession
-
-    Description: Open created subsession to TestEngine.
-
-    Parameters: RTestEngineServer& aServer : Handle to Test Engine Server
-                TLoggerSettings& aLoggerSettings: in: Logger's overwrite struct
-
-    Return Values: TInt KErrNone: TestEngine opened and initialized
-                                  succesfully
-
-    Errors/Exceptions: None
-
-    Status: Approved
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C TInt RTestEngine::OpenLoggerSession( RTestEngineServer& aServer, 
-                                            TLoggerSettings& aLoggerSettings )
-    {
-    // Package
-    TPckg<TLoggerSettings> loggerSettingsPckg( aLoggerSettings );
-
-    TIpcArgs args( &loggerSettingsPckg, TIpcArgs::ENothing, TIpcArgs::ENothing );
-    // Goes to CTestEngine's DispatchMessageL() method
-    CreateSubSession( aServer, ETestEngineLoggerSettings, args );
-    RSubSessionBase::CloseSubSession( ETestEngineCloseLoggerSettings );
-
-    return KErrNone;
-
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestEngine
-
-    Method: AddTestCaseResultToTestReport
-
-    Description: Sends info about executed test cases to test engine, which
-                 will forward it to test report.
-                 This is used when after reboot UIStore reads info about 
-                 executed test cases before reboot.
-
-    Parameters: TTestIngo& aTestInfo : test info structure
-                TFullTestResult& aTestResult: test result structure
-                TInt aError: error
-
-    Return Values: TInt error code returned by test engine
-
-    Errors/Exceptions: None
-
-    Status: Approved
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C TInt RTestEngine::AddTestCaseResultToTestReport(const TTestInfo& aTestInfo,
-                                                         const TFullTestResult& aTestResult,
-                                                         const TInt aError)
-    {
-    // Create packages
-    TTestInfoPckg testInfoPckg(aTestInfo);
-    TFullTestResultPckg fullTestResultPckg(aTestResult);
-
-    // Create argument list
-    TIpcArgs args(&testInfoPckg, &fullTestResultPckg, aError);
-
-    // Send it to test engine
-    TInt res = SendReceive(ETestEngineReportTestCase, args);
-
-    return res;
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    DESCRIPTION
-
-    This module contains implementation of RTestCase class member functions.
-
--------------------------------------------------------------------------------
-*/
-
-// ================= MEMBER FUNCTIONS =========================================
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestCase
-
-    Method: Open
-
-    Description: Open creates a subsession to TestCase.
-
-    Parameters: RTestEngineServer& aServer : Handle to Test Engine Server
-                const TTestInfoPckg& aTestCaseInfo : TTestInfoPckg : Test info
-                                                                     package
-
-    Return Values: TInt: Symbian OS error code
-
-    Errors/Exceptions: None
-
-    Status: Approved
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C TInt RTestCase::Open( RTestEngineServer& aServer,
-                              const TTestInfoPckg& aTestCaseInfo )
-    {
-    TIpcArgs args( &aTestCaseInfo, TIpcArgs::ENothing, TIpcArgs::ENothing );
-    return CreateSubSession( aServer, ETestCaseCreateSubSession, args );
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestCase
-
-    Method: Close
-
-    Description: Close the RTestCase subsession.
-
-    Parameters: None
-
-    Return Values: None
-
-    Errors/Exceptions: None
-
-    Status: Approved
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C void RTestCase::Close()
-    {
-    RSubSessionBase::CloseSubSession( ETestCaseCloseSubSession );
-
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestCase
-
-    Method: RunTestCase
-
-    Description: Run a test case asynchronously.
-
-    Parameters: TFullTestResultPckg& aTestResult : TFullTestResult :
-                 Test Result package
-                TRequestStatus& aStatus : Request status
-
-    Return Values: TInt KErrNone : Test case could be run
-                        Other error code : Reason the test case couldn't be run
-
-    Errors/Exceptions: None
-
-    Status: Approved
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C void RTestCase::RunTestCase( TFullTestResultPckg& aTestResult,
-                                     TRequestStatus& aStatus )
-    {
-    TIpcArgs args( &aTestResult, TIpcArgs::ENothing, TIpcArgs::ENothing );
-    SendReceive( ETestCaseRunTestCase, args, aStatus );
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestCase
-
-    Method: RunTestCase
-
-    Description: Run a test case asynchronously.
-
-    Parameters: TFullTestResultPckg& aTestResult : TFullTestResult :
-                 Test Result package
-                const TDesC& aTestCaseArgs: Test case arguments
-                TRequestStatus& aStatus : Request status
-
-    Return Values: TInt KErrNone : Test case could be run
-                        Other error code : Reason the test case couldn't be run
-
-    Errors/Exceptions: None
-
-    Status: Approved
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C void RTestCase::RunTestCase( TFullTestResultPckg& aTestResult,
-                                      const TDesC& aTestCaseArgs,
-                                      TRequestStatus& aStatus )
-    {
-    TIpcArgs args( &aTestResult, &aTestCaseArgs, TIpcArgs::ENothing );
-    SendReceive( ETestCaseRunTestCase, args, aStatus );
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestCase
-
-    Method: Pause
-
-    Description: Pause suspends the execution of the test case.
-
-    Parameters: None
-
-    Return Values: TInt: Symbian OS error code
-
-    Errors/Exceptions: None
-
-    Status: Approved
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C TInt RTestCase::Pause()
-    {
-    TIpcArgs args( TIpcArgs::ENothing, TIpcArgs::ENothing, TIpcArgs::ENothing );
-    return SendReceive( ETestCasePause, args );
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestCase
-
-    Method: Resume
-
-    Description: Resume the test case suspended previously.
-
-    Parameters: None
-
-    Return Values: TInt: Symbian OS error code
-
-    Errors/Exceptions: None
-
-    Status: Approved
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C TInt RTestCase::Resume()
-    {
-    TIpcArgs args( TIpcArgs::ENothing, TIpcArgs::ENothing, TIpcArgs::ENothing );
-    return SendReceive( ETestCaseResume, args );
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestCase
-
-    Method: NotifyProgress
-
-    Description: Request different progress information from the test case.
-
-    Parameters: TTestProgressPckg& aProgress : TTestProgress : Test Progress
-                                                               package
-                TRequestStatus& aStatus : Request status
-
-    Return Values: None
-
-    Errors/Exceptions: None
-
-    Status: Approved
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C void RTestCase::NotifyProgress( TTestProgressPckg& aProgress,
-                                         TRequestStatus& aStatus )
-    {
-    TIpcArgs args( &aProgress, TIpcArgs::ENothing, TIpcArgs::ENothing );
-    SendReceive( ETestCaseNotifyProgress, args, aStatus );
-    }
-    
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestCase
-
-    Method: NotifyRemoteType
-
-    Description: Request remote commands information from the test case.
-
-    Parameters: TRemoteCommandPckg& aType: in: Request type
-                TRequestStatus& aStatus : Request status
-
-    Return Values: None
-
-    Errors/Exceptions: None
-
-    Status: Proposal
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C void RTestCase::NotifyRemoteType( TStifCommandPckg& aType,
-                                           TPckg<TInt>& aMsgSize,
-                                           TRequestStatus& aStatus )
-    {
-    TIpcArgs args( &aType, &aMsgSize, TIpcArgs::ENothing );
-    SendReceive( ETestCaseNotifyRemoteType, args, aStatus );
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestCase
-
-    Method: NotifyRemoteMsg
-
-    Description: Request remote commands information from the test case.
-
-    Parameters: TDesC& aMessage: in: Message buffer
-                TRemoteCmdType aType: in: Message direction
-
-    Return Values: None
-
-    Errors/Exceptions: None
-
-    Status: Proposal
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C TInt RTestCase::NotifyRemoteMsg( TDes8& aMessage,
-                                          TStifCommand aType )
-    {
-    TIpcArgs args( &aMessage, aType, aMessage.Length() );
-    return SendReceive( ETestCaseNotifyRemoteMsg, args );
-    }
-
-/*
--------------------------------------------------------------------------------
-
-    Class: RTestCase
-
-    Method: CancelAsyncRequest
-
-    Description: Asynchronous requests can be canceled by this function.
-
-    Parameters: TInt aReqToCancel : Request to be cancelled
-
-    Return Values: TInt: Symbian OS error code
-
-    Errors/Exceptions: None
-
-    Status: Approved
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C TInt RTestCase::CancelAsyncRequest( TInt aReqToCancel )
-    {
-    TIpcArgs args( aReqToCancel, TIpcArgs::ENothing, TIpcArgs::ENothing );
-    return SendReceive( ETestCaseCancelAsyncRequest, args );
-    }
-
-// ================= OTHER EXPORTED FUNCTIONS =================================
-
-// None
-
-// End of File