--- a/stif/TestEngine/src/SettingServerSession.cpp Thu Jul 15 20:25:38 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,950 +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 CSettingServer
-* class member functions.
-*
-*/
-
-// INCLUDE FILES
-#include <e32std.h>
-#include <e32svr.h>
-
-#include "SettingServerClient.h"
-#include "SettingServer.h"
-
-#include <StifParser.h>
-#include "STIFTestFrameworkSettings.h"
-
-#include "Logging.h"
-
-// EXTERNAL DATA STRUCTURES
-
-// EXTERNAL FUNCTION PROTOTYPES
-
-// CONSTANTS
-
-// MACROS
-
-// LOCAL CONSTANTS AND MACROS
-
-// MODULE DATA STRUCTURES
-
-// LOCAL FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// ==================== LOCAL FUNCTIONS =======================================
-
-// None
-
-#undef LOGGER
-#define LOGGER iSettingServer->Logger()
-
-// ================= MEMBER FUNCTIONS =========================================
-
-/*
--------------------------------------------------------------------------------
-
- Class: CLoggerSetting
-
- Method: NewL
-
- Description: Create new CLoggerSetting (Setting server session)
-
- Parameters: RThread& aClient: in: Handle to thread client
- CSettingServer* aServer: in: Pointer to CSettingServer
-
- Return Values: CLoggerSetting* Pointer to new CLoggerSetting
-
- Errors/Exceptions: Leaves if memory allocation fails or ConstructL leaves.
-
- Status: Proposal
-
--------------------------------------------------------------------------------
-*/
-CLoggerSetting* CLoggerSetting::NewL( CSettingServer* aServer )
- {
- CLoggerSetting* self=new( ELeave ) CLoggerSetting();
- CleanupStack::PushL( self );
- self->ConstructL( aServer );
- CleanupStack::Pop();
- return self;
-
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CLoggerSetting
-
- Method: CLoggerSetting
-
- Description: Constructor. Initialise base class.
-
- Parameters: RThread& aClient: in: Handle to client
-
- Return Values: None
-
- Errors/Exceptions: None
-
- Status: Proposal
-
--------------------------------------------------------------------------------
-*/
-CLoggerSetting::CLoggerSetting() :
- CSession2()
- {
-
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CLoggerSetting
-
- Method: ~CLoggerSetting
-
- Description: Destructor.
-
- Parameters: None
-
- Return Values: None
-
- Errors/Exceptions: None
-
- Status: Proposal
-
--------------------------------------------------------------------------------
-*/
-CLoggerSetting::~CLoggerSetting()
- {
-
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CLoggerSetting
-
- Method: ConstructL
-
- Description: Second level constructor.
-
- Parameters: CSettingServer* aServer: in: Server
-
- Return Values: None
-
- Errors/Exceptions: Leaves if base class CreateL leaves
-
- Status: Proposal
-
--------------------------------------------------------------------------------
-*/
-void CLoggerSetting::ConstructL( CSettingServer* aServer )
- {
- // @spe __TRACE( KInit,( _L( "CLoggerSetting::ConstructL - constructing server session" ) ) );
- iSettingServer = aServer;
-
- // second-phase construct base class
- //CSession2::CreateL();
-
-// iSettingServer = aServer;
-
- // Inform server class that session is opening.
- iSettingServer->OpenSession();
-
- __TRACE( KInit,( _L( "CLoggerSetting::ConstructL - constructing server session done" ) ) );
-
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CLoggerSetting
-
- Method: PanicClient
-
- Description: Panic clients.
-
- Parameters: TInt aPanic: in: Panic code
-
- Return Values: None
-
- Errors/Exceptions: None
-
- Status: Proposal
-
--------------------------------------------------------------------------------
-*/
-void CLoggerSetting::PanicClient( const TInt aPanic, const RMessage2& aMessage ) const
- {
- __TRACE( KError,( _L( "CLoggerSetting::PanicClient code = %d" ), aPanic ) );
-
- _LIT( KTxtModule,"CLoggerSetting" );
-
- aMessage.Panic( KTxtModule,aPanic );
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CLoggerSetting
-
- Method: CloseSession
-
- Description: Close session
-
- Parameters: const RMessage&: out: Message to be completed.
-
- Return Values: TInt: Always KErrNone
-
- Errors/Exceptions: None
-
- Status: Proposal
-
--------------------------------------------------------------------------------
-*/
-TInt CLoggerSetting::CloseSession( /*const RMessage& aMessage*/ )
- {
- __TRACE( KVerbose,( _L( "CLoggerSetting::CloseSession in" ) ) );
-
- // Close session from server (and stop it if required)
- iSettingServer->CloseSession();
-
- // NOTE: This complete will make after DispatchMessageL in ServiceL method.
- // Complete message. This must be done after possible closing
- // of the server to make sure that server is first closed before
- // client can send new messages.
- // aMessage.Complete( KErrNone );
-
- __TRACE( KVerbose,( _L( "CLoggerSetting::CloseSession out" ) ) );
-
- return KErrNone;
-
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CLoggerSetting
-
- Method: ServiceL
-
- Description: Trap harness for dispatcher
-
- Parameters: const RMessage& aMessage: inout: Message
-
- Return Values: None
-
- Errors/Exceptions: None
-
- Status: Proposal
-
--------------------------------------------------------------------------------
-*/
-void CLoggerSetting::ServiceL( const RMessage2& aMessage )
- {
- __TRACE( KVerbose,( _L( "CLoggerSetting::ServiceL in" ) ) );
-
- TInt r( KErrNone );
- TBool isMessageSync( EFalse );
-
- TRAPD( ret, r = DispatchMessageL( aMessage, isMessageSync ) );
-
- if( ret != KErrNone )
- {
- // Complete message on leaving cases with leave code allways.
- __TRACE( KError,( _L( "CLoggerSetting::DispatchMessageL leaved" ) ) );
- aMessage.Complete( ret );
- }
- else if( isMessageSync )
- {
- // Message is syncronous, Complete message with error code
- // originating from message handling
- __TRACE( KVerbose,( _L( "CLoggerSetting::DispatchMessageL completed with: %d" ), r ) );
- aMessage.Complete( r );
- }
- __TRACE( KVerbose,( _L( "CLoggerSetting::ServiceL out" ) ) );
-
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CLoggerSetting
-
- Method: DispatchMessageL
-
- Description: Dispatch message, calls corresponding function to do it.
-
- Parameters: const RMessage& aMessage: inout: Message to be handled
- TBool& aIsMessageSync: inout: Indication of the message type
-
- Return Values: TInt: Error code
-
- Errors/Exceptions: Leaves if operation handling function leaves
-
- Status: Proposal
-
--------------------------------------------------------------------------------
-*/
-TInt CLoggerSetting::DispatchMessageL( const RMessage2& aMessage,
- TBool& aIsMessageSync )
- {
- __TRACE( KInit ,( _L( "CLoggerSetting::DispatchMessageL in" ) ) );
- switch( aMessage.Function() )
- {
- case ESettingServerCloseSession:
- {
- __TRACE( KInit ,( _L( "Closing Setting server session" ) ) );
- aIsMessageSync = ETrue;
- return CloseSession( /*aMessage*/ );
- }
- case ESetIniFileInformation:
- {
- __TRACE( KInit ,( _L( "Set initialization file setting" ) ) );
- aIsMessageSync = ETrue;
- return SetIniFileSettings( aMessage );
- }
- case EReadLoggerSettingsFromIniFile:
- {
- __TRACE( KInit ,( _L( "Read Logger setting(s) from initialization file" ) ) );
- aIsMessageSync = ETrue;
- return ReadLoggerSettingsFromIniFile( aMessage );
- }
- case EGetLoggerSettings:
- {
- __TRACE( KInit ,( _L( "Get Logger setting(s)" ) ) );
- aIsMessageSync = ETrue;
- return GetLoggerSettings( aMessage );
- }
- case ESetNewIniFileSetting:
- {
- __TRACE( KInit ,( _L( "Set new initialization file setting" ) ) );
- aIsMessageSync = ETrue;
- return SetNewIniFileSetting( aMessage );
- }
- case EGetEngineSettings:
- {
- __TRACE(KInit, (_L("Get Engine settings")));
- aIsMessageSync = ETrue;
- return GetEngineSettings(aMessage);
- }
- case EStoreEngineSettings:
- {
- __TRACE(KInit, (_L("Store Engine settings")));
- aIsMessageSync = ETrue;
- return StoreEngineSettings(aMessage);
- }
- // Invalid request
- default:
- {
- PanicClient( EBadRequest, aMessage );
- return KErrNotSupported;
- }
- }
-
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CSettingServer
-
- Method: SetIniFileSettings
-
- Description: Set initialization filename and path settings to Setting
- server.
-
- Parameters: const RMessage& aMessage: inout: Message to be handled
-
- Return Values: TInt: Symbian error code
-
- Errors/Exceptions: None
-
- Status: Proposal
-
--------------------------------------------------------------------------------
-*/
-TInt CLoggerSetting::SetIniFileSettings( const RMessage2& aMessage )
- {
- __TRACE( KInit, ( _L( "CLoggerSetting::SetIniFileSettings" ) ) );
-
- // Get data from message
- TFileName iniFile;
-
- // Get length from message param 1
- // Read data from client descriptor (param 0)
- TRAPD( ret, aMessage.ReadL( 0, iniFile ) );
-
- if ( ret != KErrNone )
- {
- PanicClient( EBadDescriptor, aMessage );
- return KErrBadDescriptor;
- }
-
- // Inifile name and path information
- iSettingServer->iIniFile = iniFile;
-
- __TRACE( KInit, ( _L( "New initialization file: [%S]" ), &iSettingServer->iIniFile ) );
-
- return KErrNone;
-
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CSettingServer
-
- Method: ReadLoggerSettingsFromIniFile
-
- Description: Read Logger setting from initialization file. Mainly use from
- TestEngine side.
-
- Parameters: const RMessage& aMessage: inout: Message to be handled
-
- Return Values: TInt: Symbian error code
-
- Errors/Exceptions: None
-
- Status: Proposal
-
--------------------------------------------------------------------------------
-*/
-TInt CLoggerSetting::ReadLoggerSettingsFromIniFile( const RMessage2& aMessage )
- {
- __TRACE( KInit, ( _L( "CLoggerSetting::ReadLoggerSettingsFromIniFile" ) ) );
-
- TInt ret = ReadLoggerDefaults();
- if( ret != KErrNone )
- {
- return ret;
- }
-
- // Copies logger settings to the package
- TPckg<TLoggerSettings> loggerSettingsPckg( iSettingServer->iLoggerSettings );
-
- // Writes a packege that includes the logger overwrite settings to aMessage
- TRAPD( err, aMessage.WriteL( 0, loggerSettingsPckg ) );
-
- if ( err != KErrNone )
- {
- PanicClient( EBadDescriptor, aMessage );
- }
-
- return KErrNone;
-
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CLoggerSetting
-
- Method: ReadLoggerDefaults
-
- Description: Parse Logger defaults from STIF initialization
- file.
-
- Parameters: None
-
- Return Values: TInt: Return Symbian error code
-
- Errors/Exceptions: None
-
- Status: Proposal
-
--------------------------------------------------------------------------------
-*/
-TInt CLoggerSetting::ReadLoggerDefaults()
- {
- __TRACE( KInit,( _L( "" ) ) );
- __TRACE( KInit,( _L( "CLoggerSetting::ReadLoggerDefaults" ) ) );
- __TRACE( KInit,( _L( "Start reading and parsing Logger defaults" ) ) );
-
- TInt ret = KErrNone;
-
- // Create parser for parsing ini file
- CStifParser* parser = NULL;
- TRAPD( r, parser = CStifParser::NewL( _L(""), iSettingServer->iIniFile ) );
- if ( r != KErrNone )
- {
- __TRACE( KError,( CStifLogger::ERed, _L( "Can't open ini-file [%S], code %d" ), &iSettingServer->iIniFile, r ) );
- return r;
- }
-
- CSTIFTestFrameworkSettings* settings = NULL;
- TRAPD( settings_ret, settings = CSTIFTestFrameworkSettings::NewL() );
- if ( settings_ret != KErrNone )
- {
- __TRACE( KError,( CStifLogger::ERed, _L( "CSTIFTestFrameworkSettings class object creation fails") ) );
- return settings_ret;
- }
-
- TInt get_ret( KErrNone );
-
- CStifSectionParser* sectionParser = NULL;
- // Parse Logger's overwrite values
- _LIT( KDefaultsStart, "[Logger_Defaults]" );
- _LIT( KDefaultsEnd, "[End_Logger_Defaults]" );
- __TRACE( KInit,( _L( "Starting to search sections" ) ) );
-
- TRAP( r,
- sectionParser = parser->SectionL( KDefaultsStart, KDefaultsEnd );
- );
- // Get directory settings
- if ( ( r == KErrNone ) && sectionParser )
- {
- __TRACE( KInit,( _L( "Found '%S' and '%S' sections" ), &KDefaultsStart, &KDefaultsEnd ) );
-
- __TRACE( KInit,( _L( "Parsing Logger directory indicator" ) ) );
- TBool createDir( EFalse );
- TRAP( get_ret,
- get_ret = settings->GetBooleanSettingsL( sectionParser,
- _L( "CreateLogDirectories=" ), createDir );
- );
- if ( get_ret == KErrNone )
- {
- __TRACE( KInit,( _L( "Logger directory indicator: %d"), createDir ) );
- iSettingServer->iLoggerSettings.iCreateLogDirectories = createDir;
- iSettingServer->iLoggerSettings.iIsDefined.iCreateLogDir = ETrue;
- }
- else
- {
- __TRACE( KInit,( _L( "Indicator not found or not given" ) ) );
- }
-
- // Get Logger path settings
- __TRACE( KInit,( _L( "Parsing Logger path setting (Emulator)" ) ) );
- TPtrC emulatorPath;
- get_ret = settings->GetFileSetting( sectionParser,
- _L( "EmulatorBasePath=" ),
- emulatorPath );
- if ( get_ret == KErrNone )
- {
- __TRACE( KInit,( _L( "Logger base path setting: %S"), &emulatorPath ) );
- iSettingServer->iLoggerSettings.iEmulatorPath = emulatorPath;
- iSettingServer->iLoggerSettings.iIsDefined.iPath = ETrue;
- }
- else
- {
- __TRACE( KInit,( _L( "Path not found or not given (Emulator)" ) ) );
- }
-
- // Get Logger format settings
- __TRACE( KInit,( _L( "Parsing Logger file type setting (Emulator)" ) ) );
- CStifLogger::TLoggerType emulatorType = CStifLogger::ETxt;
- TRAP( get_ret,
- get_ret = settings->GetFormatL( sectionParser,
- _L( "EmulatorFormat=" ), emulatorType );
- );
- if ( get_ret == KErrNone )
- {
- __TRACE( KInit,( _L( "File type setting: %d"), emulatorType ) );
- iSettingServer->iLoggerSettings.iEmulatorFormat = emulatorType;
- iSettingServer->iLoggerSettings.iIsDefined.iFormat = ETrue;
- }
- else
- {
- __TRACE( KInit,( _L( "File type not found or not given (Emulator)" ) ) );
- }
-
- // Get Logger output settings
- __TRACE( KInit,( _L( "Parsing Logger output setting (Emulator)" ) ) );
- CStifLogger::TOutput emulatorOutput = CStifLogger::EFile;
- TRAP( get_ret,
- get_ret = settings->GetOutputL( sectionParser,
- _L( "EmulatorOutput=" ), emulatorOutput );
- );
- if ( get_ret == KErrNone )
- {
- __TRACE( KInit,( _L( "Output setting: %d"), emulatorOutput ) );
- iSettingServer->iLoggerSettings.iEmulatorOutput = emulatorOutput;
- iSettingServer->iLoggerSettings.iIsDefined.iOutput = ETrue;
- }
- else
- {
- __TRACE( KInit,( _L( "Output not found or not given (Emulator)" ) ) );
- }
-
- // Get Logger HW path settings
- __TRACE( KInit,( _L( "Parsing Logger path setting (Hardware)" ) ) );
- TPtrC hwPath;
- get_ret = settings->GetFileSetting( sectionParser,
- _L( "HardwareBasePath=" ),
- hwPath );
- if ( get_ret == KErrNone )
- {
- __TRACE( KInit,( _L( "Base path setting: %S"), &hwPath ) );
- iSettingServer->iLoggerSettings.iHardwarePath = hwPath;
- iSettingServer->iLoggerSettings.iIsDefined.iHwPath = ETrue;
- }
- else
- {
- __TRACE( KInit,( _L( "Path not found or not given (Hardware)" ) ) );
- }
-
- // Get Logger HW format settings
- __TRACE( KInit,( _L( "Parsing Logger file type setting (Hardware)" ) ) );
- CStifLogger::TLoggerType hwType = CStifLogger::ETxt;
- TRAP( get_ret,
- get_ret = settings->GetFormatL( sectionParser,
- _L( "HardwareFormat=" ), hwType );
- );
- if ( get_ret == KErrNone )
- {
- __TRACE( KInit,( _L( "File type setting: %d"), hwType ) );
- iSettingServer->iLoggerSettings.iHardwareFormat = hwType;
- iSettingServer->iLoggerSettings.iIsDefined.iHwFormat = ETrue;
- }
- else
- {
- __TRACE( KInit,( _L( "File type not found or not given (Hardware)" ) ) );
- }
-
- // Get Logger HW output settings
- __TRACE( KInit,( _L( "Parsing Logger output setting (Hardware)" ) ) );
- CStifLogger::TOutput hwOutput = CStifLogger::EFile;
- TRAP( get_ret,
- get_ret = settings->GetOutputL( sectionParser,
- _L( "HardwareOutput=" ), hwOutput );
- );
- if ( get_ret == KErrNone )
- {
- __TRACE( KInit,( _L( "Output setting: %d"), hwOutput ) );
- iSettingServer->iLoggerSettings.iHardwareOutput = hwOutput;
- iSettingServer->iLoggerSettings.iIsDefined.iHwOutput = ETrue;
- }
- else
- {
- __TRACE( KInit,( _L( "Output not found or not given (Hardware)" ) ) );
- }
-
- // Get Logger file creation mode (overwrite settings)
- __TRACE( KInit,( _L( "Parsing file creation setting" ) ) );
- TBool overwrite( ETrue );
- TRAP( get_ret,
- get_ret = settings->GetOverwriteL( sectionParser,
- _L( "FileCreationMode=" ), overwrite );
- );
- if ( get_ret == KErrNone )
- {
- __TRACE( KInit,( _L( "File creation mode setting: %d"), overwrite ) );
- iSettingServer->iLoggerSettings.iOverwrite = overwrite;
- iSettingServer->iLoggerSettings.iIsDefined.iOverwrite = ETrue;
- }
- else
- {
- __TRACE( KInit,( _L( "File creation not found or not given" ) ) );
- }
-
- // Get Time stamp settings
- __TRACE( KInit,( _L( "Parsing time stamp setting" ) ) );
- TBool timeStamp( ETrue );
- TRAP( get_ret,
- get_ret = settings->GetBooleanSettingsL( sectionParser,
- _L( "WithTimeStamp=" ), timeStamp );
- );
- if ( get_ret == KErrNone )
- {
- __TRACE( KInit,( _L( "Time stamp setting: %d"), timeStamp ) );
- iSettingServer->iLoggerSettings.iTimeStamp = timeStamp;
- iSettingServer->iLoggerSettings.iIsDefined.iTimeStamp = ETrue;
- }
- else
- {
- __TRACE( KInit,( _L( "Time stamp not found or not given" ) ) );
- }
-
- // Get Test report line break settings
- __TRACE( KInit,( _L( "Parsing line break setting" ) ) );
- TBool lineBreak( ETrue );
- TRAP( get_ret,
- get_ret = settings->GetBooleanSettingsL( sectionParser,
- _L( "WithLineBreak=" ), lineBreak );
- );
- if ( get_ret == KErrNone )
- {
- __TRACE( KInit,( _L( "Line break setting: %d"), lineBreak ) );
- iSettingServer->iLoggerSettings.iLineBreak = lineBreak;
- iSettingServer->iLoggerSettings.iIsDefined.iLineBreak = ETrue;
- }
- else
- {
- __TRACE( KInit,( _L( "Line break not found or not given" ) ) );
- }
-
- // Get Test report event ranking settings
- __TRACE( KInit,( _L( "Parsing event ranking setting" ) ) );
- TBool eventRanking( EFalse );
- TRAP( get_ret,
- get_ret = settings->GetBooleanSettingsL( sectionParser,
- _L( "WithEventRanking=" ), eventRanking );
- );
- if ( get_ret == KErrNone )
- {
- __TRACE( KInit,( _L( "Event ranking setting: %d"), eventRanking ) );
- iSettingServer->iLoggerSettings.iEventRanking = eventRanking;
- iSettingServer->iLoggerSettings.iIsDefined.iEventRanking = ETrue;
- }
- else
- {
- __TRACE( KInit,( _L( "Event ranking not found or not given" ) ) );
- }
-
- // Get Test report thread id settings
- __TRACE( KInit,( _L( "Parsing thread id setting" ) ) );
- TBool threadId( EFalse );
- TRAP( get_ret,
- get_ret = settings->GetBooleanSettingsL( sectionParser,
- _L( "ThreadIdToLogFile=" ), threadId );
- );
- if ( get_ret == KErrNone )
- {
- __TRACE( KInit,( _L( "Thread id setting: %d"), threadId ) );
- iSettingServer->iLoggerSettings.iThreadId = threadId;
- iSettingServer->iLoggerSettings.iIsDefined.iThreadId = ETrue;
- }
- else
- {
- __TRACE( KInit,( _L( "Thread id not found or not given" ) ) );
- }
- // Get unicode setting
- __TRACE( KInit,( _L( "Parsing unicode setting" ) ) );
- TBool unicode(EFalse);
- TRAP( get_ret,
- get_ret = settings->GetBooleanSettingsL( sectionParser,
- _L( "FileUnicode=" ), unicode );
- );
- if ( get_ret == KErrNone )
- {
- __TRACE( KInit,( _L( "Unicode setting: %d"), unicode ) );
- iSettingServer->iLoggerSettings.iUnicode = unicode;
- iSettingServer->iLoggerSettings.iIsDefined.iUnicode = ETrue;
- }
- else
- {
- __TRACE( KInit,( _L( "Unicode setting not found or not given" ) ) );
- }
-
- // Check if test case title should be added to log file name
- __TRACE( KInit,( _L( "Parsing AddTestCaseTitle setting" ) ) );
- TBool addTestCaseTitle(EFalse);
- TRAP(get_ret,
- get_ret = settings->GetBooleanSettingsL(sectionParser,
- _L( "AddTestCaseTitle=" ), addTestCaseTitle);
- );
- if(get_ret == KErrNone)
- {
- __TRACE( KInit,( _L( "AddTestCaseTitle setting: %d"), addTestCaseTitle));
- iSettingServer->iLoggerSettings.iAddTestCaseTitle = addTestCaseTitle;
- iSettingServer->iLoggerSettings.iIsDefined.iAddTestCaseTitle = ETrue;
- }
- else
- {
- __TRACE(KInit, (_L("AddTestCaseTitle setting not found or not given")));
- }
- }
- else
- {
- __TRACE( KInit,( _L( "Not found '%S' and '%S' sections" ), &KDefaultsStart, &KDefaultsEnd ) );
- ret = KErrNotFound;
- }
- __TRACE( KInit,( _L( "End reading and parsing Logger defaults" ) ) );
- __TRACE( KInit,( _L( "" ) ) );
- delete sectionParser;
- delete settings;
- delete parser;
-
- return ret;
-
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CSettingServer
-
- Method: GetLoggerSettings
-
- Description: Get Logger settings. Mainly use from Logger side.
-
- If there are not any active sessions, then stop active scheduler and
- close whole server.
-
- Parameters: None
-
- Return Values: TInt: Symbian error code
-
- Errors/Exceptions: None
-
- Status: Proposal
-
--------------------------------------------------------------------------------
-*/
-TInt CLoggerSetting::GetLoggerSettings( const RMessage2& aMessage )
- {
- __TRACE( KInit, ( _L( "CLoggerSetting::GetLoggerSettings in" ) ) );
-
- // Copies logger settings to the package
- TPckg<TLoggerSettings> loggerSettingsPckg( iSettingServer->iLoggerSettings );
-
- // Writes a packege that includes the logger overwrite settings to aMessage
- TRAPD( err, aMessage.WriteL( 0, loggerSettingsPckg ) );
-
- if ( err != KErrNone )
- {
- PanicClient( EBadDescriptor, aMessage );
- }
-
- __TRACE( KInit, ( _L( "CLoggerSetting::GetLoggerSettings out" ) ) );
-
- return KErrNone;
-
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CSettingServer
-
- Method: SetNewIniFileSetting
-
- Description: Set new initialization file settings to WINS and HW platforms.
-
- Parameters: None
-
- Return Values: TInt: Symbian error code
-
- Errors/Exceptions: None
-
- Status: Proposal
-
--------------------------------------------------------------------------------
-*/
-TInt CLoggerSetting::SetNewIniFileSetting( const RMessage2& aMessage )
- {
- __TRACE( KInit, ( _L( "CLoggerSetting::SetNewIniFileSetting" ) ) );
-
- TInt ret( 0 );
-
- TName newIniFileSetting;
- // Get data from message
- // NOTE! If message length is over TName, ReadL will cut the message
- // to allowed size and won't return any error code or leave code.
- TRAP( ret, aMessage.ReadL( 0, newIniFileSetting ) );
-
- if ( ret != KErrNone )
- {
- PanicClient( EBadDescriptor, aMessage );
- return KErrBadDescriptor;
- }
-
- iSettingServer->iLoggerSettings.iEmulatorPath = newIniFileSetting;
- iSettingServer->iLoggerSettings.iIsDefined.iPath = ETrue;
- iSettingServer->iLoggerSettings.iHardwarePath = newIniFileSetting;
- iSettingServer->iLoggerSettings.iIsDefined.iHwPath = ETrue;
-
- __TRACE( KInit, ( _L( "New emulator and hardware path: [%S]" ), &newIniFileSetting ) );
-
- return KErrNone;
-
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CSettingServer
-
- Method: GetEngineSettings
-
- Description: Get TestEngine settings.
-
- If there are not any active sessions, then stop active scheduler and
- close whole server.
-
- Parameters: None
-
- Return Values: TInt: Symbian error code
-
- Errors/Exceptions: None
-
- Status: Proposal
-
--------------------------------------------------------------------------------
-*/
-TInt CLoggerSetting::GetEngineSettings(const RMessage2& aMessage)
- {
- __TRACE(KInit, (_L("CLoggerSetting::GetEngineSettings in")));
-
- // Copies logger settings to the package
- TPckg<TEngineSettings> engineSettingsPckg(iSettingServer->iEngineSettings);
-
- // Writes a packege that includes the logger overwrite settings to aMessage
- TRAPD(err, aMessage.WriteL(0, engineSettingsPckg));
-
- if(err != KErrNone)
- {
- PanicClient(EBadDescriptor, aMessage);
- }
-
- __TRACE(KInit, (_L("CLoggerSetting::GetEngineSettings out")));
-
- return KErrNone;
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CSettingServer
-
- Method: StoreEngineSettings
-
- Description: Store TestEngine settings.
-
- If there are not any active sessions, then stop active scheduler and
- close whole server.
-
- Parameters: None
-
- Return Values: TInt: Symbian error code
-
- Errors/Exceptions: None
-
- Status: Proposal
-
--------------------------------------------------------------------------------
-*/
-TInt CLoggerSetting::StoreEngineSettings(const RMessage2& aMessage)
- {
- __TRACE(KInit, (_L("CLoggerSetting::StoreEngineSettings in")));
-
- // Copies logger settings to the package
- TPckg<TEngineSettings> engineSettingsPckg(iSettingServer->iEngineSettings);
-
- // Reads a packege that includes the engine settings
- TRAPD(err, aMessage.ReadL(0, engineSettingsPckg));
-
- if(err != KErrNone)
- {
- PanicClient(EBadDescriptor, aMessage);
- }
-
- __TRACE(KInit, (_L("CLoggerSetting::StoreEngineSettings out")));
-
- return KErrNone;
- }
-
-// End of File