diff -r 000000000000 -r e6b17d312c8b imservices/ossprotocoladaptation/tsrc/ossadapmt/src/ossadapmt.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imservices/ossprotocoladaptation/tsrc/ossadapmt/src/ossadapmt.cpp Thu Dec 17 08:54:49 2009 +0200 @@ -0,0 +1,208 @@ +/* +* Copyright (c) 2002 - 2007 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: ossadapmt.cpp +* +*/ + + + +// INCLUDE FILES +#include +#include "ossadapmt.h" +#include +#include + +// EXTERNAL DATA STRUCTURES +//extern ?external_data; + +// EXTERNAL FUNCTION PROTOTYPES +//extern ?external_function( ?arg_type,?arg_type ); + +// CONSTANTS +//const ?type ?constant_var = ?constant; + +// MACROS +//#define ?macro ?macro_def + +// LOCAL CONSTANTS AND MACROS +//const ?type ?constant_var = ?constant; +//#define ?macro_name ?macro_def + +// MODULE DATA STRUCTURES +//enum ?declaration +//typedef ?declaration + +// LOCAL FUNCTION PROTOTYPES +//?type ?function_name( ?arg_type, ?arg_type ); + +// FORWARD DECLARATIONS +//class ?FORWARD_CLASSNAME; + +// ============================= LOCAL FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// ?function_name ?description. +// ?description +// Returns: ?value_1: ?description +// ?value_n: ?description_line1 +// ?description_line2 +// ----------------------------------------------------------------------------- +// +/* +?type ?function_name( + ?arg_type arg, // ?description + ?arg_type arg) // ?description + { + + ?code // ?comment + + // ?comment + ?code + } +*/ + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// Cossadapmt::Cossadapmt +// C++ default constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +// +Cossadapmt::Cossadapmt ( + CTestModuleIf& aTestModuleIf ) : + CScriptBase ( aTestModuleIf ) + { + } + +// ----------------------------------------------------------------------------- +// Cossadapmt::ConstructL +// Symbian 2nd phase constructor can leave. +// ----------------------------------------------------------------------------- +// +void Cossadapmt::ConstructL() + { + //Read logger settings to check whether test case name is to be + //appended to log file name. + RSettingServer settingServer; + TInt ret = settingServer.Connect(); + + if ( ret != KErrNone ) + { + User::Leave ( ret ); + } + + // Struct to StifLogger settigs. + TLoggerSettings loggerSettings; + + // Parse StifLogger defaults from STIF initialization file. + ret = settingServer.GetLoggerSettings ( loggerSettings ); + + if ( ret != KErrNone ) + { + User::Leave ( ret ); + } + + // Close Setting server session + settingServer.Close(); + + TFileName logFileName; + + if ( loggerSettings.iAddTestCaseTitle ) + { + TName title; + TestModuleIf().GetTestCaseTitleL ( title ); + logFileName.Format ( KossadapmtLogFileWithTitle, &title ); + } + else + { + logFileName.Copy ( KossadapmtLogFile ); + } + + iLog = CStifLogger::NewL ( KossadapmtLogPath, + + logFileName, + CStifLogger::ETxt, + CStifLogger::EFile, + EFalse ); + TestModuleIf().SetBehavior ( CTestModuleIf::ETestLeaksHandles ); + + } + +// ----------------------------------------------------------------------------- +// Cossadapmt::NewL +// Two-phased constructor. +// ----------------------------------------------------------------------------- +// +Cossadapmt* Cossadapmt::NewL ( + CTestModuleIf& aTestModuleIf ) + { + Cossadapmt* self = new ( ELeave ) Cossadapmt ( aTestModuleIf ); + + CleanupStack::PushL ( self ); + self->ConstructL(); + CleanupStack::Pop(); + + return self; + + } + +// Destructor +Cossadapmt::~Cossadapmt() + { + + // Delete resources allocated from test methods + Delete(); + + // Delete logger + delete iLog; + + } + +// ========================== OTHER EXPORTED FUNCTIONS ========================= + +// ----------------------------------------------------------------------------- +// LibEntryL is a polymorphic Dll entry point. +// Returns: CScriptBase: New CScriptBase derived object +// ----------------------------------------------------------------------------- +// +EXPORT_C CScriptBase* LibEntryL ( + CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework + { + + return ( CScriptBase* ) Cossadapmt::NewL ( aTestModuleIf ); + + } + +// CONSTANTS +const TInt KTLogBufferLength = 256; + +_LIT ( KTLogDir, "osmt" ); +_LIT ( KTLogFile, "ossadapmt.txt" ); + +void TOssAdapMtLogger::Log ( TRefByValue aFmt, ... ) + { + VA_LIST list; + VA_START ( list, aFmt ); + + // Print to log file + TBuf buf; + buf.FormatList ( aFmt, list ); + + // Write to log file + RFileLogger::Write ( KTLogDir, KTLogFile, EFileLoggingModeAppend, buf ); + + } + +// End of File