os/ossrv/stdcpp/tsrc/BC/apps/tutility/src/tutility.cpp
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
     1 /*
     2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     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".
     8 *
     9 * Initial Contributors:
    10 * Nokia Corporation - initial contribution.
    11 *
    12 * Contributors:
    13 *
    14 * Description:       
    15 *
    16 */
    17 
    18 
    19 
    20 // INCLUDE FILES
    21 #include <Stiftestinterface.h>
    22 #include "tutility.h"
    23 //#include <SettingServerClient.h>
    24 
    25 // EXTERNAL DATA STRUCTURES
    26 //extern  ?external_data;
    27 
    28 // EXTERNAL FUNCTION PROTOTYPES  
    29 //extern ?external_function( ?arg_type,?arg_type );
    30 
    31 // CONSTANTS
    32 //const ?type ?constant_var = ?constant;
    33 
    34 // MACROS
    35 //#define ?macro ?macro_def
    36 
    37 // LOCAL CONSTANTS AND MACROS
    38 //const ?type ?constant_var = ?constant;
    39 //#define ?macro_name ?macro_def
    40 
    41 // MODULE DATA STRUCTURES
    42 //enum ?declaration
    43 //typedef ?declaration
    44 
    45 // LOCAL FUNCTION PROTOTYPES
    46 //?type ?function_name( ?arg_type, ?arg_type );
    47 
    48 // FORWARD DECLARATIONS
    49 //class ?FORWARD_CLASSNAME;
    50 
    51 // ============================= LOCAL FUNCTIONS ===============================
    52 
    53 // -----------------------------------------------------------------------------
    54 // ?function_name ?description.
    55 // ?description
    56 // Returns: ?value_1: ?description
    57 //          ?value_n: ?description_line1
    58 //                    ?description_line2
    59 // -----------------------------------------------------------------------------
    60 //
    61 /*
    62 ?type ?function_name(
    63     ?arg_type arg,  // ?description
    64     ?arg_type arg)  // ?description
    65     {
    66 
    67     ?code  // ?comment
    68 
    69     // ?comment
    70     ?code
    71     }
    72 */
    73 
    74 // ============================ MEMBER FUNCTIONS ===============================
    75 
    76 // -----------------------------------------------------------------------------
    77 // Ctutility::Ctutility
    78 // C++ default constructor can NOT contain any code, that
    79 // might leave.
    80 // -----------------------------------------------------------------------------
    81 //
    82 Ctutility::Ctutility( 
    83     CTestModuleIf& aTestModuleIf ):
    84         CScriptBase( aTestModuleIf )
    85     {
    86     }
    87 
    88 // -----------------------------------------------------------------------------
    89 // Ctutility::ConstructL
    90 // Symbian 2nd phase constructor can leave.
    91 // -----------------------------------------------------------------------------
    92 //
    93 void Ctutility::ConstructL()
    94     {
    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();
    99     if(ret != KErrNone)
   100         {
   101         User::Leave(ret);
   102         }
   103     // Struct to StifLogger settigs.
   104     TLoggerSettings loggerSettings; 
   105     // Parse StifLogger defaults from STIF initialization file.
   106     ret = settingServer.GetLoggerSettings(loggerSettings);
   107     if(ret != KErrNone)
   108         {
   109         User::Leave(ret);
   110         } 
   111     // Close Setting server session
   112     settingServer.Close();
   113 
   114     TFileName logFileName;
   115     
   116     if(loggerSettings.iAddTestCaseTitle)
   117         {
   118         TName title;
   119         TestModuleIf().GetTestCaseTitleL(title);
   120         logFileName.Format(KtutilityLogFileWithTitle, &title);
   121         }
   122     else
   123         {
   124         logFileName.Copy(KtutilityLogFile);
   125         }
   126 */
   127     iLog = CStifLogger::NewL( KtutilityLogPath, 
   128                           KtutilityLogFile,
   129                           CStifLogger::ETxt,
   130                           CStifLogger::EFile,
   131                           EFalse );
   132 		SendTestModuleVersion();
   133     }
   134 
   135 // -----------------------------------------------------------------------------
   136 // Ctutility::NewL
   137 // Two-phased constructor.
   138 // -----------------------------------------------------------------------------
   139 //
   140 Ctutility* Ctutility::NewL( 
   141     CTestModuleIf& aTestModuleIf )
   142     {
   143     Ctutility* self = new (ELeave) Ctutility( aTestModuleIf );
   144 
   145     CleanupStack::PushL( self );
   146     self->ConstructL();
   147     CleanupStack::Pop();
   148 
   149     return self;
   150 
   151     }
   152 
   153 // Destructor
   154 Ctutility::~Ctutility()
   155     { 
   156 
   157     // Delete resources allocated from test methods
   158     Delete();
   159 
   160     // Delete logger
   161     delete iLog; 
   162 
   163     }
   164 
   165 // ========================== OTHER EXPORTED FUNCTIONS =========================
   166 
   167 // -----------------------------------------------------------------------------
   168 // LibEntryL is a polymorphic Dll entry point.
   169 // Returns: CScriptBase: New CScriptBase derived object
   170 // -----------------------------------------------------------------------------
   171 //
   172 EXPORT_C CScriptBase* LibEntryL( 
   173     CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework
   174     {
   175 
   176     return ( CScriptBase* ) Ctutility::NewL( aTestModuleIf );
   177 
   178     }
   179 
   180 //-----------------------------------------------------------------------------
   181 // Ctutility::SendTestClassVersion
   182 // Method used to send version of test class
   183 //-----------------------------------------------------------------------------
   184 //
   185 void Ctutility::SendTestModuleVersion()
   186 	{
   187 	TVersion moduleVersion;
   188 	moduleVersion.iMajor = TEST_MODULE_VERSION_MAJOR;
   189 	moduleVersion.iMinor = TEST_MODULE_VERSION_MINOR;
   190 	moduleVersion.iBuild = TEST_MODULE_VERSION_BUILD;
   191 	
   192 	TFileName moduleName;
   193 	moduleName = _L("Ctutility.dll");
   194 	
   195 
   196 	TBool newVersionOfMethod = ETrue;
   197 	CTestModuleIf &test=TestModuleIf();
   198 	test.SendTestModuleVersion(moduleVersion, moduleName, newVersionOfMethod);
   199 	test.SetBehavior(CTestModuleIf::ETestLeaksHandles);
   200 	}
   201 //  End of File