First public contribution.
2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of "Eclipse Public License v1.0"
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
21 #include <Stiftestinterface.h>
23 #include <SettingServerClient.h>
25 // EXTERNAL DATA STRUCTURES
26 //extern ?external_data;
28 // EXTERNAL FUNCTION PROTOTYPES
29 //extern ?external_function( ?arg_type,?arg_type );
32 //const ?type ?constant_var = ?constant;
35 //#define ?macro ?macro_def
37 // LOCAL CONSTANTS AND MACROS
38 //const ?type ?constant_var = ?constant;
39 //#define ?macro_name ?macro_def
41 // MODULE DATA STRUCTURES
43 //typedef ?declaration
45 // LOCAL FUNCTION PROTOTYPES
46 //?type ?function_name( ?arg_type, ?arg_type );
48 // FORWARD DECLARATIONS
49 //class ?FORWARD_CLASSNAME;
51 // ============================= LOCAL FUNCTIONS ===============================
53 // -----------------------------------------------------------------------------
54 // ?function_name ?description.
56 // Returns: ?value_1: ?description
57 // ?value_n: ?description_line1
59 // -----------------------------------------------------------------------------
63 ?arg_type arg, // ?description
64 ?arg_type arg) // ?description
74 // ============================ MEMBER FUNCTIONS ===============================
76 // -----------------------------------------------------------------------------
77 // CBCThread::CBCThread
78 // C++ default constructor can NOT contain any code, that
80 // -----------------------------------------------------------------------------
83 CTestModuleIf& aTestModuleIf ):
84 CScriptBase( aTestModuleIf )
88 // -----------------------------------------------------------------------------
89 // CBCThread::ConstructL
90 // Symbian 2nd phase constructor can leave.
91 // -----------------------------------------------------------------------------
93 void CBCThread::ConstructL()
95 //Read logger settings to check whether test case name is to be
96 //appended to log file name.
97 RSettingServer settingServer;
98 TInt ret = settingServer.Connect();
103 // Struct to StifLogger settigs.
104 TLoggerSettings loggerSettings;
105 // Parse StifLogger defaults from STIF initialization file.
106 ret = settingServer.GetLoggerSettings(loggerSettings);
111 // Close Setting server session
112 settingServer.Close();
114 TFileName logFileName;
116 if(loggerSettings.iAddTestCaseTitle)
119 TestModuleIf().GetTestCaseTitleL(title);
120 logFileName.Format(KBCThreadLogFileWithTitle, &title);
124 logFileName.Copy(KBCThreadLogFile);
127 iLog = CStifLogger::NewL( KBCThreadLogPath,
133 SendTestClassVersion();
136 // -----------------------------------------------------------------------------
138 // Two-phased constructor.
139 // -----------------------------------------------------------------------------
141 CBCThread* CBCThread::NewL(
142 CTestModuleIf& aTestModuleIf )
144 CBCThread* self = new (ELeave) CBCThread( aTestModuleIf );
146 CleanupStack::PushL( self );
155 CBCThread::~CBCThread()
158 // Delete resources allocated from test methods
166 //-----------------------------------------------------------------------------
167 // CBCThread::SendTestClassVersion
168 // Method used to send version of test class
169 //-----------------------------------------------------------------------------
171 void CBCThread::SendTestClassVersion()
173 TVersion moduleVersion;
174 moduleVersion.iMajor = TEST_CLASS_VERSION_MAJOR;
175 moduleVersion.iMinor = TEST_CLASS_VERSION_MINOR;
176 moduleVersion.iBuild = TEST_CLASS_VERSION_BUILD;
178 TFileName moduleName;
179 moduleName = _L("BCThread.dll");
181 TestModuleIf().SendTestModuleVersion(moduleVersion, moduleName);
184 // ========================== OTHER EXPORTED FUNCTIONS =========================
186 // -----------------------------------------------------------------------------
187 // LibEntryL is a polymorphic Dll entry point.
188 // Returns: CScriptBase: New CScriptBase derived object
189 // -----------------------------------------------------------------------------
191 EXPORT_C CScriptBase* LibEntryL(
192 CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework
195 return ( CScriptBase* ) CBCThread::NewL( aTestModuleIf );