os/ossrv/stdcpp/tsrc/BC/apps/tiostreams/src/tiostreams.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 "tiostreams.h"
    23 
    24 // EXTERNAL DATA STRUCTURES
    25 //extern  ?external_data;
    26 
    27 // EXTERNAL FUNCTION PROTOTYPES  
    28 //extern ?external_function( ?arg_type,?arg_type );
    29 
    30 // CONSTANTS
    31 //const ?type ?constant_var = ?constant;
    32 
    33 // MACROS
    34 //#define ?macro ?macro_def
    35 
    36 // LOCAL CONSTANTS AND MACROS
    37 //const ?type ?constant_var = ?constant;
    38 //#define ?macro_name ?macro_def
    39 
    40 // MODULE DATA STRUCTURES
    41 //enum ?declaration
    42 //typedef ?declaration
    43 
    44 // LOCAL FUNCTION PROTOTYPES
    45 //?type ?function_name( ?arg_type, ?arg_type );
    46 
    47 // FORWARD DECLARATIONS
    48 //class ?FORWARD_CLASSNAME;
    49 
    50 // ============================= LOCAL FUNCTIONS ===============================
    51 
    52 // -----------------------------------------------------------------------------
    53 // ?function_name ?description.
    54 // ?description
    55 // Returns: ?value_1: ?description
    56 //          ?value_n: ?description_line1
    57 //                    ?description_line2
    58 // -----------------------------------------------------------------------------
    59 //
    60 /*
    61 ?type ?function_name(
    62     ?arg_type arg,  // ?description
    63     ?arg_type arg)  // ?description
    64     {
    65 
    66     ?code  // ?comment
    67 
    68     // ?comment
    69     ?code
    70     }
    71 */
    72 
    73 // ============================ MEMBER FUNCTIONS ===============================
    74 
    75 // -----------------------------------------------------------------------------
    76 // Ctiostreams::Ctiostreams
    77 // C++ default constructor can NOT contain any code, that
    78 // might leave.
    79 // -----------------------------------------------------------------------------
    80 //
    81 Ctiostreams::Ctiostreams( 
    82     CTestModuleIf& aTestModuleIf ):
    83         CScriptBase( aTestModuleIf )
    84     {
    85     }
    86 
    87 // -----------------------------------------------------------------------------
    88 // Ctiostreams::ConstructL
    89 // Symbian 2nd phase constructor can leave.
    90 // -----------------------------------------------------------------------------
    91 //
    92 void Ctiostreams::ConstructL()
    93     {
    94     iLog = CStifLogger::NewL( KtiostreamsLogPath, 
    95                           KtiostreamsLogFile,
    96                           CStifLogger::ETxt,
    97                           CStifLogger::EFile,
    98                           EFalse );
    99 		SendTestModuleVersion();
   100     }
   101 
   102 // -----------------------------------------------------------------------------
   103 // Ctiostreams::NewL
   104 // Two-phased constructor.
   105 // -----------------------------------------------------------------------------
   106 //
   107 Ctiostreams* Ctiostreams::NewL( 
   108     CTestModuleIf& aTestModuleIf )
   109     {
   110     Ctiostreams* self = new (ELeave) Ctiostreams( aTestModuleIf );
   111 
   112     CleanupStack::PushL( self );
   113     self->ConstructL();
   114     CleanupStack::Pop();
   115 
   116     return self;
   117 
   118     }
   119 
   120 // Destructor
   121 Ctiostreams::~Ctiostreams()
   122     { 
   123 
   124     // Delete resources allocated from test methods
   125     Delete();
   126 
   127     // Delete logger
   128     delete iLog; 
   129 
   130     }
   131 
   132 // ========================== OTHER EXPORTED FUNCTIONS =========================
   133 
   134 // -----------------------------------------------------------------------------
   135 // LibEntryL is a polymorphic Dll entry point.
   136 // Returns: CScriptBase: New CScriptBase derived object
   137 // -----------------------------------------------------------------------------
   138 //
   139 EXPORT_C CScriptBase* LibEntryL( 
   140     CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework
   141     {
   142 
   143     return ( CScriptBase* ) Ctiostreams::NewL( aTestModuleIf );
   144 
   145     }
   146 //-----------------------------------------------------------------------------
   147 // Ctiostreams::SendTestClassVersion
   148 // Method used to send version of test class
   149 //-----------------------------------------------------------------------------
   150 //
   151 void Ctiostreams::SendTestModuleVersion()
   152 	{
   153 	TVersion moduleVersion;
   154 	moduleVersion.iMajor = TEST_MODULE_VERSION_MAJOR;
   155 	moduleVersion.iMinor = TEST_MODULE_VERSION_MINOR;
   156 	moduleVersion.iBuild = TEST_MODULE_VERSION_BUILD;
   157 	
   158 	TFileName moduleName;
   159 	moduleName = _L("Ctiostreams.dll");
   160 	
   161 
   162 	TBool newVersionOfMethod = ETrue;
   163 	CTestModuleIf &test=TestModuleIf();
   164 	test.SendTestModuleVersion(moduleVersion, moduleName, newVersionOfMethod);
   165 	test.SetBehavior(CTestModuleIf::ETestLeaksHandles);
   166 	}
   167 
   168 //  End of File