diff -r 3406c99bc375 -r 07b41fa8d1dd stif/StifTFwIf/src/UIEngineRemote.cpp --- a/stif/StifTFwIf/src/UIEngineRemote.cpp Thu Jul 15 20:25:38 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,418 +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: CUIEngineRemote: This object executes test cases -* from STIF Test Framework. -* -*/ - -// INCLUDE FILES -#include -#include -#include -#include "UIEngineRemote.h" -#include "Logging.h" - - -// EXTERNAL DATA STRUCTURES -// None - -// EXTERNAL FUNCTION PROTOTYPES -// None - -// CONSTANTS -// None - -// MACROS -#ifdef LOGGER -#undef LOGGER -#endif -#define LOGGER iUIEngineContainer->iUIEngine->iLogger - - -// LOCAL CONSTANTS AND MACROS -// None - -// MODULE DATA STRUCTURES -// None - -// LOCAL FUNCTION PROTOTYPES -// None - -// FORWARD DECLARATIONS -// None - - -// ==================== LOCAL FUNCTIONS ======================================= -// None - -// ================= MEMBER FUNCTIONS ========================================= - -/* -------------------------------------------------------------------------------- - - Class: CUIEngineRemote - - Method: CUIEngineRemote - - Description: Default constructor - - C++ default constructor can NOT contain any code, that - might leave. - - Parameters: None - - Return Values: None - - Errors/Exceptions: None - - Status: Draft - -------------------------------------------------------------------------------- -*/ -CUIEngineRemote::CUIEngineRemote( CUIEngineContainer* aUIEngineContainer) : - CActive( CActive::EPriorityStandard ), - iUIEngineContainer( aUIEngineContainer ), - iRemoteTypePckg ( iRemoteType ), - iMsgLenPckg ( iMsgLen ), - iState( EIdle ) - { - __TRACE( KPrint, ( _L( "CUIEngineRemote::CUIEngineRemote") ) ); - __ASSERT_ALWAYS( aUIEngineContainer, User::Panic( _L("Null pointer"), KErrGeneral ) ); - - CActiveScheduler::Add( this ); - } - - -/* -------------------------------------------------------------------------------- - - Class: CUIEngineRemote - - 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 CUIEngineRemote::ConstructL() - { - - } - - -/* -------------------------------------------------------------------------------- - - Class: CUIEngineRemote - - Method: NewL - - Description: Two-phased constructor. - - Parameters: CUIEngineContainer* CUIEngineContainer: in: Pointer to CUIEngineContainer Interface - TTestInfo& aTestInfo: in: Test info - - Return Values: CUIEngineRemote* : Pointer to created runner object - - Errors/Exceptions: Leaves if memory allocation for CUIEngineRemote fails - Leaves if ConstructL leaves - - Status: Draft - -------------------------------------------------------------------------------- -*/ -CUIEngineRemote* CUIEngineRemote::NewL( CUIEngineContainer* aUIEngineContainer ) - { - - CUIEngineRemote* self = - new ( ELeave ) CUIEngineRemote( aUIEngineContainer ); - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop(); - return self; - - } - - -/* -------------------------------------------------------------------------------- - - Class: CUIEngineRemote - - Method: ~CUIEngineRemote - - Description: Destructor - - Parameters: None - - Return Values: None - - Errors/Exceptions: None - - Status: Draft - -------------------------------------------------------------------------------- -*/ -CUIEngineRemote::~CUIEngineRemote() - { - __TRACE( KPrint, ( _L( "CUIEngineRemote::~CUIEngineRemote()") ) ); - Cancel(); - - } - - -/* -------------------------------------------------------------------------------- - - Class: CUIEngineRemote - - Method: StartTestL - - Description: Starts testing - - Parameters: RTestCase& aTestCase: in: Handle to test case - TFullTestResultPckg& aFullTestResultPckg: in: Handle to TFullTestResultPckg - - Return Values: None - - Errors/Exceptions: None - - Status: Draft - -------------------------------------------------------------------------------- -*/ -void CUIEngineRemote::StartL( RTestCase& aTestCase ) - { - __TRACE( KPrint, ( _L( "CUIEngineRemote::StartL") ) ); - - iTestCase = aTestCase; - - if ( IsActive() ) - User::Leave( KErrInUse ); - - Start(); - - } - -/* -------------------------------------------------------------------------------- - - Class: CUIEngineRemote - - Method: Start - - Description: Start request - - Parameters: None - - Return Values: None - - Errors/Exceptions: None - - Status: Draft - -------------------------------------------------------------------------------- -*/ -void CUIEngineRemote::Start() - { - __TRACE( KPrint, ( _L( "CUIEngineRemote::Start") ) ); - - iState = EPending; - SetActive(); - iTestCase.NotifyRemoteType( iRemoteTypePckg, iMsgLenPckg, iStatus ); - - } - -/* -------------------------------------------------------------------------------- - - Class: CUIEngineRemote - - 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 CUIEngineRemote::RunL() - { - __TRACE( KPrint, ( _L( "CUIEngineRemote::RunL") ) ); - - switch( iState ) - { - case EPending: - iState = EIdle; - - switch( iRemoteType ) - { - case EStifCmdSend: // Sending message - { - if( iMsgLen <= 0 ) - { - User::Leave( KErrGeneral ); - } - HBufC8* buf = HBufC8::NewLC( iMsgLen ); - TPtr8 tmp = buf->Des(); - if( iTestCase.NotifyRemoteMsg( tmp, iRemoteType ) == KErrNone ) - { - HBufC* buf2 = HBufC::NewLC( iMsgLen ); - TPtr tmp2 = buf2->Des(); - tmp2.Copy( tmp ); - - // Forward message - iUIEngineContainer->RemoteSend( tmp2, iStatus.Int() ); - CleanupStack::PopAndDestroy( buf2 ); - } - CleanupStack::PopAndDestroy( buf ); - } - break; - case EStifCmdStoreState: // Got indication that reboot will follow - { - // System will reboot, inform UI - // Forward message - SetActive(); - TInt ret = iUIEngineContainer->GoingToReboot( iStatus ); - if( ret != KErrNone ) - { - User::Leave( ret ); - } - iState = EUIMsgPending; - return; - } - // The rest should never come here - case EStifCmdReboot: - case EStifCmdReceive: - case EStifCmdGetStoredState: - default: - { - if( iStatus.Int() != KErrServerTerminated ) - { - RDebug::Print( _L("CUIEngineRemote::RunL() -- Leaved with [%d] "), iStatus.Int() ); - User::Leave( KErrNotFound ); - } - break; - } - } - break; - case EUIMsgPending: - { - TInt result = iStatus.Int(); - if( result == KErrCancel ) - { - result = KErrNone; - } - // Let the system to reboot.. - TPckg tmp( result ); - iTestCase.NotifyRemoteMsg( tmp, EStifCmdRebootProceed ); - Start(); - return; - } - default: - User::Leave( KErrGeneral ); - } - - if( iStatus.Int() == KErrNone ) - { - Start(); - } - - } - -/* -------------------------------------------------------------------------------- - - Class: CUIEngineRemote - - Method: DoCancel - - Description: Cancel active request. - - Parameters: None - - Return Values: None - - Errors/Exceptions: None - - Status: Draft - -------------------------------------------------------------------------------- -*/ -void CUIEngineRemote::DoCancel() - { - __TRACE( KPrint, ( _L( "CUIEngineRemote::DoCancel") ) ); - iTestCase.CancelAsyncRequest( ETestCaseNotifyRemoteType ); - - } -/* -------------------------------------------------------------------------------- - - Class: CUIEngineRemote - - Method: RunError - - Description: None - - Parameters: TInt aError: in: Symbian error code - - Return Values: Error code - - Errors/Exceptions: None - - Status: Draft - -------------------------------------------------------------------------------- -*/ -TInt CUIEngineRemote::RunError(TInt aError) - { - return aError; - } - -/* -------------------------------------------------------------------------------- - - DESCRIPTION - - CActiveTimer: This object prints running seconds to console screen. - -------------------------------------------------------------------------------- -*/ - -// ================= MEMBER FUNCTIONS ========================================= - - - - -// ================= OTHER EXPORTED FUNCTIONS ================================= -// None - -// End of File