localconnectivityservice/generichid/tsrc/GenericHidTest/src/GenericHidTest.cpp
author hgs
Thu, 04 Nov 2010 15:31:42 +0800
changeset 60 841f70763fbe
parent 29 3ae5cb0b4c02
permissions -rw-r--r--
201044_04
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
29
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
     1
/*
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
     2
* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
     3
* All rights reserved.
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
     8
*
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
     9
* Initial Contributors:
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    11
*
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    12
* Contributors:
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    13
*
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    14
* Description:  
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    15
*
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    16
*/
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    17
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    18
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    19
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    20
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    21
// INCLUDE FILES
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    22
#include <Stiftestinterface.h>
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    23
#include "GenericHidTest.h"
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    24
#include <SettingServerClient.h>
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    25
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    26
//#include "testlogger.h"
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    27
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    28
// EXTERNAL DATA STRUCTURES
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    29
//extern  ?external_data;
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    30
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    31
// EXTERNAL FUNCTION PROTOTYPES  
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    32
//extern ?external_function( ?arg_type,?arg_type );
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    33
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    34
// CONSTANTS
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    35
//const ?type ?constant_var = ?constant;
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    36
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    37
// MACROS
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    38
//#define ?macro ?macro_def
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    39
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    40
// LOCAL CONSTANTS AND MACROS
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    41
//const ?type ?constant_var = ?constant;
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    42
//#define ?macro_name ?macro_def
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    43
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    44
// MODULE DATA STRUCTURES
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    45
//enum ?declaration
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    46
//typedef ?declaration
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    47
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    48
// LOCAL FUNCTION PROTOTYPES
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    49
//?type ?function_name( ?arg_type, ?arg_type );
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    50
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    51
// FORWARD DECLARATIONS
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    52
//class ?FORWARD_CLASSNAME;
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    53
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    54
// ============================= LOCAL FUNCTIONS ===============================
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    55
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    56
// -----------------------------------------------------------------------------
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    57
// ?function_name ?description.
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    58
// ?description
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    59
// Returns: ?value_1: ?description
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    60
//          ?value_n: ?description_line1
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    61
//                    ?description_line2
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    62
// -----------------------------------------------------------------------------
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    63
//
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    64
/*
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    65
?type ?function_name(
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    66
    ?arg_type arg,  // ?description
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    67
    ?arg_type arg)  // ?description
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    68
    {
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    69
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    70
    ?code  // ?comment
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    71
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    72
    // ?comment
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    73
    ?code
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    74
    }
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    75
*/
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    76
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    77
// ============================ MEMBER FUNCTIONS ===============================
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    78
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    79
// -----------------------------------------------------------------------------
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    80
// CGenericHidTest::CGenericHidTest
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    81
// C++ default constructor can NOT contain any code, that
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    82
// might leave.
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    83
// -----------------------------------------------------------------------------
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    84
//
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    85
CGenericHidTest::CGenericHidTest( 
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    86
    CTestModuleIf& aTestModuleIf ):
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    87
        CScriptBase( aTestModuleIf )
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    88
    {
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    89
    }
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    90
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    91
// -----------------------------------------------------------------------------
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    92
// CGenericHidTest::ConstructL
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    93
// Symbian 2nd phase constructor can leave.
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    94
// -----------------------------------------------------------------------------
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    95
//
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    96
void CGenericHidTest::ConstructL()
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    97
    {
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    98
    //iTestLogger = CHidTestLogger::NewL( &TestModuleIf() ); 
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    99
    
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   100
    //Read logger settings to check whether test case name is to be
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   101
    //appended to log file name.
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   102
    RSettingServer settingServer;
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   103
    TInt ret = settingServer.Connect();
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   104
    if(ret != KErrNone)
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   105
        {
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   106
        User::Leave(ret);
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   107
        }
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   108
    // Struct to StifLogger settigs.
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   109
    TLoggerSettings loggerSettings; 
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   110
    // Parse StifLogger defaults from STIF initialization file.
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   111
    ret = settingServer.GetLoggerSettings(loggerSettings);
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   112
    if(ret != KErrNone)
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   113
        {
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   114
        User::Leave(ret);
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   115
        } 
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   116
    // Close Setting server session
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   117
    settingServer.Close();
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   118
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   119
    TFileName logFileName;
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   120
    
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   121
    if(loggerSettings.iAddTestCaseTitle)
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   122
        {
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   123
        TName title;
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   124
        TestModuleIf().GetTestCaseTitleL(title);
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   125
        logFileName.Format(KGenericHidTestLogFileWithTitle, &title);
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   126
        }
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   127
    else
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   128
        {
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   129
        logFileName.Copy(KGenericHidTestLogFile);
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   130
        }
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   131
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   132
    iLog = CStifLogger::NewL( KGenericHidTestLogPath, 
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   133
                          logFileName,
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   134
                          CStifLogger::ETxt,
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   135
                          CStifLogger::EFile,
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   136
                          EFalse ); 
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   137
    
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   138
    SendTestClassVersion();
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   139
    
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   140
    iParser = CParser::NewL();
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   141
    }
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   142
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   143
// -----------------------------------------------------------------------------
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   144
// CGenericHidTest::NewL
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   145
// Two-phased constructor.
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   146
// -----------------------------------------------------------------------------
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   147
//
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   148
CGenericHidTest* CGenericHidTest::NewL( 
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   149
    CTestModuleIf& aTestModuleIf )
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   150
    {
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   151
    CGenericHidTest* self = new (ELeave) CGenericHidTest( aTestModuleIf );
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   152
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   153
    CleanupStack::PushL( self );
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   154
    self->ConstructL();
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   155
    CleanupStack::Pop();
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   156
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   157
    return self;
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   158
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   159
    }
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   160
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   161
// Destructor
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   162
CGenericHidTest::~CGenericHidTest()
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   163
    { 
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   164
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   165
    // Delete resources allocated from test methods
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   166
    Delete();
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   167
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   168
    // Delete logger
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   169
    delete iLog;
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   170
    
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   171
    delete iParser;
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   172
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   173
    }
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   174
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   175
//-----------------------------------------------------------------------------
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   176
// CGenericHidTest::SendTestClassVersion
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   177
// Method used to send version of test class
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   178
//-----------------------------------------------------------------------------
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   179
//
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   180
void CGenericHidTest::SendTestClassVersion()
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   181
	{
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   182
	TVersion moduleVersion;
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   183
	moduleVersion.iMajor = TEST_CLASS_VERSION_MAJOR;
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   184
	moduleVersion.iMinor = TEST_CLASS_VERSION_MINOR;
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   185
	moduleVersion.iBuild = TEST_CLASS_VERSION_BUILD;
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   186
	
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   187
	TFileName moduleName;
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   188
	moduleName = _L("GenericHidTest.dll");
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   189
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   190
	TBool newVersionOfMethod = ETrue;
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   191
	TestModuleIf().SendTestModuleVersion(moduleVersion, moduleName, newVersionOfMethod);
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   192
	}
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   193
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   194
// ========================== OTHER EXPORTED FUNCTIONS =========================
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   195
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   196
// -----------------------------------------------------------------------------
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   197
// LibEntryL is a polymorphic Dll entry point.
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   198
// Returns: CScriptBase: New CScriptBase derived object
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   199
// -----------------------------------------------------------------------------
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   200
//
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   201
EXPORT_C CScriptBase* LibEntryL( 
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   202
    CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   203
    {
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   204
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   205
    return ( CScriptBase* ) CGenericHidTest::NewL( aTestModuleIf );
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   206
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   207
    }
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   208
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   209
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   210
//  End of File