radioengine/utils/tsrc/src/UtilsTestModuleBlocks.cpp
author hgs
Fri, 15 Oct 2010 16:26:27 +0300
changeset 57 21be958eb3ce
permissions -rw-r--r--
201041
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
57
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
* 
hgs
parents:
diff changeset
    14
* Description: This file contains testclass implementation.
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
// [INCLUDE FILES] - do not remove
hgs
parents:
diff changeset
    19
#include <e32svr.h>
hgs
parents:
diff changeset
    20
#include <e32cmn.h>
hgs
parents:
diff changeset
    21
#include <StifParser.h>
hgs
parents:
diff changeset
    22
#include <Stiftestinterface.h>
hgs
parents:
diff changeset
    23
#include <data_caging_path_literals.hrh>
hgs
parents:
diff changeset
    24
#include <centralrepository.h>
hgs
parents:
diff changeset
    25
#include<RadioStubManager.h>
hgs
parents:
diff changeset
    26
#include <ctsydomainpskeys.h>
hgs
parents:
diff changeset
    27
#include <publicruntimeids.hrh>
hgs
parents:
diff changeset
    28
#include <sacls.h>
hgs
parents:
diff changeset
    29
hgs
parents:
diff changeset
    30
#include "UtilsTestModule.h"
hgs
parents:
diff changeset
    31
#include "cradiosystemeventcollector.h"
hgs
parents:
diff changeset
    32
#include "radioengineutils.h"
hgs
parents:
diff changeset
    33
hgs
parents:
diff changeset
    34
hgs
parents:
diff changeset
    35
// EXTERNAL DATA STRUCTURES
hgs
parents:
diff changeset
    36
//extern  ?external_data;
hgs
parents:
diff changeset
    37
hgs
parents:
diff changeset
    38
// EXTERNAL FUNCTION PROTOTYPES  
hgs
parents:
diff changeset
    39
//extern ?external_function( ?arg_type,?arg_type );
hgs
parents:
diff changeset
    40
hgs
parents:
diff changeset
    41
// CONSTANTS
hgs
parents:
diff changeset
    42
//const ?type ?constant_var = ?constant;
hgs
parents:
diff changeset
    43
//_LIT( KStifScriptEmptyString, "EMPTYSTRING" );
hgs
parents:
diff changeset
    44
//_LIT( KEmptyString, "" );
hgs
parents:
diff changeset
    45
_LIT_SECURITY_POLICY_PASS(KRadioServerReadPolicy);
hgs
parents:
diff changeset
    46
_LIT_SECURITY_POLICY_C1(KRadioServerWritePolicy, ECapabilityWriteUserData);
hgs
parents:
diff changeset
    47
hgs
parents:
diff changeset
    48
// MACROS
hgs
parents:
diff changeset
    49
//#define ?macro ?macro_def
hgs
parents:
diff changeset
    50
hgs
parents:
diff changeset
    51
// LOCAL CONSTANTS AND MACROS
hgs
parents:
diff changeset
    52
//const ?type ?constant_var = ?constant;
hgs
parents:
diff changeset
    53
//#define ?macro_name ?macro_def
hgs
parents:
diff changeset
    54
hgs
parents:
diff changeset
    55
// MODULE DATA STRUCTURES
hgs
parents:
diff changeset
    56
//enum ?declaration
hgs
parents:
diff changeset
    57
//typedef ?declaration
hgs
parents:
diff changeset
    58
hgs
parents:
diff changeset
    59
// LOCAL FUNCTION PROTOTYPES
hgs
parents:
diff changeset
    60
//?type ?function_name( ?arg_type, ?arg_type );
hgs
parents:
diff changeset
    61
hgs
parents:
diff changeset
    62
// FORWARD DECLARATIONS
hgs
parents:
diff changeset
    63
//class ?FORWARD_CLASSNAME;
hgs
parents:
diff changeset
    64
hgs
parents:
diff changeset
    65
// ============================= LOCAL FUNCTIONS ===============================
hgs
parents:
diff changeset
    66
hgs
parents:
diff changeset
    67
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    68
// ?function_name ?description.
hgs
parents:
diff changeset
    69
// ?description
hgs
parents:
diff changeset
    70
// Returns: ?value_1: ?description
hgs
parents:
diff changeset
    71
//          ?value_n: ?description_line1
hgs
parents:
diff changeset
    72
//                    ?description_line2
hgs
parents:
diff changeset
    73
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    74
//
hgs
parents:
diff changeset
    75
/*
hgs
parents:
diff changeset
    76
?type ?function_name(
hgs
parents:
diff changeset
    77
    ?arg_type arg,  // ?description
hgs
parents:
diff changeset
    78
    ?arg_type arg)  // ?description
hgs
parents:
diff changeset
    79
    {
hgs
parents:
diff changeset
    80
hgs
parents:
diff changeset
    81
    ?code  // ?comment
hgs
parents:
diff changeset
    82
hgs
parents:
diff changeset
    83
    // ?comment
hgs
parents:
diff changeset
    84
    ?code
hgs
parents:
diff changeset
    85
    }
hgs
parents:
diff changeset
    86
*/
hgs
parents:
diff changeset
    87
hgs
parents:
diff changeset
    88
hgs
parents:
diff changeset
    89
// ============================ MEMBER FUNCTIONS ===============================
hgs
parents:
diff changeset
    90
hgs
parents:
diff changeset
    91
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    92
// CPresetUtilityTestModule::Delete
hgs
parents:
diff changeset
    93
// Delete here all resources allocated and opened from test methods. 
hgs
parents:
diff changeset
    94
// Called from destructor. 
hgs
parents:
diff changeset
    95
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    96
//
hgs
parents:
diff changeset
    97
void CUtilsTestModule::Delete() 
hgs
parents:
diff changeset
    98
    {
hgs
parents:
diff changeset
    99
    FUNC_LOG;
hgs
parents:
diff changeset
   100
hgs
parents:
diff changeset
   101
    }
hgs
parents:
diff changeset
   102
hgs
parents:
diff changeset
   103
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   104
// CUtilsTestModule::RunMethodL
hgs
parents:
diff changeset
   105
// Run specified method. Contains also table of test mothods and their names.
hgs
parents:
diff changeset
   106
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   107
//
hgs
parents:
diff changeset
   108
TInt CUtilsTestModule::RunMethodL( 
hgs
parents:
diff changeset
   109
    CStifItemParser& aItem ) 
hgs
parents:
diff changeset
   110
    {
hgs
parents:
diff changeset
   111
    FUNC_LOG;
hgs
parents:
diff changeset
   112
hgs
parents:
diff changeset
   113
    static TStifFunctionInfo const KFunctions[] =
hgs
parents:
diff changeset
   114
        {  
hgs
parents:
diff changeset
   115
        // Copy this line for every implemented function.
hgs
parents:
diff changeset
   116
        // First string is the function name used in TestScripter script file.
hgs
parents:
diff changeset
   117
        // Second is the actual implementation member function. 
hgs
parents:
diff changeset
   118
        ENTRY( "Example", CUtilsTestModule::ExampleL ),
hgs
parents:
diff changeset
   119
        // [test cases entries] - Do not remove
hgs
parents:
diff changeset
   120
        ENTRY( "CreateSystemEventCollectorL", CUtilsTestModule::CreateSystemEventCollectorL ),
hgs
parents:
diff changeset
   121
        ENTRY( "DestroySystemEventCollector", CUtilsTestModule::DestroySystemEventCollector ),
hgs
parents:
diff changeset
   122
        ENTRY( "IsNetworkCoverage", CUtilsTestModule::IsNetworkCoverage ),
hgs
parents:
diff changeset
   123
        ENTRY( "IsMobileNetworkCoverage", CUtilsTestModule::IsMobileNetworkCoverage ),
hgs
parents:
diff changeset
   124
        ENTRY( "IsCallActive", CUtilsTestModule::IsCallActive ),
hgs
parents:
diff changeset
   125
        ENTRY( "IsAudioResourcesAvailable", CUtilsTestModule::IsAudioResourcesAvailable ),
hgs
parents:
diff changeset
   126
        ENTRY( "IsHeadsetConnectedL", CUtilsTestModule::IsHeadsetConnectedL ),
hgs
parents:
diff changeset
   127
        ENTRY( "OOMTestForCreation", CUtilsTestModule::OOMTestForCreation ),
hgs
parents:
diff changeset
   128
        ENTRY( "tstSetPropertyValueForHeadset", CUtilsTestModule::tstSetPropertyValueForHeadset ),
hgs
parents:
diff changeset
   129
        ENTRY( "tstSetPropertyValueForNetworkStatus", CUtilsTestModule::tstSetPropertyValueForNetworkStatus ),
hgs
parents:
diff changeset
   130
        ENTRY( "tstSetPropertyValueForCallState", CUtilsTestModule::tstSetPropertyValueForCallState ),
hgs
parents:
diff changeset
   131
        ENTRY( "CreateAudioRouterL", CUtilsTestModule::CreateAudioRouterL ),
hgs
parents:
diff changeset
   132
        ENTRY( "DestroyAudioRouter", CUtilsTestModule::DestroyAudioRouter ),
hgs
parents:
diff changeset
   133
        ENTRY( "OOMTestForAudioRouterCreation", CUtilsTestModule::OOMTestForAudioRouterCreation ),
hgs
parents:
diff changeset
   134
        ENTRY( "CreateRoutableAudioL", CUtilsTestModule::CreateRoutableAudioL ),
hgs
parents:
diff changeset
   135
        ENTRY( "DestroyRoutableAudio", CUtilsTestModule::DestroyRoutableAudio ),
hgs
parents:
diff changeset
   136
        ENTRY( "OOMTestForRoutableAudioCreation", CUtilsTestModule::OOMTestForRoutableAudioCreation )
hgs
parents:
diff changeset
   137
        //ADD NEW ENTRY HERE
hgs
parents:
diff changeset
   138
hgs
parents:
diff changeset
   139
        };
hgs
parents:
diff changeset
   140
hgs
parents:
diff changeset
   141
    const TInt count = sizeof( KFunctions ) / 
hgs
parents:
diff changeset
   142
                        sizeof( TStifFunctionInfo );
hgs
parents:
diff changeset
   143
hgs
parents:
diff changeset
   144
    return RunInternalL( KFunctions, count, aItem );
hgs
parents:
diff changeset
   145
hgs
parents:
diff changeset
   146
    }
hgs
parents:
diff changeset
   147
hgs
parents:
diff changeset
   148
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   149
// CUtilsTestModule::ExampleL
hgs
parents:
diff changeset
   150
// Example test method function.
hgs
parents:
diff changeset
   151
// (other items were commented in a header).
hgs
parents:
diff changeset
   152
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   153
//
hgs
parents:
diff changeset
   154
TInt CUtilsTestModule::ExampleL( CStifItemParser& aItem )
hgs
parents:
diff changeset
   155
    {
hgs
parents:
diff changeset
   156
    FUNC_LOG;
hgs
parents:
diff changeset
   157
hgs
parents:
diff changeset
   158
    // Print to UI
hgs
parents:
diff changeset
   159
    _LIT( KSettingsTestModule, "UtilsTestModule" );
hgs
parents:
diff changeset
   160
    _LIT( KExample, "In Example" );
hgs
parents:
diff changeset
   161
    TestModuleIf().Printf( 0, KSettingsTestModule, KExample );
hgs
parents:
diff changeset
   162
    // Print to log file
hgs
parents:
diff changeset
   163
    iLog->Log( KExample );
hgs
parents:
diff changeset
   164
hgs
parents:
diff changeset
   165
    TInt i = 0;
hgs
parents:
diff changeset
   166
    TPtrC string;
hgs
parents:
diff changeset
   167
    _LIT( KParam, "Param[%i]: %S" );
hgs
parents:
diff changeset
   168
    while ( aItem.GetNextString ( string ) == KErrNone )
hgs
parents:
diff changeset
   169
        {
hgs
parents:
diff changeset
   170
        TestModuleIf().Printf( i, KSettingsTestModule, 
hgs
parents:
diff changeset
   171
                                KParam, i, &string );
hgs
parents:
diff changeset
   172
        ++i;
hgs
parents:
diff changeset
   173
        }
hgs
parents:
diff changeset
   174
hgs
parents:
diff changeset
   175
    return KErrNone;
hgs
parents:
diff changeset
   176
hgs
parents:
diff changeset
   177
    }
hgs
parents:
diff changeset
   178
hgs
parents:
diff changeset
   179
//-----------------------------------------------------------------------------
hgs
parents:
diff changeset
   180
// CPresetUtilityTest::CreateSystemEventCollectorL
hgs
parents:
diff changeset
   181
//-----------------------------------------------------------------------------
hgs
parents:
diff changeset
   182
TInt CUtilsTestModule::CreateSystemEventCollectorL(CStifItemParser& /*aItem*/)
hgs
parents:
diff changeset
   183
    {
hgs
parents:
diff changeset
   184
    FUNC_LOG;
hgs
parents:
diff changeset
   185
hgs
parents:
diff changeset
   186
    TInt err(KErrNone);
hgs
parents:
diff changeset
   187
    err = InitSharedMemory();
hgs
parents:
diff changeset
   188
    if ( KErrNone == err )
hgs
parents:
diff changeset
   189
        {
hgs
parents:
diff changeset
   190
        tstDefineAndAttachTestProperties();
hgs
parents:
diff changeset
   191
        }
hgs
parents:
diff changeset
   192
    if ((!iSystemEventCollector) && (KErrNone == err))
hgs
parents:
diff changeset
   193
        {
hgs
parents:
diff changeset
   194
        TRAP( err, RadioEngineUtils::InitializeL(); );
hgs
parents:
diff changeset
   195
        if (KErrNone != err)
hgs
parents:
diff changeset
   196
            {
hgs
parents:
diff changeset
   197
            INFO_1( "RadioEngineUtils::InitializeL() failed err = %i", err )
hgs
parents:
diff changeset
   198
            iRadioStubManagerChunk.Close();
hgs
parents:
diff changeset
   199
            }
hgs
parents:
diff changeset
   200
        else
hgs
parents:
diff changeset
   201
            {
hgs
parents:
diff changeset
   202
            TRAP( err, iSystemEventCollector = CRadioSystemEventCollector::NewL(); );
hgs
parents:
diff changeset
   203
            if ( KErrNone == err )
hgs
parents:
diff changeset
   204
                {
hgs
parents:
diff changeset
   205
                TRAP( err, iSystemEventCollector->AddObserverL( this ); );
hgs
parents:
diff changeset
   206
                if ( KErrNone != err )
hgs
parents:
diff changeset
   207
                    {
hgs
parents:
diff changeset
   208
                    INFO_1( "iSystemEventCollector->AddObserverL() failed err = %i", err )
hgs
parents:
diff changeset
   209
                    iRadioStubManagerChunk.Close();
hgs
parents:
diff changeset
   210
                    delete iSystemEventCollector;
hgs
parents:
diff changeset
   211
                    iSystemEventCollector = NULL;
hgs
parents:
diff changeset
   212
                    RadioEngineUtils::Release();
hgs
parents:
diff changeset
   213
                    }
hgs
parents:
diff changeset
   214
                }
hgs
parents:
diff changeset
   215
            else
hgs
parents:
diff changeset
   216
                {
hgs
parents:
diff changeset
   217
                INFO_1( "CRadioSystemEventCollector::NewL() failed err = %i", err )
hgs
parents:
diff changeset
   218
                iRadioStubManagerChunk.Close();
hgs
parents:
diff changeset
   219
                RadioEngineUtils::Release();
hgs
parents:
diff changeset
   220
                }
hgs
parents:
diff changeset
   221
            }
hgs
parents:
diff changeset
   222
        }
hgs
parents:
diff changeset
   223
    if ( KErrNoMemory == err )
hgs
parents:
diff changeset
   224
        {
hgs
parents:
diff changeset
   225
        User::Leave( err );
hgs
parents:
diff changeset
   226
        }
hgs
parents:
diff changeset
   227
    MRadioAudioRoutingObserver* observer(NULL);
hgs
parents:
diff changeset
   228
    iSystemEventCollector->AsObserver( observer );
hgs
parents:
diff changeset
   229
    if (NULL == observer)
hgs
parents:
diff changeset
   230
        {
hgs
parents:
diff changeset
   231
        INFO("Null pointer got for MRadioAudioRoutingObserver from MRadioAudioRoutingObserver from iSystemEventCollector->AsObserver.");   
hgs
parents:
diff changeset
   232
        }
hgs
parents:
diff changeset
   233
    return err;
hgs
parents:
diff changeset
   234
    }
hgs
parents:
diff changeset
   235
hgs
parents:
diff changeset
   236
//-----------------------------------------------------------------------------
hgs
parents:
diff changeset
   237
// CUtilsTestModule::DestroySystemEventCollector
hgs
parents:
diff changeset
   238
//-----------------------------------------------------------------------------
hgs
parents:
diff changeset
   239
TInt CUtilsTestModule::DestroySystemEventCollector(CStifItemParser& /*aItem*/)
hgs
parents:
diff changeset
   240
    {
hgs
parents:
diff changeset
   241
    FUNC_LOG;
hgs
parents:
diff changeset
   242
    if (iSystemEventCollector)
hgs
parents:
diff changeset
   243
        {
hgs
parents:
diff changeset
   244
        iSystemEventCollector->RemoveObserver(this);
hgs
parents:
diff changeset
   245
        iRadioStubManagerChunk.Close();
hgs
parents:
diff changeset
   246
        delete iSystemEventCollector;
hgs
parents:
diff changeset
   247
        iSystemEventCollector = NULL;
hgs
parents:
diff changeset
   248
        RadioEngineUtils::Release();
hgs
parents:
diff changeset
   249
        iPropertyHeadsetStatus.Delete(KStub_KRadioPSUid, SRadioStubManager::EStub_KRadioTestPSKeyHeadsetConnected);
hgs
parents:
diff changeset
   250
        iPropertyHeadsetStatus.Close();
hgs
parents:
diff changeset
   251
        iPropertyNetworkStatus.Delete(KStub_KUidSystemCategory, KUidNetworkStatusValue);
hgs
parents:
diff changeset
   252
        iPropertyNetworkStatus.Close();
hgs
parents:
diff changeset
   253
        iPropertyCallState.Delete(KStub_KPSUidCtsyCallInformation, KCTsyCallState);
hgs
parents:
diff changeset
   254
        iPropertyCallState.Close();
hgs
parents:
diff changeset
   255
        }
hgs
parents:
diff changeset
   256
    return KErrNone;
hgs
parents:
diff changeset
   257
    }
hgs
parents:
diff changeset
   258
hgs
parents:
diff changeset
   259
//-----------------------------------------------------------------------------
hgs
parents:
diff changeset
   260
// CUtilsTestModule::OOMTestForCreation
hgs
parents:
diff changeset
   261
//-----------------------------------------------------------------------------
hgs
parents:
diff changeset
   262
TInt CUtilsTestModule::OOMTestForCreation(CStifItemParser& /*aItem*/)
hgs
parents:
diff changeset
   263
    {
hgs
parents:
diff changeset
   264
    FUNC_LOG;
hgs
parents:
diff changeset
   265
    TInt err(KErrNone);
hgs
parents:
diff changeset
   266
    err = InitSharedMemory();
hgs
parents:
diff changeset
   267
    if (KErrNone == err)
hgs
parents:
diff changeset
   268
        {
hgs
parents:
diff changeset
   269
        RadioEngineUtils::InitializeL();
hgs
parents:
diff changeset
   270
        TInt i(-1);
hgs
parents:
diff changeset
   271
        for (err = KErrNoMemory; KErrNoMemory == err; __UHEAP_MARKEND)
hgs
parents:
diff changeset
   272
            {
hgs
parents:
diff changeset
   273
            TRAP ( err,
hgs
parents:
diff changeset
   274
                        {
hgs
parents:
diff changeset
   275
                        ++i;
hgs
parents:
diff changeset
   276
                        INFO_1("loop count = %i", i );
hgs
parents:
diff changeset
   277
                        __UHEAP_MARK;
hgs
parents:
diff changeset
   278
                        __UHEAP_FAILNEXT( i );
hgs
parents:
diff changeset
   279
                        TRAP( err, CreateSystemEventCollector2L(); );
hgs
parents:
diff changeset
   280
                        if ( iSystemEventCollector )
hgs
parents:
diff changeset
   281
                            {
hgs
parents:
diff changeset
   282
                            delete iSystemEventCollector;
hgs
parents:
diff changeset
   283
                            iSystemEventCollector = NULL;
hgs
parents:
diff changeset
   284
                            }
hgs
parents:
diff changeset
   285
                        }
hgs
parents:
diff changeset
   286
            );
hgs
parents:
diff changeset
   287
            }
hgs
parents:
diff changeset
   288
        __UHEAP_RESET;
hgs
parents:
diff changeset
   289
        RadioEngineUtils::Release();
hgs
parents:
diff changeset
   290
        iRadioStubManagerChunk.Close();
hgs
parents:
diff changeset
   291
        }
hgs
parents:
diff changeset
   292
    return err;
hgs
parents:
diff changeset
   293
    }
hgs
parents:
diff changeset
   294
hgs
parents:
diff changeset
   295
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   296
// CUtilsTestModule::IsNetworkCoverage()
hgs
parents:
diff changeset
   297
// Returns: Errors.
hgs
parents:
diff changeset
   298
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   299
TInt CUtilsTestModule::IsNetworkCoverage(CStifItemParser& aItem)
hgs
parents:
diff changeset
   300
    {
hgs
parents:
diff changeset
   301
    FUNC_LOG;
hgs
parents:
diff changeset
   302
    TInt err(KErrNone);
hgs
parents:
diff changeset
   303
    TBool expectedNetworkCoverageStatus(EFalse);
hgs
parents:
diff changeset
   304
    // read parameters
hgs
parents:
diff changeset
   305
    if (aItem.GetNextInt(expectedNetworkCoverageStatus))
hgs
parents:
diff changeset
   306
        {
hgs
parents:
diff changeset
   307
        err = KErrBadTestParameter;
hgs
parents:
diff changeset
   308
        ERROR(err, "Missing Parameter: expectedNetworkCoverageStatus.");
hgs
parents:
diff changeset
   309
        }
hgs
parents:
diff changeset
   310
    TBool networkCoverageStatus(iSystemEventCollector->IsNetworkCoverage());
hgs
parents:
diff changeset
   311
    if (expectedNetworkCoverageStatus != networkCoverageStatus)
hgs
parents:
diff changeset
   312
        {
hgs
parents:
diff changeset
   313
        INFO_2(
hgs
parents:
diff changeset
   314
                "Failed: networkCoverageStatus=%i, expectedNetworkCoverageStatus=%i.",
hgs
parents:
diff changeset
   315
                networkCoverageStatus, expectedNetworkCoverageStatus);
hgs
parents:
diff changeset
   316
        err = KErrUnexpectedValue;
hgs
parents:
diff changeset
   317
        }
hgs
parents:
diff changeset
   318
    return err;
hgs
parents:
diff changeset
   319
    }
hgs
parents:
diff changeset
   320
hgs
parents:
diff changeset
   321
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   322
// CUtilsTestModule::IsMobileNetworkCoverage()
hgs
parents:
diff changeset
   323
// Returns: Errors.
hgs
parents:
diff changeset
   324
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   325
TInt CUtilsTestModule::IsMobileNetworkCoverage(CStifItemParser& aItem)
hgs
parents:
diff changeset
   326
    {
hgs
parents:
diff changeset
   327
    FUNC_LOG;
hgs
parents:
diff changeset
   328
    TInt err(KErrNone);
hgs
parents:
diff changeset
   329
    TBool expectedMobileNetworkCoverageStatus(EFalse);
hgs
parents:
diff changeset
   330
    // read parameters
hgs
parents:
diff changeset
   331
    if (aItem.GetNextInt(expectedMobileNetworkCoverageStatus))
hgs
parents:
diff changeset
   332
        {
hgs
parents:
diff changeset
   333
        err = KErrBadTestParameter;
hgs
parents:
diff changeset
   334
        ERROR(err, "Missing Parameter: expectedMobileNetworkCoverageStatus.");
hgs
parents:
diff changeset
   335
        }
hgs
parents:
diff changeset
   336
    TBool mobileNetworkCoverageStatus(
hgs
parents:
diff changeset
   337
            iSystemEventCollector->IsMobileNetworkCoverage());
hgs
parents:
diff changeset
   338
    if (expectedMobileNetworkCoverageStatus != mobileNetworkCoverageStatus)
hgs
parents:
diff changeset
   339
        {
hgs
parents:
diff changeset
   340
        INFO_2(
hgs
parents:
diff changeset
   341
                "Failed: mobileNetworkCoverageStatus=%i, expectedMobileNetworkCoverageStatus=%i.",
hgs
parents:
diff changeset
   342
                mobileNetworkCoverageStatus,
hgs
parents:
diff changeset
   343
                expectedMobileNetworkCoverageStatus);
hgs
parents:
diff changeset
   344
        err = KErrUnexpectedValue;
hgs
parents:
diff changeset
   345
        }
hgs
parents:
diff changeset
   346
    return err;
hgs
parents:
diff changeset
   347
    }
hgs
parents:
diff changeset
   348
hgs
parents:
diff changeset
   349
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   350
// CUtilsTestModule::IsCallActive()
hgs
parents:
diff changeset
   351
// Returns: Errors.
hgs
parents:
diff changeset
   352
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   353
TInt CUtilsTestModule::IsCallActive(CStifItemParser& aItem)
hgs
parents:
diff changeset
   354
    {
hgs
parents:
diff changeset
   355
    FUNC_LOG;
hgs
parents:
diff changeset
   356
    TInt err(KErrNone);
hgs
parents:
diff changeset
   357
    TBool expectedCallActiveStatus(EFalse);
hgs
parents:
diff changeset
   358
    // read parameters
hgs
parents:
diff changeset
   359
    if (aItem.GetNextInt(expectedCallActiveStatus))
hgs
parents:
diff changeset
   360
        {
hgs
parents:
diff changeset
   361
        err = KErrBadTestParameter;
hgs
parents:
diff changeset
   362
        ERROR(err, "Missing Parameter: expectedCallActiveStatus.");
hgs
parents:
diff changeset
   363
        }
hgs
parents:
diff changeset
   364
    TBool callActiveStatus(iSystemEventCollector->IsCallActive());
hgs
parents:
diff changeset
   365
    if (expectedCallActiveStatus != callActiveStatus)
hgs
parents:
diff changeset
   366
        {
hgs
parents:
diff changeset
   367
        INFO_2("Failed: callActiveStatus=%i, expectedCallActiveStatus=%i.",
hgs
parents:
diff changeset
   368
                callActiveStatus, expectedCallActiveStatus);
hgs
parents:
diff changeset
   369
        err = KErrUnexpectedValue;
hgs
parents:
diff changeset
   370
        }
hgs
parents:
diff changeset
   371
    return err;
hgs
parents:
diff changeset
   372
    }
hgs
parents:
diff changeset
   373
hgs
parents:
diff changeset
   374
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   375
// CUtilsTestModule::IsAudioResourcesAvailable()
hgs
parents:
diff changeset
   376
// Returns: Errors.
hgs
parents:
diff changeset
   377
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   378
TInt CUtilsTestModule::IsAudioResourcesAvailable(CStifItemParser& aItem)
hgs
parents:
diff changeset
   379
    {
hgs
parents:
diff changeset
   380
    FUNC_LOG;
hgs
parents:
diff changeset
   381
    TInt err(KErrNone);
hgs
parents:
diff changeset
   382
    TBool expectedAudioResourcesAvailableStatus(EFalse);
hgs
parents:
diff changeset
   383
    // read parameters
hgs
parents:
diff changeset
   384
    if (aItem.GetNextInt(expectedAudioResourcesAvailableStatus))
hgs
parents:
diff changeset
   385
        {
hgs
parents:
diff changeset
   386
        err = KErrBadTestParameter;
hgs
parents:
diff changeset
   387
        ERROR(err,
hgs
parents:
diff changeset
   388
                "Missing Parameter: expectedAudioResourcesAvailableStatus.");
hgs
parents:
diff changeset
   389
        }
hgs
parents:
diff changeset
   390
    TBool audioResourcesAvailableStatus(
hgs
parents:
diff changeset
   391
            iSystemEventCollector->IsAudioResourcesAvailable());
hgs
parents:
diff changeset
   392
    if (expectedAudioResourcesAvailableStatus
hgs
parents:
diff changeset
   393
            != audioResourcesAvailableStatus)
hgs
parents:
diff changeset
   394
        {
hgs
parents:
diff changeset
   395
        INFO_2(
hgs
parents:
diff changeset
   396
                "Failed: audioResourcesAvailableStatus=%i, expectedAudioResourcesAvailableStatus=%i.",
hgs
parents:
diff changeset
   397
                audioResourcesAvailableStatus,
hgs
parents:
diff changeset
   398
                expectedAudioResourcesAvailableStatus);
hgs
parents:
diff changeset
   399
        err = KErrUnexpectedValue;
hgs
parents:
diff changeset
   400
        }
hgs
parents:
diff changeset
   401
    return err;
hgs
parents:
diff changeset
   402
    }
hgs
parents:
diff changeset
   403
hgs
parents:
diff changeset
   404
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   405
// CUtilsTestModule::IsHeadsetConnectedL()
hgs
parents:
diff changeset
   406
// Returns: Errors.
hgs
parents:
diff changeset
   407
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   408
TInt CUtilsTestModule::IsHeadsetConnectedL(CStifItemParser& aItem)
hgs
parents:
diff changeset
   409
    {
hgs
parents:
diff changeset
   410
    FUNC_LOG;
hgs
parents:
diff changeset
   411
    TInt err(KErrNone);
hgs
parents:
diff changeset
   412
    TBool expectedHeadsetConnectedStatus(EFalse);
hgs
parents:
diff changeset
   413
    // read parameters
hgs
parents:
diff changeset
   414
    if (aItem.GetNextInt(expectedHeadsetConnectedStatus))
hgs
parents:
diff changeset
   415
        {
hgs
parents:
diff changeset
   416
        err = KErrBadTestParameter;
hgs
parents:
diff changeset
   417
        ERROR(err, "Missing Parameter: expectedHeadsetConnectedStatus.");
hgs
parents:
diff changeset
   418
        }
hgs
parents:
diff changeset
   419
    TBool
hgs
parents:
diff changeset
   420
            headsetConnectedStatus(
hgs
parents:
diff changeset
   421
                    iSystemEventCollector->IsHeadsetConnectedL());
hgs
parents:
diff changeset
   422
    if (expectedHeadsetConnectedStatus != headsetConnectedStatus)
hgs
parents:
diff changeset
   423
        {
hgs
parents:
diff changeset
   424
        INFO_2(
hgs
parents:
diff changeset
   425
                "Failed: headsetConnectedStatus=%i, expectedHeadsetConnectedStatus=%i.",
hgs
parents:
diff changeset
   426
                headsetConnectedStatus, expectedHeadsetConnectedStatus);
hgs
parents:
diff changeset
   427
        err = KErrUnexpectedValue;
hgs
parents:
diff changeset
   428
        }
hgs
parents:
diff changeset
   429
    return err;
hgs
parents:
diff changeset
   430
    }
hgs
parents:
diff changeset
   431
hgs
parents:
diff changeset
   432
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   433
// CUtilsTestModule::tstSetPropertyValueForHeadset()
hgs
parents:
diff changeset
   434
// Returns: System error.
hgs
parents:
diff changeset
   435
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   436
TInt CUtilsTestModule::tstSetPropertyValueForHeadset( CStifItemParser& aItem )
hgs
parents:
diff changeset
   437
    {
hgs
parents:
diff changeset
   438
    FUNC_LOG;
hgs
parents:
diff changeset
   439
    TInt err( KErrNone );
hgs
parents:
diff changeset
   440
    TBool headsetConnectedStatus(EFalse);
hgs
parents:
diff changeset
   441
    // read parameters
hgs
parents:
diff changeset
   442
    if (aItem.GetNextInt(headsetConnectedStatus))
hgs
parents:
diff changeset
   443
        {
hgs
parents:
diff changeset
   444
        err = KErrBadTestParameter;
hgs
parents:
diff changeset
   445
        ERROR(err, "Missing Parameter: headsetConnectedStatus.");
hgs
parents:
diff changeset
   446
        }
hgs
parents:
diff changeset
   447
    err = iPropertyHeadsetStatus.Set(KStub_KRadioPSUid, SRadioStubManager::EStub_KRadioTestPSKeyHeadsetConnected, headsetConnectedStatus);
hgs
parents:
diff changeset
   448
    ERROR(err, "Headset property Attach() failed!");
hgs
parents:
diff changeset
   449
    return err;
hgs
parents:
diff changeset
   450
    }
hgs
parents:
diff changeset
   451
hgs
parents:
diff changeset
   452
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   453
// CUtilsTestModule::tstSetPropertyValueForNetworkStatus()
hgs
parents:
diff changeset
   454
// Returns: System error.
hgs
parents:
diff changeset
   455
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   456
TInt CUtilsTestModule::tstSetPropertyValueForNetworkStatus( CStifItemParser& aItem )
hgs
parents:
diff changeset
   457
    {
hgs
parents:
diff changeset
   458
    FUNC_LOG;
hgs
parents:
diff changeset
   459
    TInt err( KErrNone );
hgs
parents:
diff changeset
   460
    TInt networkStatus(NULL);
hgs
parents:
diff changeset
   461
    // read parameters
hgs
parents:
diff changeset
   462
    if (aItem.GetNextInt(networkStatus))
hgs
parents:
diff changeset
   463
        {
hgs
parents:
diff changeset
   464
        err = KErrBadTestParameter;
hgs
parents:
diff changeset
   465
        ERROR(err, "Missing Parameter: networkStatus.");
hgs
parents:
diff changeset
   466
        }
hgs
parents:
diff changeset
   467
    err = iPropertyNetworkStatus.Set(KStub_KUidSystemCategory, KUidNetworkStatusValue, networkStatus);
hgs
parents:
diff changeset
   468
    ERROR(err, "Network status property Attach() failed!");
hgs
parents:
diff changeset
   469
    return err;
hgs
parents:
diff changeset
   470
    }
hgs
parents:
diff changeset
   471
hgs
parents:
diff changeset
   472
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   473
// CUtilsTestModule::tstSetPropertyValueForCallState()
hgs
parents:
diff changeset
   474
// Returns: System error.
hgs
parents:
diff changeset
   475
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   476
TInt CUtilsTestModule::tstSetPropertyValueForCallState( CStifItemParser& aItem )
hgs
parents:
diff changeset
   477
    {
hgs
parents:
diff changeset
   478
    FUNC_LOG;
hgs
parents:
diff changeset
   479
    TInt err( KErrNone );
hgs
parents:
diff changeset
   480
    TInt callState(EFalse);
hgs
parents:
diff changeset
   481
    // read parameters
hgs
parents:
diff changeset
   482
    if (aItem.GetNextInt(callState))
hgs
parents:
diff changeset
   483
        {
hgs
parents:
diff changeset
   484
        err = KErrBadTestParameter;
hgs
parents:
diff changeset
   485
        ERROR(err, "Missing Parameter: callState.");
hgs
parents:
diff changeset
   486
        }
hgs
parents:
diff changeset
   487
    err = iPropertyCallState.Set(KStub_KPSUidCtsyCallInformation, KCTsyCallState, callState);
hgs
parents:
diff changeset
   488
    ERROR(err, "Call state property Attach() failed!");
hgs
parents:
diff changeset
   489
    return err;
hgs
parents:
diff changeset
   490
    }
hgs
parents:
diff changeset
   491
hgs
parents:
diff changeset
   492
hgs
parents:
diff changeset
   493
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   494
// CUtilsTestModule::HandleSystemEventL()
hgs
parents:
diff changeset
   495
// Returns: none.
hgs
parents:
diff changeset
   496
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   497
void CUtilsTestModule::HandleSystemEventL(TRadioSystemEventType aEventType)
hgs
parents:
diff changeset
   498
    {
hgs
parents:
diff changeset
   499
    FUNC_LOG;
hgs
parents:
diff changeset
   500
    INFO_1("aEventType = %d", aEventType);
hgs
parents:
diff changeset
   501
hgs
parents:
diff changeset
   502
    switch (aEventType)
hgs
parents:
diff changeset
   503
        {
hgs
parents:
diff changeset
   504
        case ERadioAudioResourcesAvailable:
hgs
parents:
diff changeset
   505
            {
hgs
parents:
diff changeset
   506
            INFO("ERadioAudioResourcesAvailable");
hgs
parents:
diff changeset
   507
            }
hgs
parents:
diff changeset
   508
            break;
hgs
parents:
diff changeset
   509
hgs
parents:
diff changeset
   510
        case ERadioAudioAutoResumeForbidden:
hgs
parents:
diff changeset
   511
            {
hgs
parents:
diff changeset
   512
            INFO("ERadioAudioAutoResumeForbidden");
hgs
parents:
diff changeset
   513
            }
hgs
parents:
diff changeset
   514
            break;
hgs
parents:
diff changeset
   515
hgs
parents:
diff changeset
   516
        case ERadioAudioRouteHeadset:
hgs
parents:
diff changeset
   517
            {
hgs
parents:
diff changeset
   518
            INFO("ERadioAudioRouteHeadset");
hgs
parents:
diff changeset
   519
            }
hgs
parents:
diff changeset
   520
            break;
hgs
parents:
diff changeset
   521
hgs
parents:
diff changeset
   522
        case ERadioAudioRouteSpeaker:
hgs
parents:
diff changeset
   523
            {
hgs
parents:
diff changeset
   524
            INFO("ERadioAudioRouteSpeaker");
hgs
parents:
diff changeset
   525
            }
hgs
parents:
diff changeset
   526
            break;
hgs
parents:
diff changeset
   527
hgs
parents:
diff changeset
   528
        case ERadioCallActivated:
hgs
parents:
diff changeset
   529
            {
hgs
parents:
diff changeset
   530
            INFO("ERadioCallActivated");
hgs
parents:
diff changeset
   531
            }
hgs
parents:
diff changeset
   532
            break;
hgs
parents:
diff changeset
   533
hgs
parents:
diff changeset
   534
        case ERadioCallDeactivated:
hgs
parents:
diff changeset
   535
            {
hgs
parents:
diff changeset
   536
            INFO("ERadioCallDeactivated");
hgs
parents:
diff changeset
   537
            }
hgs
parents:
diff changeset
   538
            break;
hgs
parents:
diff changeset
   539
hgs
parents:
diff changeset
   540
        case ERadioHeadsetConnected:
hgs
parents:
diff changeset
   541
            {
hgs
parents:
diff changeset
   542
            INFO("ERadioHeadsetConnected");
hgs
parents:
diff changeset
   543
            }
hgs
parents:
diff changeset
   544
            break;
hgs
parents:
diff changeset
   545
hgs
parents:
diff changeset
   546
        case ERadioHeadsetDisconnected:
hgs
parents:
diff changeset
   547
            {
hgs
parents:
diff changeset
   548
            INFO("ERadioHeadsetDisconnected");
hgs
parents:
diff changeset
   549
            }
hgs
parents:
diff changeset
   550
            break;
hgs
parents:
diff changeset
   551
        default:
hgs
parents:
diff changeset
   552
            {
hgs
parents:
diff changeset
   553
            INFO("Unexpected event type");
hgs
parents:
diff changeset
   554
            break;
hgs
parents:
diff changeset
   555
            }
hgs
parents:
diff changeset
   556
        }
hgs
parents:
diff changeset
   557
    }
hgs
parents:
diff changeset
   558
hgs
parents:
diff changeset
   559
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   560
// CUtilsTestModule::tstDefineAndAttachTestProperties()
hgs
parents:
diff changeset
   561
// Returns: none.
hgs
parents:
diff changeset
   562
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   563
TInt CUtilsTestModule::tstDefineAndAttachTestProperties()
hgs
parents:
diff changeset
   564
    {
hgs
parents:
diff changeset
   565
    FUNC_LOG;
hgs
parents:
diff changeset
   566
    TInt err(RProperty::Define(KStub_KRadioPSUid,
hgs
parents:
diff changeset
   567
            SRadioStubManager::EStub_KRadioTestPSKeyHeadsetConnected,
hgs
parents:
diff changeset
   568
            RProperty::EInt, KRadioServerReadPolicy,
hgs
parents:
diff changeset
   569
            KRadioServerWritePolicy));
hgs
parents:
diff changeset
   570
    ERROR(err, "Property SRadioStubManager::EStub_KRadioTestPSKeyHeadsetConnected Define() failed!");
hgs
parents:
diff changeset
   571
    err = iPropertyHeadsetStatus.Attach(KStub_KRadioPSUid, SRadioStubManager::EStub_KRadioTestPSKeyHeadsetConnected);
hgs
parents:
diff changeset
   572
    ERROR(err, "Property SRadioStubManager::EStub_KRadioTestPSKeyHeadsetConnected Attach() failed!");
hgs
parents:
diff changeset
   573
    err = iPropertyCallState.Set(KStub_KRadioPSUid, SRadioStubManager::EStub_KRadioTestPSKeyHeadsetConnected, EFalse);
hgs
parents:
diff changeset
   574
    ERROR(err, "Property SRadioStubManager::EStub_KRadioTestPSKeyHeadsetConnected Set() failed!");
hgs
parents:
diff changeset
   575
hgs
parents:
diff changeset
   576
    err = RProperty::Define(KStub_KUidSystemCategory,
hgs
parents:
diff changeset
   577
            KUidNetworkStatusValue,
hgs
parents:
diff changeset
   578
            RProperty::EInt, KRadioServerReadPolicy,
hgs
parents:
diff changeset
   579
            KRadioServerWritePolicy);
hgs
parents:
diff changeset
   580
    ERROR(err, "Property KUidNetworkStatusValue Define() failed!");
hgs
parents:
diff changeset
   581
    err = iPropertyNetworkStatus.Attach(KStub_KUidSystemCategory, KUidNetworkStatusValue);
hgs
parents:
diff changeset
   582
    ERROR(err, "Property KUidNetworkStatusValue Attach() failed!");
hgs
parents:
diff changeset
   583
    err = iPropertyNetworkStatus.Set(KStub_KUidSystemCategory, KUidNetworkStatusValue, ESANetworkAvailable);
hgs
parents:
diff changeset
   584
    ERROR(err, "Property KUidNetworkStatusValue Set() failed!");
hgs
parents:
diff changeset
   585
   
hgs
parents:
diff changeset
   586
hgs
parents:
diff changeset
   587
    err = RProperty::Define(KStub_KPSUidCtsyCallInformation,
hgs
parents:
diff changeset
   588
            KCTsyCallState,
hgs
parents:
diff changeset
   589
            RProperty::EInt, KRadioServerReadPolicy,
hgs
parents:
diff changeset
   590
            KRadioServerWritePolicy);
hgs
parents:
diff changeset
   591
    ERROR(err, "Property KCTsyCallState Define() failed!");
hgs
parents:
diff changeset
   592
    err = iPropertyCallState.Attach(KStub_KPSUidCtsyCallInformation, KCTsyCallState);
hgs
parents:
diff changeset
   593
    ERROR(err, "Property KCTsyCallState Attach() failed!");
hgs
parents:
diff changeset
   594
    err = iPropertyCallState.Set(KStub_KPSUidCtsyCallInformation, KCTsyCallState, EPSCTsyCallStateNone);
hgs
parents:
diff changeset
   595
    ERROR(err, "Property KCTsyCallState Set() failed!");
hgs
parents:
diff changeset
   596
    
hgs
parents:
diff changeset
   597
    return err;
hgs
parents:
diff changeset
   598
    }
hgs
parents:
diff changeset
   599
hgs
parents:
diff changeset
   600
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   601
// CUtilsTestModule::InitSharedMemory
hgs
parents:
diff changeset
   602
// Returns: errors.
hgs
parents:
diff changeset
   603
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   604
//
hgs
parents:
diff changeset
   605
TInt CUtilsTestModule::InitSharedMemory()
hgs
parents:
diff changeset
   606
hgs
parents:
diff changeset
   607
    {
hgs
parents:
diff changeset
   608
    FUNC_LOG;
hgs
parents:
diff changeset
   609
    TInt err = iRadioStubManagerChunk.CreateGlobal(
hgs
parents:
diff changeset
   610
            KRadioStubManagerLocalChunkName, sizeof(SRadioStubManager),
hgs
parents:
diff changeset
   611
            sizeof(SRadioStubManager), EOwnerThread);
hgs
parents:
diff changeset
   612
    if (KErrAlreadyExists == err)
hgs
parents:
diff changeset
   613
        {
hgs
parents:
diff changeset
   614
        INFO("Memory chunk KRadioStubManagerLocalChunkName already exists.");
hgs
parents:
diff changeset
   615
        err = iRadioStubManagerChunk.OpenGlobal(
hgs
parents:
diff changeset
   616
                KRadioStubManagerLocalChunkName, EFalse, // == Read | Write
hgs
parents:
diff changeset
   617
                EOwnerThread);
hgs
parents:
diff changeset
   618
        }
hgs
parents:
diff changeset
   619
    if (KErrNone == err)
hgs
parents:
diff changeset
   620
        {
hgs
parents:
diff changeset
   621
        if (sizeof(SRadioStubManager) > iRadioStubManagerChunk.MaxSize())
hgs
parents:
diff changeset
   622
            {
hgs
parents:
diff changeset
   623
            err = KErrCorrupt;
hgs
parents:
diff changeset
   624
            INFO_1(
hgs
parents:
diff changeset
   625
                    "Improper size for memory chunk KRadioStubManagerLocalChunkName. Err = %i",
hgs
parents:
diff changeset
   626
                    err);
hgs
parents:
diff changeset
   627
            }
hgs
parents:
diff changeset
   628
        else
hgs
parents:
diff changeset
   629
            {
hgs
parents:
diff changeset
   630
            TUint8* basePtr = iRadioStubManagerChunk.Base();
hgs
parents:
diff changeset
   631
            if (!basePtr)
hgs
parents:
diff changeset
   632
                {
hgs
parents:
diff changeset
   633
                err = KErrCorrupt;
hgs
parents:
diff changeset
   634
                INFO_1(
hgs
parents:
diff changeset
   635
                        "Getting base pointer of memory chunk KRadioStubManagerLocalChunkName failed. Err=%i",
hgs
parents:
diff changeset
   636
                        err);
hgs
parents:
diff changeset
   637
                }
hgs
parents:
diff changeset
   638
            else
hgs
parents:
diff changeset
   639
                {
hgs
parents:
diff changeset
   640
                iRadioStubManager = (SRadioStubManager*) basePtr;
hgs
parents:
diff changeset
   641
                // Zero configuration/control data
hgs
parents:
diff changeset
   642
                iRadioStubManager->FillZ();
hgs
parents:
diff changeset
   643
                }
hgs
parents:
diff changeset
   644
            }
hgs
parents:
diff changeset
   645
        }
hgs
parents:
diff changeset
   646
    else
hgs
parents:
diff changeset
   647
        {
hgs
parents:
diff changeset
   648
        INFO_1(
hgs
parents:
diff changeset
   649
                "Creation of memory chunk KRadioStubManagerLocalChunkName failed. Err = %i",
hgs
parents:
diff changeset
   650
                err);
hgs
parents:
diff changeset
   651
        }
hgs
parents:
diff changeset
   652
    INFO_1("return value, Err = %i", err);
hgs
parents:
diff changeset
   653
    return err;
hgs
parents:
diff changeset
   654
    }
hgs
parents:
diff changeset
   655
hgs
parents:
diff changeset
   656
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   657
// CUtilsTestModule::CreateSystemEventCollector2L
hgs
parents:
diff changeset
   658
// Returns: errors.
hgs
parents:
diff changeset
   659
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   660
//
hgs
parents:
diff changeset
   661
TInt CUtilsTestModule::CreateSystemEventCollector2L()
hgs
parents:
diff changeset
   662
    {
hgs
parents:
diff changeset
   663
    FUNC_LOG;
hgs
parents:
diff changeset
   664
    TInt err(KErrNone);
hgs
parents:
diff changeset
   665
    if (!iSystemEventCollector)
hgs
parents:
diff changeset
   666
        {
hgs
parents:
diff changeset
   667
        iSystemEventCollector = CRadioSystemEventCollector::NewL();
hgs
parents:
diff changeset
   668
        iSystemEventCollector->AddObserverL(this);
hgs
parents:
diff changeset
   669
        }
hgs
parents:
diff changeset
   670
    else
hgs
parents:
diff changeset
   671
        {
hgs
parents:
diff changeset
   672
        INFO( "KErrAlreadyExists" )
hgs
parents:
diff changeset
   673
        err = KErrAlreadyExists;
hgs
parents:
diff changeset
   674
        }
hgs
parents:
diff changeset
   675
    return err;
hgs
parents:
diff changeset
   676
    }
hgs
parents:
diff changeset
   677
hgs
parents:
diff changeset
   678
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   679
// CUtilsTestModule::AudioRouteChangedL
hgs
parents:
diff changeset
   680
// Returns: none
hgs
parents:
diff changeset
   681
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   682
//
hgs
parents:
diff changeset
   683
void CUtilsTestModule::AudioRouteChangedL( RadioEngine::TRadioAudioRoute aRoute )
hgs
parents:
diff changeset
   684
    {
hgs
parents:
diff changeset
   685
    FUNC_LOG;
hgs
parents:
diff changeset
   686
    INFO_1( "aRoute = %i",  aRoute );
hgs
parents:
diff changeset
   687
    iRoute = aRoute;
hgs
parents:
diff changeset
   688
    
hgs
parents:
diff changeset
   689
    }
hgs
parents:
diff changeset
   690
hgs
parents:
diff changeset
   691
//-----------------------------------------------------------------------------
hgs
parents:
diff changeset
   692
// CUtilsTestModule::CreateAudioRouterL
hgs
parents:
diff changeset
   693
//-----------------------------------------------------------------------------
hgs
parents:
diff changeset
   694
TInt CUtilsTestModule::CreateAudioRouterL(CStifItemParser& /*aItem*/)
hgs
parents:
diff changeset
   695
    {
hgs
parents:
diff changeset
   696
    FUNC_LOG;
hgs
parents:
diff changeset
   697
hgs
parents:
diff changeset
   698
    TInt err(KErrNone);
hgs
parents:
diff changeset
   699
    err = InitSharedMemory();
hgs
parents:
diff changeset
   700
    if ((!iAudioRouter) && (KErrNone == err))
hgs
parents:
diff changeset
   701
        {
hgs
parents:
diff changeset
   702
        TRAP( err, RadioEngineUtils::InitializeL(); );
hgs
parents:
diff changeset
   703
        if (KErrNone != err)
hgs
parents:
diff changeset
   704
            {
hgs
parents:
diff changeset
   705
            INFO_1( "RadioEngineUtils::InitializeL() failed err = %i", err )
hgs
parents:
diff changeset
   706
            iRadioStubManagerChunk.Close();
hgs
parents:
diff changeset
   707
            }
hgs
parents:
diff changeset
   708
        else
hgs
parents:
diff changeset
   709
            {
hgs
parents:
diff changeset
   710
            TRAP( err, iAudioRouter = CRadioAudioRouter::NewL( *this ); );
hgs
parents:
diff changeset
   711
            if ( KErrNone != err )
hgs
parents:
diff changeset
   712
                {
hgs
parents:
diff changeset
   713
                INFO_1( "CRadioAudioRouter::NewL() failed err = %i", err )
hgs
parents:
diff changeset
   714
                iRadioStubManagerChunk.Close();
hgs
parents:
diff changeset
   715
                RadioEngineUtils::Release();
hgs
parents:
diff changeset
   716
                }
hgs
parents:
diff changeset
   717
            }
hgs
parents:
diff changeset
   718
        }
hgs
parents:
diff changeset
   719
    if ( KErrNoMemory == err )
hgs
parents:
diff changeset
   720
        {
hgs
parents:
diff changeset
   721
        User::Leave( err );
hgs
parents:
diff changeset
   722
        }
hgs
parents:
diff changeset
   723
    return err;
hgs
parents:
diff changeset
   724
    }
hgs
parents:
diff changeset
   725
hgs
parents:
diff changeset
   726
//-----------------------------------------------------------------------------
hgs
parents:
diff changeset
   727
// CUtilsTestModule::DestroyAudioRouter
hgs
parents:
diff changeset
   728
//-----------------------------------------------------------------------------
hgs
parents:
diff changeset
   729
TInt CUtilsTestModule::DestroyAudioRouter(CStifItemParser& /*aItem*/)
hgs
parents:
diff changeset
   730
    {
hgs
parents:
diff changeset
   731
    FUNC_LOG;
hgs
parents:
diff changeset
   732
    if (iAudioRouter)
hgs
parents:
diff changeset
   733
        {
hgs
parents:
diff changeset
   734
        iRadioStubManagerChunk.Close();
hgs
parents:
diff changeset
   735
        delete iAudioRouter;
hgs
parents:
diff changeset
   736
        iAudioRouter = NULL;
hgs
parents:
diff changeset
   737
        RadioEngineUtils::Release();
hgs
parents:
diff changeset
   738
        }
hgs
parents:
diff changeset
   739
    return KErrNone;
hgs
parents:
diff changeset
   740
    }
hgs
parents:
diff changeset
   741
hgs
parents:
diff changeset
   742
//-----------------------------------------------------------------------------
hgs
parents:
diff changeset
   743
// CUtilsTestModule::OOMTestForAudioRouterCreation
hgs
parents:
diff changeset
   744
//-----------------------------------------------------------------------------
hgs
parents:
diff changeset
   745
TInt CUtilsTestModule::OOMTestForAudioRouterCreation(CStifItemParser& /*aItem*/)
hgs
parents:
diff changeset
   746
    {
hgs
parents:
diff changeset
   747
    FUNC_LOG;
hgs
parents:
diff changeset
   748
    TInt err(KErrNone);
hgs
parents:
diff changeset
   749
    err = InitSharedMemory();
hgs
parents:
diff changeset
   750
    if (KErrNone == err)
hgs
parents:
diff changeset
   751
        {
hgs
parents:
diff changeset
   752
        RadioEngineUtils::InitializeL();
hgs
parents:
diff changeset
   753
        TInt i(-1);
hgs
parents:
diff changeset
   754
        for (err = KErrNoMemory; KErrNoMemory == err; __UHEAP_MARKEND)
hgs
parents:
diff changeset
   755
            {
hgs
parents:
diff changeset
   756
            TRAP ( err,
hgs
parents:
diff changeset
   757
                        {
hgs
parents:
diff changeset
   758
                        ++i;
hgs
parents:
diff changeset
   759
                        INFO_1("loop count = %i", i );
hgs
parents:
diff changeset
   760
                        __UHEAP_MARK;
hgs
parents:
diff changeset
   761
                        __UHEAP_FAILNEXT( i );
hgs
parents:
diff changeset
   762
                        TRAP( err, CreateAudioRouter2L(); );
hgs
parents:
diff changeset
   763
                        if ( iAudioRouter )
hgs
parents:
diff changeset
   764
                            {
hgs
parents:
diff changeset
   765
                            delete iAudioRouter;
hgs
parents:
diff changeset
   766
                            iAudioRouter = NULL;
hgs
parents:
diff changeset
   767
                            }
hgs
parents:
diff changeset
   768
                        }
hgs
parents:
diff changeset
   769
            );
hgs
parents:
diff changeset
   770
            }
hgs
parents:
diff changeset
   771
        __UHEAP_RESET;
hgs
parents:
diff changeset
   772
        RadioEngineUtils::Release();
hgs
parents:
diff changeset
   773
        iRadioStubManagerChunk.Close();
hgs
parents:
diff changeset
   774
        }
hgs
parents:
diff changeset
   775
    return err;
hgs
parents:
diff changeset
   776
    }
hgs
parents:
diff changeset
   777
hgs
parents:
diff changeset
   778
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   779
// CUtilsTestModule::CreateAudioRouter2L
hgs
parents:
diff changeset
   780
// Returns: errors.
hgs
parents:
diff changeset
   781
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   782
//
hgs
parents:
diff changeset
   783
TInt CUtilsTestModule::CreateAudioRouter2L()
hgs
parents:
diff changeset
   784
    {
hgs
parents:
diff changeset
   785
    FUNC_LOG;
hgs
parents:
diff changeset
   786
    TInt err(KErrNone);
hgs
parents:
diff changeset
   787
    if (!iAudioRouter)
hgs
parents:
diff changeset
   788
        {
hgs
parents:
diff changeset
   789
        iAudioRouter = CRadioAudioRouter::NewL( *this );
hgs
parents:
diff changeset
   790
        }
hgs
parents:
diff changeset
   791
    else
hgs
parents:
diff changeset
   792
        {
hgs
parents:
diff changeset
   793
        INFO( "KErrAlreadyExists" )
hgs
parents:
diff changeset
   794
        err = KErrAlreadyExists;
hgs
parents:
diff changeset
   795
        }
hgs
parents:
diff changeset
   796
    return err;
hgs
parents:
diff changeset
   797
    }
hgs
parents:
diff changeset
   798
hgs
parents:
diff changeset
   799
//-----------------------------------------------------------------------------
hgs
parents:
diff changeset
   800
// CUtilsTestModule::CreateRoutableAudioL
hgs
parents:
diff changeset
   801
//-----------------------------------------------------------------------------
hgs
parents:
diff changeset
   802
TInt CUtilsTestModule::CreateRoutableAudioL(CStifItemParser& /*aItem*/)
hgs
parents:
diff changeset
   803
    {
hgs
parents:
diff changeset
   804
    FUNC_LOG;
hgs
parents:
diff changeset
   805
hgs
parents:
diff changeset
   806
    TInt err( CreateRoutableAudio2L() );
hgs
parents:
diff changeset
   807
    return err;
hgs
parents:
diff changeset
   808
    }
hgs
parents:
diff changeset
   809
hgs
parents:
diff changeset
   810
//-----------------------------------------------------------------------------
hgs
parents:
diff changeset
   811
// CUtilsTestModule::CreateRoutableAudio2L
hgs
parents:
diff changeset
   812
//-----------------------------------------------------------------------------
hgs
parents:
diff changeset
   813
TInt CUtilsTestModule::CreateRoutableAudio2L()
hgs
parents:
diff changeset
   814
    {
hgs
parents:
diff changeset
   815
    FUNC_LOG;
hgs
parents:
diff changeset
   816
hgs
parents:
diff changeset
   817
    TInt err(KErrNone);
hgs
parents:
diff changeset
   818
    if (!iRoutableAudio)
hgs
parents:
diff changeset
   819
        {
hgs
parents:
diff changeset
   820
        TRAP( err, iRoutableAudio = new (ELeave) CRadioRoutableAudio( iAudioRouter ); );
hgs
parents:
diff changeset
   821
        if ( KErrNone != err )
hgs
parents:
diff changeset
   822
            {
hgs
parents:
diff changeset
   823
            INFO_1( "new CRadioRoutableAudio failed err = %i", err )
hgs
parents:
diff changeset
   824
            }
hgs
parents:
diff changeset
   825
        }
hgs
parents:
diff changeset
   826
    if ( KErrNoMemory == err )
hgs
parents:
diff changeset
   827
        {
hgs
parents:
diff changeset
   828
        User::Leave( err );
hgs
parents:
diff changeset
   829
        }
hgs
parents:
diff changeset
   830
    return err;
hgs
parents:
diff changeset
   831
    }
hgs
parents:
diff changeset
   832
hgs
parents:
diff changeset
   833
//-----------------------------------------------------------------------------
hgs
parents:
diff changeset
   834
// CUtilsTestModule::DestroyRoutableAudio
hgs
parents:
diff changeset
   835
//-----------------------------------------------------------------------------
hgs
parents:
diff changeset
   836
TInt CUtilsTestModule::DestroyRoutableAudio(CStifItemParser& /*aItem*/)
hgs
parents:
diff changeset
   837
    {
hgs
parents:
diff changeset
   838
    FUNC_LOG;
hgs
parents:
diff changeset
   839
    if (iRoutableAudio)
hgs
parents:
diff changeset
   840
        {
hgs
parents:
diff changeset
   841
        delete iRoutableAudio;
hgs
parents:
diff changeset
   842
        iRoutableAudio = NULL;
hgs
parents:
diff changeset
   843
        // Note that previous delete call destroyed also Audio Router.
hgs
parents:
diff changeset
   844
        iAudioRouter = NULL;
hgs
parents:
diff changeset
   845
        iRadioStubManagerChunk.Close();
hgs
parents:
diff changeset
   846
        RadioEngineUtils::Release();
hgs
parents:
diff changeset
   847
        }
hgs
parents:
diff changeset
   848
    return KErrNone;
hgs
parents:
diff changeset
   849
    }
hgs
parents:
diff changeset
   850
hgs
parents:
diff changeset
   851
//-----------------------------------------------------------------------------
hgs
parents:
diff changeset
   852
// CUtilsTestModule::OOMTestForRoutableAudioCreation
hgs
parents:
diff changeset
   853
//-----------------------------------------------------------------------------
hgs
parents:
diff changeset
   854
TInt CUtilsTestModule::OOMTestForRoutableAudioCreation(CStifItemParser& /*aItem*/)
hgs
parents:
diff changeset
   855
    {
hgs
parents:
diff changeset
   856
    FUNC_LOG;
hgs
parents:
diff changeset
   857
    TInt err(KErrNone);
hgs
parents:
diff changeset
   858
    TInt i(-1);
hgs
parents:
diff changeset
   859
    for (err = KErrNoMemory; KErrNoMemory == err; __UHEAP_MARKEND)
hgs
parents:
diff changeset
   860
        {
hgs
parents:
diff changeset
   861
        ++i;
hgs
parents:
diff changeset
   862
        INFO_1("loop count = %i", i );
hgs
parents:
diff changeset
   863
        __UHEAP_MARK;
hgs
parents:
diff changeset
   864
        __UHEAP_FAILNEXT( i );
hgs
parents:
diff changeset
   865
        TRAP( err, CreateRoutableAudio2L(); );
hgs
parents:
diff changeset
   866
        if ( iRoutableAudio )
hgs
parents:
diff changeset
   867
            {
hgs
parents:
diff changeset
   868
            delete iRoutableAudio;
hgs
parents:
diff changeset
   869
            iRoutableAudio = NULL;
hgs
parents:
diff changeset
   870
            // Note that previous delete call destroyed also Audio Router.
hgs
parents:
diff changeset
   871
            iAudioRouter = NULL;
hgs
parents:
diff changeset
   872
            iRadioStubManagerChunk.Close();
hgs
parents:
diff changeset
   873
            RadioEngineUtils::Release();
hgs
parents:
diff changeset
   874
            }
hgs
parents:
diff changeset
   875
        }
hgs
parents:
diff changeset
   876
    __UHEAP_RESET;
hgs
parents:
diff changeset
   877
    return err;
hgs
parents:
diff changeset
   878
    }
hgs
parents:
diff changeset
   879
hgs
parents:
diff changeset
   880
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   881
// CUtilsTestModule::?member_function
hgs
parents:
diff changeset
   882
// ?implementation_description
hgs
parents:
diff changeset
   883
// (other items were commented in a header).
hgs
parents:
diff changeset
   884
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   885
//
hgs
parents:
diff changeset
   886
/*
hgs
parents:
diff changeset
   887
TInt CUtilsTestModule::?member_function(
hgs
parents:
diff changeset
   888
   CItemParser& aItem )
hgs
parents:
diff changeset
   889
   {
hgs
parents:
diff changeset
   890
   FUNC_LOG;
hgs
parents:
diff changeset
   891
hgs
parents:
diff changeset
   892
   ?code
hgs
parents:
diff changeset
   893
hgs
parents:
diff changeset
   894
   }
hgs
parents:
diff changeset
   895
*/
hgs
parents:
diff changeset
   896
hgs
parents:
diff changeset
   897
hgs
parents:
diff changeset
   898
// ========================== OTHER EXPORTED FUNCTIONS =========================
hgs
parents:
diff changeset
   899
// None
hgs
parents:
diff changeset
   900
hgs
parents:
diff changeset
   901
hgs
parents:
diff changeset
   902
//  [End of File] - Do not remove