--- a/stif/StifTFwIf/src/UIEngineEvent.cpp Mon Jun 28 15:36:07 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,481 +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: CUIEngineEvent: This object executes test cases
-* from STIF Test Framework.
-*
-*/
-
-// INCLUDE FILES
-#include <e32base.h>
-#include <e32svr.h>
-#include <stifinternal/UIEngineContainer.h>
-#include "UIEngineEvent.h"
-#include "Logging.h"
-
-
-// EXTERNAL DATA STRUCTURES
-// None
-
-// EXTERNAL FUNCTION PROTOTYPES
-// None
-
-// CONSTANTS
-// None
-
-// MACROS
-#ifdef LOGGER
-#undef LOGGER
-#endif
-#define LOGGER iUIEngine->iLogger
-
-
-// LOCAL CONSTANTS AND MACROS
-// None
-
-// MODULE DATA STRUCTURES
-// None
-
-// LOCAL FUNCTION PROTOTYPES
-// None
-
-// FORWARD DECLARATIONS
-// None
-
-
-// ==================== LOCAL FUNCTIONS =======================================
-// None
-
-// ================= MEMBER FUNCTIONS =========================================
-
-/*
--------------------------------------------------------------------------------
-
- Class: CUIEngineEvent
-
- Method: CUIEngineEvent
-
- Description: Default constructor
-
- C++ default constructor can NOT contain any code, that
- might leave.
-
- Parameters: None
-
- Return Values: None
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-CUIEngineEvent::CUIEngineEvent( CUIEngine* aUIEngine) :
- CActive( CActive::EPriorityStandard ),
- iState( EEventIdle ),
- iUIEngine( aUIEngine ),
- iEventPckg( iEvent )
- {
- __TRACE( KPrint, ( _L( "CUIEngineEvent::CUIEngineEvent") ) );
- __ASSERT_ALWAYS( aUIEngine, User::Panic( _L("Null pointer"), KErrGeneral ) );
-
- CActiveScheduler::Add( this );
- }
-
-
-/*
--------------------------------------------------------------------------------
-
- Class: CUIEngineEvent
-
- 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: Approved
-
--------------------------------------------------------------------------------
-*/
-void CUIEngineEvent::ConstructL()
- {
-
- }
-
-
-/*
--------------------------------------------------------------------------------
-
- Class: CUIEngineEvent
-
- Method: NewL
-
- Description: Two-phased constructor.
-
- Parameters: CUIEngineContainer* CUIEngineContainer: in: Pointer to CUIEngineContainer Interface
- TTestInfo& aTestInfo: in: Test info
-
- Return Values: CUIEngineEvent* : Pointer to created runner object
-
- Errors/Exceptions: Leaves if memory allocation for CUIEngineEvent fails
- Leaves if ConstructL leaves
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-CUIEngineEvent* CUIEngineEvent::NewL( CUIEngine* aUIEngine )
- {
- CUIEngineEvent* self =
- new ( ELeave ) CUIEngineEvent( aUIEngine );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- return self;
- }
-
-
-/*
--------------------------------------------------------------------------------
-
- Class: CUIEngineEvent
-
- Method: ~CUIEngineEvent
-
- Description: Destructor
-
- Parameters: None
-
- Return Values: None
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-CUIEngineEvent::~CUIEngineEvent()
- {
-
- __TRACE( KPrint, ( _L( "CUIEngineEvent::~CUIEngineEvent()") ) );
- Cancel();
-
- if( iState == EEventWaitCompleted )
- {
- // Release event
- Release();
- }
-
- }
-
-
-/*
--------------------------------------------------------------------------------
-
- Class: CUIEngineEvent
-
- Method: Request
-
- Description: Request event.
-
- Parameters: RTestCase& aTestCase: in: Handle to test case
- TFullTestResultPckg& aFullTestResultPckg: in: Handle to TFullTestResultPckg
-
- Return Values: None
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TInt CUIEngineEvent::Request( TDesC& aEventName,
- TUint32 aMaster,
- TUint32 aSlave )
- {
-
- __TRACE( KPrint, ( _L( "CUIEngineEvent::Request %S"), &aEventName ) );
-
- iState = EEventRequested;
-
- iMaster = aMaster;
- iSlave = aSlave;
- iEvent.SetType( TEventIf::EReqEvent );
- iEvent.SetName( aEventName );
-
- TRequestStatus status;
- iUIEngine->iTestEngine.Event( iEventPckg, status );
- User::WaitForRequest( status );
-
- if( status.Int() == KErrNone )
- {
- // Enable event waiting
- iState = EEventWait;
- iEvent.SetType( TEventIf::EWaitEvent );
- SetActive();
- iUIEngine->iTestEngine.Event( iEventPckg, iStatus );
- }
- return status.Int();
-
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CUIEngineEvent
-
- Method: Release
-
- Description: Release event.
-
- Parameters: RTestCase& aTestCase: in: Handle to test case
- TFullTestResultPckg& aFullTestResultPckg: in: Handle to TFullTestResultPckg
-
- Return Values: None
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TInt CUIEngineEvent::Release()
- {
-
- __TRACE( KPrint, ( _L( "CUIEngineEvent::Release %S"), &iEvent.Name() ) );
- Cancel();
-
- TRequestStatus status;
- // Release event
- iState = EEventReleased;
- iEvent.SetType( TEventIf::ERelEvent );
- iUIEngine->iTestEngine.Event( iEventPckg, status );
- User::WaitForRequest( status );
-
- return status.Int();
-
- }
-
-
-/*
--------------------------------------------------------------------------------
-
- Class: CUIEngineEvent
-
- Method: RunL
-
- Description: RunL handles completed requests.
-
- Parameters: None
-
- Return Values: None
-
- Errors/Exceptions: Leaves if iStatus is not KErrNone, error is handled in
- RunError called by CActiveObject
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-void CUIEngineEvent::RunL()
- {
-
- __TRACE( KPrint, ( _L( "CUIEngineEvent::RunL") ) );
-
- // Error handled in RunError
- User::LeaveIfError ( iStatus.Int() );
-
- switch( iState )
- {
- case EEventWait:
- {
- // Create response
- CStifTFwIfProt* resp = CStifTFwIfProt::NewL();
- CleanupStack::PushL( resp );
-
- resp->CreateL();
- resp->Append( CStifTFwIfProt::MsgType, CStifTFwIfProt::EMsgResponse );
- resp->AppendId( iSlave );
- resp->AppendId( iMaster );
- resp->Append( CStifTFwIfProt::MsgType, CStifTFwIfProt::EMsgRemote );
- resp->Append( CStifTFwIfProt::CmdType, CStifTFwIfProt::ECmdRequest );
- resp->Append( CStifTFwIfProt::EventStatus,
- CStifTFwIfProt::EEventSet );
- resp->Append( iEvent.Name() );
- if( iEvent.EventType() == TEventIf::EState )
- {
- resp->Append( CStifTFwIfProt::EventStatusParams,
- CStifTFwIfProt::EEventType,
- CStifTFwIfProt::EventType,
- TEventIf::EState );
- }
- // Send response
- iUIEngine->RemoteMsg( NULL, resp->Message() );
- CleanupStack::PopAndDestroy( resp );
-
- if( iEvent.EventType() == TEventIf::EIndication )
- {
- // Enable indication event waiting again
- iEvent.SetType( TEventIf::EWaitEvent );
- SetActive();
- iUIEngine->iTestEngine.Event( iEventPckg, iStatus );
- }
- else // state event, set only once for one request
- {
- iState = EEventWaitCompleted;
- }
- }
- break;
- case EEventWaitCompleted:
- case EEventRequested:
- case EEventReleased:
- default:
- __TRACE( KError, ( _L( "CUIEngineEvent::RunL: Illegal state %d"), iState ) );
- User::Leave( KErrGeneral );
- }
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CUIEngineEvent
-
- Method: DoCancel
-
- Description: Cancel active request.
-
- Parameters: None
-
- Return Values: None
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-void CUIEngineEvent::DoCancel()
- {
-
- __TRACE( KPrint, ( _L( "CUIEngineEvent::DoCancel") ) );
- TRequestStatus status;
-
- switch( iState )
- {
- case EEventWait:
- // First cancel waiting
- iEvent.SetType( TEventIf::ECancelWait );
- iUIEngine->iTestEngine.Event( iEventPckg, status );
- User::WaitForRequest( status );
- iState = EEventWaitCompleted;
- break;
- default:
- iUIEngine->iTestEngine.CancelAsyncRequest( ETestEngineEvent );
- iState = EEventIdle;
- break;
- }
-
- }
-
-
-/*
--------------------------------------------------------------------------------
-
- Class: CUIEngineEvent
-
- Method: RunError
-
- Description: Handle errors from STIF TestFramework
-
- Parameters: TInt aError: in: Symbian OS error: Error code
-
- Return Values: TInt KErrNone: Always returned KErrNone
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TInt CUIEngineEvent::RunError( TInt aError )
- {
- __TRACE( KPrint, ( _L( "CUIEngineEvent::RunError") ) );
-
- switch( iState )
- {
- case EEventRequested:
- case EEventWait:
- case EEventWaitCompleted:
- case EEventReleased:
- {
- // Create response
- CStifTFwIfProt* resp = NULL;
- TRAPD( err, resp = CStifTFwIfProt::NewL(); );
- if( err != KErrNone )
- {
- return KErrNone;
- }
-
- resp->CreateL();
- resp->Append( CStifTFwIfProt::MsgType, CStifTFwIfProt::EMsgResponse );
- resp->AppendId( iSlave );
- resp->AppendId( iMaster );
- resp->Append( CStifTFwIfProt::MsgType, CStifTFwIfProt::EMsgRemote );
- resp->Append( CStifTFwIfProt::CmdType, CStifTFwIfProt::ECmdRequest );
- resp->Append( CStifTFwIfProt::EventStatus,
- CStifTFwIfProt::EEventError );
- resp->Append( iEvent.Name() );
- resp->Append( CStifTFwIfProt::EventStatusParams,
- CStifTFwIfProt::EEventResult,
- aError );
-
- // Send response
- iUIEngine->RemoteMsg( NULL, resp->Message() );
- delete resp;
- }
- break;
- default:
- __TRACE( KError, ( _L( "CUIEngineEvent::RunError: Illegal state %d"), iState ) );
- return aError;
- }
-
- return KErrNone;
- }
-
-
-/*
--------------------------------------------------------------------------------
-
- DESCRIPTION
-
- CActiveTimer: This object prints running seconds to console screen.
-
--------------------------------------------------------------------------------
-*/
-
-// ================= MEMBER FUNCTIONS =========================================
-
-
-
-
-// ================= OTHER EXPORTED FUNCTIONS =================================
-// None
-
-// End of File