diff -r 7259cf1302ad -r 169364e7e4b4 stif/TestCombiner/src/TestCombinerUtils.cpp --- a/stif/TestCombiner/src/TestCombinerUtils.cpp Tue Jul 06 16:05:13 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,995 +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 the implementation of -* CStartInfo class member functions. -* -*/ - - -// INCLUDE FILES -#include -#include -#include "TestCombinerUtils.h" -#include "Logging.h" - -// EXTERNAL DATA STRUCTURES -// None - -// EXTERNAL FUNCTION PROTOTYPES -// None - -// CONSTANTS -// None - -// MACROS -#ifdef LOGGER -#undef LOGGER -#endif -#define LOGGER iLog - -// LOCAL CONSTANTS AND MACROS -// None - -// MODULE DATA STRUCTURES -// None - -// LOCAL FUNCTION PROTOTYPES -// None - -// FORWARD DECLARATIONS -// None - -// ==================== LOCAL FUNCTIONS ======================================= -// None - -// ================= MEMBER FUNCTIONS ========================================= - -/* -------------------------------------------------------------------------------- - - Class: CStartInfo - - Method: CStartInfo - - Description: Default constructor - - C++ default constructor can NOT contain any code, that - might leave. - - Parameters: None - - Return Values: None - - Errors/Exceptions: None - - Status: Draft - -------------------------------------------------------------------------------- -*/ -CStartInfo::CStartInfo(): - iModule(0,0), - iCaseNum(0), - iExpectedResult(0), - iTimeout(0), - iModuleBuf(0), - iIniFileBuf(0), - iConfigBuf(0), - iTestIdBuf(0), - iTitleBuf(0), - iTestCaseArgumentsBuf(0) - { - - iCategory = TFullTestResult::ECaseExecuted; - - }; - -/* -------------------------------------------------------------------------------- - - Class: CStartInfo - - Method: ConstructL - - Description: Symbian OS second phase constructor - - Symbian OS default constructor can leave. - - Parameters: None - - Return Values: None - - Errors/Exceptions: None - - Status: Draft - -------------------------------------------------------------------------------- -*/ -void CStartInfo::ConstructL() - { - } - -/* -------------------------------------------------------------------------------- - - Class: CStartInfo - - Method: NewL - - Description: Two-phased constructor. - - Parameters: None - - Return Values: CStartInfo*: new object - - Errors/Exceptions: Leaves if new or ConstructL leaves. - - Status: Draft - -------------------------------------------------------------------------------- -*/ -CStartInfo* CStartInfo::NewL() - { - - CStartInfo* self = new (ELeave) CStartInfo(); - - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop(); - - return self; - - } - -/* -------------------------------------------------------------------------------- - - Class: CStartInfo - - Method: ~CStartInfo - - Description: Destructor - - Parameters: None - - Return Values: None - - Errors/Exceptions: None - - Status: Draft - -------------------------------------------------------------------------------- -*/ -CStartInfo::~CStartInfo() - { - - delete iModuleBuf; - delete iIniFileBuf; - delete iConfigBuf; - delete iTestIdBuf; - delete iTitleBuf; - delete iTestCaseArgumentsBuf; - } - -/* -------------------------------------------------------------------------------- - - Class: CStartInfo - - Method: SetModuleNameL - - Description: Set module name. - - Parameters: TDesC& aModule: in: Module name - TInt aExtLength: in: Extra length reserved for buffer - - Return Values: None - - Errors/Exceptions: None - - Status: Proposal - -------------------------------------------------------------------------------- -*/ - void CStartInfo::SetModuleNameL( TDesC& aModule, TInt aExtLength ) - { - - iModuleBuf = HBufC::NewL( aModule.Length() + aExtLength ); - iModule.Set( iModuleBuf->Des() ); - iModule.Append( aModule ); - - // Remove optional '.DLL' from file name - iModule.LowerCase(); - TParse parse; - parse.Set( iModule, NULL, NULL ); - - if ( parse.Ext() == _L(".dll") ) - { - const TInt len = parse.Ext().Length(); - iModule.Delete ( iModule.Length()-len, len ); - } - - - }; - -/* -------------------------------------------------------------------------------- - - Class: CStartInfo - - Method: SetIniFileL - - Description: Set initialization file name name. - - Parameters: TDesC& aIni: in: Initialization file name - - Return Values: None - - Errors/Exceptions: None - - Status: Proposal - -------------------------------------------------------------------------------- -*/ -void CStartInfo::SetIniFileL( TDesC& aIni ) - { - - iIniFileBuf = aIni.AllocL(); - iIniFile.Set( iIniFileBuf->Des() ); - - }; - -/* -------------------------------------------------------------------------------- - - Class: CStartInfo - - Method: SetConfigL - - Description: Set configuration file name name. - - Parameters: TDesC& aConfig: in: Configuration file name - - Return Values: None - - Errors/Exceptions: None - - Status: Proposal - -------------------------------------------------------------------------------- -*/ -void CStartInfo::SetConfigL( TDesC& aConfig ) - { - - iConfigBuf = aConfig.AllocL(); - iConfig.Set( iConfigBuf->Des() ); - - }; - -/* -------------------------------------------------------------------------------- - - Class: CStartInfo - - Method: SetTestIdL - - Description: Set test identifier. - - Parameters: TDesC& aTestId: in: test identifier - - Return Values: None - - Errors/Exceptions: None - - Status: Proposal - -------------------------------------------------------------------------------- -*/ -void CStartInfo::SetTestIdL( TDesC& aTestId ) - { - - iTestIdBuf = aTestId.AllocL(); - iTestId.Set( iTestIdBuf->Des() ); - - }; - -/* -------------------------------------------------------------------------------- - - Class: CStartInfo - - Method: DeleteModuleName - - Description: Delete module name buffer for creating new module name. - - Parameters: None - - Return Values: None - - Errors/Exceptions: None - - Status: Proposal - -------------------------------------------------------------------------------- -*/ -void CStartInfo::DeleteModuleName() - { - delete iModuleBuf; - iModuleBuf = NULL; - }; - -/* -------------------------------------------------------------------------------- - - Class: CStartInfo - - Method: SetTitleL - - Description: Set title. - - Parameters: TDesC& aTitle: in: Test case title - - Return Values: None - - Errors/Exceptions: None - - Status: Proposal - -------------------------------------------------------------------------------- -*/ -void CStartInfo::SetTitleL(TDesC& aTitle) - { - - iTitleBuf = aTitle.AllocL(); - iTitle.Set(iTitleBuf->Des()); - } - -/* -------------------------------------------------------------------------------- - - Class: CStartInfo - - Method: SetTestCaseArguments - - Description: Sets test case arguments - - Parameters: const TDesC& aTestCaseArguments: in: test case arguments. - - Return Values: None - - Errors/Exceptions: None - - Status: Proposal - -------------------------------------------------------------------------------- -*/ -void CStartInfo::SetTestCaseArgumentsL( const TDesC& aTestCaseArguments ) - { - delete iTestCaseArgumentsBuf; - iTestCaseArgumentsBuf = NULL; - iTestCaseArgumentsBuf = aTestCaseArguments.AllocL(); - iTestCaseArguments.Set( iTestCaseArgumentsBuf->Des() ); - } - - -/* -------------------------------------------------------------------------------- - - DESCRIPTION - - This module contains the implementation of CSlaveInfo class - member functions. - -------------------------------------------------------------------------------- -*/ - -// ================= MEMBER FUNCTIONS ========================================= - -/* -------------------------------------------------------------------------------- - - Class: CSlaveInfo - - Method: CSlaveInfo - - Description: Default constructor - - C++ default constructor can NOT contain any code, that - might leave. - - Parameters: TUint32 aMaster: in: Master id - - Return Values: None - - Errors/Exceptions: None - - Status: Draft - -------------------------------------------------------------------------------- -*/ -CSlaveInfo::CSlaveInfo( TUint32 aMaster ): - iState(ESlaveIdle), - iMasterId(aMaster), - iSlaveDevId(0) - { - - } - -/* -------------------------------------------------------------------------------- - - Class: CSlaveInfo - - Method: ConstructL - - Description: Symbian OS second phase constructor - - Symbian OS default constructor can leave. - - Parameters: TDesC& aName: in: Slave name - - Return Values: None - - Errors/Exceptions: None - - Status: Draft - -------------------------------------------------------------------------------- -*/ -void CSlaveInfo::ConstructL( TDesC& aName ) - { - - iNameBuf = aName.AllocL(); - iName.Set( iNameBuf->Des() ); - - } - -/* -------------------------------------------------------------------------------- - - Class: CSlaveInfo - - Method: NewL - - Description: Two-phased constructor. - - Parameters: TDesC& aName: in: Slave name - TUint32 aMaster: in: Master id - - Return Values: CSlaveInfo*: new object - - Errors/Exceptions: Leaves if new or ConstructL leaves. - - Status: Draft - -------------------------------------------------------------------------------- -*/ -CSlaveInfo* CSlaveInfo::NewL( TDesC& aName, TUint32 aMaster ) - { - - CSlaveInfo* self = new (ELeave) CSlaveInfo( aMaster); - - CleanupStack::PushL( self ); - self->ConstructL( aName ); - CleanupStack::Pop(); - - return self; - - } - -/* -------------------------------------------------------------------------------- - - Class: CSlaveInfo - - Method: ~CSlaveInfo - - Description: Destructor - - Parameters: None - - Return Values: None - - Errors/Exceptions: None - - Status: Draft - -------------------------------------------------------------------------------- -*/ -CSlaveInfo::~CSlaveInfo() - { - - iEvents.ResetAndDestroy(); - iEvents.Close(); - delete iNameBuf; - - } - -/* -------------------------------------------------------------------------------- - - Class: CSlaveInfo - - Method: GetEvent - - Description: Returns event with given name. - - Parameters: TDesC& aEventName: in; Event name - - Return Values: TEventTc: Event structure - - Errors/Exceptions: None - - Status: Draft - -------------------------------------------------------------------------------- -*/ -TEventTc* CSlaveInfo::GetEvent( TDesC& aEventName ) - { - - TInt count = iEvents.Count(); - for( TInt i = 0; i < count; i++ ) - { - if( iEvents[i]->Name() == aEventName ) - { - return iEvents[i]; - } - } - return NULL; - - } - -/* -------------------------------------------------------------------------------- - - DESCRIPTION - - This module contains the implementation of CDefinedValue class - member functions. - -------------------------------------------------------------------------------- -*/ - -// ================= MEMBER FUNCTIONS ========================================= - -/* -------------------------------------------------------------------------------- - - Class: CDefinedValue - - Method: CDefinedValue - - Description: Default constructor - - C++ default constructor can NOT contain any code, that - might leave. - - Parameters: None - - Return Values: None - - Errors/Exceptions: None - - Status: Draft - -------------------------------------------------------------------------------- -*/ -CDefinedValue::CDefinedValue() - { - } - -/* -------------------------------------------------------------------------------- - - Class: CDefinedValue - - Method: ConstructL - - Description: Symbian OS second phase constructor - - Symbian OS default constructor can leave. - - Parameters: TDesC& aName: in: Define name - TDesC& aValue: in: Define value - - Return Values: None - - Errors/Exceptions: None - - Status: Draft - -------------------------------------------------------------------------------- -*/ -void CDefinedValue::ConstructL( TDesC& aName, TDesC& aValue ) - { - - iNameBuf = aName.AllocLC(); - iName.Set( iNameBuf->Des() ); - iValueBuf = aValue.AllocLC(); - iValue.Set( iValueBuf->Des() ); - CleanupStack::Pop( iValueBuf ); - CleanupStack::Pop( iNameBuf ); - - } - -/* -------------------------------------------------------------------------------- - - Class: CDefinedValue - - Method: NewL - - Description: Two-phased constructor. - - Parameters: TDesC& aName: in: Define name - TDesC& aValue: in: Define value - - Return Values: CDefinedValue*: new object - - Errors/Exceptions: Leaves if new or ConstructL leaves. - - Status: Draft - -------------------------------------------------------------------------------- -*/ -CDefinedValue* CDefinedValue::NewL( TDesC& aName, TDesC& aValue ) - { - - CDefinedValue* self = new (ELeave) CDefinedValue(); - - CleanupStack::PushL( self ); - self->ConstructL( aName, aValue ); - CleanupStack::Pop(); - - return self; - - } - -/* -------------------------------------------------------------------------------- - - Class: CDefinedValue - - Method: ~CDefinedValue - - Description: Destructor - - Parameters: None - - Return Values: None - - Errors/Exceptions: None - - Status: Draft - -------------------------------------------------------------------------------- -*/ -CDefinedValue::~CDefinedValue() - { - - delete iValueBuf; - delete iNameBuf; - - } - -/* -------------------------------------------------------------------------------- - - Class: CDefinedValue - - Method: SetValueL - - Description: Set new define value - - Parameters: TDesC& aValue: in: Define value - - Return Values: None - - Errors/Exceptions: Leaves on error. - - Status: Draft - -------------------------------------------------------------------------------- -*/ -void CDefinedValue::SetValueL( TDesC& aValue ) - { - delete iValueBuf; - iValueBuf = 0; - iValueBuf = aValue.AllocLC(); - iValue.Set( iValueBuf->Des() ); - CleanupStack::Pop( iValueBuf ); - - } - - -/* -------------------------------------------------------------------------------- - - Class: CDefinedValue - - Method: Name - - Description: Returns define name. - - Parameters: None - - Return Values: TDesC: Define name - - Errors/Exceptions: None - - Status: Draft - -------------------------------------------------------------------------------- -*/ -TDesC& CDefinedValue::Name() - { - return iName; - } - -/* -------------------------------------------------------------------------------- - - Class: CDefinedValue - - Method: Value - - Description: Returns define value. - - Parameters: None - - Return Values: TDesC: Define value - - Errors/Exceptions: None - - Status: Draft - -------------------------------------------------------------------------------- -*/ -TDesC& CDefinedValue::Value() - { - return iValue; - } - -/* -------------------------------------------------------------------------------- - - DESCRIPTION - - This module contains the implementation of TEventTc class - member functions. - -------------------------------------------------------------------------------- -*/ -// MACROS -#ifdef LOGGER -#undef LOGGER -#endif -#define LOGGER iLogger - -// ================= MEMBER FUNCTIONS ========================================= - -/* -------------------------------------------------------------------------------- - - Class: TEventTc - - Method: TEventTc - - Description: Default constructor - - C++ default constructor can NOT contain any code, that - might leave. - - Parameters: None - - Return Values: None - - Errors/Exceptions: None - - Status: Proposal - -------------------------------------------------------------------------------- -*/ -TEventTc::TEventTc( CStifLogger* aLogger ): - iReq(NULL), - iLogger( aLogger ) - { - __TRACE( KMessage, (_L("TEventTc::TEventTc") ) ); - } - -/* -------------------------------------------------------------------------------- - - Class: TEventTc - - Method: TEventTc - - Description: Parametric constructor - - Parameters: None - - Return Values: None - - Errors/Exceptions: None - - Status: Proposal - -------------------------------------------------------------------------------- -*/ -TEventTc::TEventTc( TName& aEventName, CStifLogger* aLogger ): - iReq(NULL), - iLogger( aLogger ) - { - SetName( aEventName ); - SetType( EReqEvent ); - __TRACE( KMessage, (_L("TEventTc::TEventTc %S"), &aEventName ) ); - __TRACE( KMessage, (_L("TEvent::SetType Req") ) ); - } - -/* -------------------------------------------------------------------------------- - - Class: TEventTc - - Method: ~TEventTc - - Description: Destructor - - Parameters: None - - Return Values: None - - Errors/Exceptions: None - - Status: Proposal - -------------------------------------------------------------------------------- -*/ -TEventTc::~TEventTc() - { - __TRACE( KMessage, (_L("TEventTc::~TEventTc %S"), &Name() ) ); - Complete( KErrNone ); - } -/* -------------------------------------------------------------------------------- - - Class: TEventTc - - Method: SetRequestStatus - - Description: Set request status member. - - Parameters: None - - Return Values: None - - Errors/Exceptions: None - - Status: Proposal - -------------------------------------------------------------------------------- -*/ -void TEventTc::SetRequestStatus( TRequestStatus* aStatus ) - { - iReq = aStatus; - *iReq = KRequestPending; - __TRACE( KMessage, (_L("TEventTc::SetRequestStatus %S"), &Name() ) ); - } - -/* -------------------------------------------------------------------------------- - - Class: TEventTc - - Method: Complete - - Description: Complete request status member. - - Parameters: None - - Return Values: None - - Errors/Exceptions: None - - Status: Proposal - -------------------------------------------------------------------------------- -*/ -void TEventTc::Complete( TInt aError ) - { - if( iReq ) - { - __TRACE( KMessage, (_L("TEventTc::Complete %S"), &Name() ) ); - User::RequestComplete(iReq, aError ); - } - } - -/* -------------------------------------------------------------------------------- - - Class: TEventTc - - Method: SetEvent - - Description: Set event pending. - - Parameters: None - - Return Values: None - - Errors/Exceptions: None - - Status: Proposal - -------------------------------------------------------------------------------- -*/ -void TEventTc::SetEvent( TEventType aEventType ) - { - __TRACE( KMessage, (_L("TEventTc::SetEvent %S, type %d"), - &Name(), aEventType ) ); - - SetEventType( aEventType ); - if( iReq ) - { - Complete( KErrNone ); - if( EventType() == EState ) - { - __TRACE( KMessage, (_L("TEvent::SetType Set") ) ); - SetType( ESetEvent ) ; - } - } - else - { - __TRACE( KMessage, (_L("TEvent::SetType Set") ) ); - SetType( ESetEvent ) ; - } - } - -/* -------------------------------------------------------------------------------- - - Class: TEventTc - - Method: WaitEvent - - Description: Wait event. - - Parameters: None - - Return Values: None - - Errors/Exceptions: None - - Status: Proposal - -------------------------------------------------------------------------------- -*/ -void TEventTc::WaitEvent( TRequestStatus& aStatus ) - { - __TRACE( KMessage, (_L("TEventTc::WaitEvent %S"), &Name() ) ); - SetRequestStatus( &aStatus ); - if( Type() == ESetEvent ) - { - Complete( KErrNone ); - if( EventType() == EIndication ) - { - __TRACE( KMessage, (_L("TEvent::SetType Req") ) ); - SetType( EReqEvent ); - } - } - } - -// ================= OTHER EXPORTED FUNCTIONS ================================= -// None - -// End of File