imservices/xmppsettingsfetcher/tsrc/xmppsettingsfetchermt/src/xmppsettingsfetchermtCases.cpp
author hgs
Wed, 03 Nov 2010 09:32:20 +0530
changeset 51 61fad867f68e
permissions -rw-r--r--
201041
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
51
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2002 - 2007 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:  xmppsettingsfetchermtCases.cpp
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
hgs
parents:
diff changeset
    19
hgs
parents:
diff changeset
    20
// [INCLUDE FILES] - do not remove
hgs
parents:
diff changeset
    21
#include <e32math.h>
hgs
parents:
diff changeset
    22
#include "xmppsettingsfetchermt.h"
hgs
parents:
diff changeset
    23
#include "xmppsettingsfetcher.h"
hgs
parents:
diff changeset
    24
#include "xmppparameters.h"
hgs
parents:
diff changeset
    25
hgs
parents:
diff changeset
    26
// EXTERNAL DATA STRUCTURES
hgs
parents:
diff changeset
    27
//extern  ?external_data;
hgs
parents:
diff changeset
    28
hgs
parents:
diff changeset
    29
// EXTERNAL FUNCTION PROTOTYPES  
hgs
parents:
diff changeset
    30
//extern ?external_function( ?arg_type,?arg_type );
hgs
parents:
diff changeset
    31
hgs
parents:
diff changeset
    32
// CONSTANTS
hgs
parents:
diff changeset
    33
//const ?type ?constant_var = ?constant;
hgs
parents:
diff changeset
    34
hgs
parents:
diff changeset
    35
// MACROS
hgs
parents:
diff changeset
    36
//#define ?macro ?macro_def
hgs
parents:
diff changeset
    37
hgs
parents:
diff changeset
    38
// LOCAL CONSTANTS AND MACROS
hgs
parents:
diff changeset
    39
//const ?type ?constant_var = ?constant;
hgs
parents:
diff changeset
    40
//#define ?macro_name ?macro_def
hgs
parents:
diff changeset
    41
hgs
parents:
diff changeset
    42
// MODULE DATA STRUCTURES
hgs
parents:
diff changeset
    43
//enum ?declaration
hgs
parents:
diff changeset
    44
//typedef ?declaration
hgs
parents:
diff changeset
    45
hgs
parents:
diff changeset
    46
// LOCAL FUNCTION PROTOTYPES
hgs
parents:
diff changeset
    47
//?type ?function_name( ?arg_type, ?arg_type );
hgs
parents:
diff changeset
    48
hgs
parents:
diff changeset
    49
// FORWARD DECLARATIONS
hgs
parents:
diff changeset
    50
//class ?FORWARD_CLASSNAME;
hgs
parents:
diff changeset
    51
hgs
parents:
diff changeset
    52
// ============================= LOCAL FUNCTIONS ===============================
hgs
parents:
diff changeset
    53
hgs
parents:
diff changeset
    54
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    55
// ?function_name ?description.
hgs
parents:
diff changeset
    56
// ?description
hgs
parents:
diff changeset
    57
// Returns: ?value_1: ?description
hgs
parents:
diff changeset
    58
//          ?value_n: ?description_line1
hgs
parents:
diff changeset
    59
//                    ?description_line2
hgs
parents:
diff changeset
    60
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    61
//
hgs
parents:
diff changeset
    62
/*
hgs
parents:
diff changeset
    63
?type ?function_name(
hgs
parents:
diff changeset
    64
    ?arg_type arg,  // ?description
hgs
parents:
diff changeset
    65
    ?arg_type arg)  // ?description
hgs
parents:
diff changeset
    66
    {
hgs
parents:
diff changeset
    67
hgs
parents:
diff changeset
    68
    ?code  // ?comment
hgs
parents:
diff changeset
    69
hgs
parents:
diff changeset
    70
    // ?comment
hgs
parents:
diff changeset
    71
    ?code
hgs
parents:
diff changeset
    72
    }
hgs
parents:
diff changeset
    73
*/
hgs
parents:
diff changeset
    74
hgs
parents:
diff changeset
    75
// ============================ MEMBER FUNCTIONS ===============================
hgs
parents:
diff changeset
    76
hgs
parents:
diff changeset
    77
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    78
// Cxmppsettingsfetchermt::Case
hgs
parents:
diff changeset
    79
// Returns a test case by number.
hgs
parents:
diff changeset
    80
//
hgs
parents:
diff changeset
    81
// This function contains an array of all available test cases 
hgs
parents:
diff changeset
    82
// i.e pair of case name and test function. If case specified by parameter
hgs
parents:
diff changeset
    83
// aCaseNumber is found from array, then that item is returned.
hgs
parents:
diff changeset
    84
// 
hgs
parents:
diff changeset
    85
// The reason for this rather complicated function is to specify all the
hgs
parents:
diff changeset
    86
// test cases only in one place. It is not necessary to understand how
hgs
parents:
diff changeset
    87
// function pointers to class member functions works when adding new test
hgs
parents:
diff changeset
    88
// cases. See function body for instructions how to add new test case.
hgs
parents:
diff changeset
    89
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    90
//
hgs
parents:
diff changeset
    91
const TCaseInfo Cxmppsettingsfetchermt::Case ( 
hgs
parents:
diff changeset
    92
    const TInt aCaseNumber ) const 
hgs
parents:
diff changeset
    93
     {
hgs
parents:
diff changeset
    94
hgs
parents:
diff changeset
    95
    /**
hgs
parents:
diff changeset
    96
    * To add new test cases, implement new test case function and add new 
hgs
parents:
diff changeset
    97
    * line to KCases array specify the name of the case and the function 
hgs
parents:
diff changeset
    98
    * doing the test case
hgs
parents:
diff changeset
    99
    * In practice, do following
hgs
parents:
diff changeset
   100
    * 1) Make copy of existing test case function and change its name
hgs
parents:
diff changeset
   101
    *    and functionality. Note that the function must be added to 
hgs
parents:
diff changeset
   102
    *    xmppsettingsfetchermt.cpp file and to xmppsettingsfetchermt.h 
hgs
parents:
diff changeset
   103
    *    header file.
hgs
parents:
diff changeset
   104
    *
hgs
parents:
diff changeset
   105
    * 2) Add entry to following KCases array either by using:
hgs
parents:
diff changeset
   106
    *
hgs
parents:
diff changeset
   107
    * 2.1: FUNCENTRY or ENTRY macro
hgs
parents:
diff changeset
   108
    * ENTRY macro takes two parameters: test case name and test case 
hgs
parents:
diff changeset
   109
    * function name.
hgs
parents:
diff changeset
   110
    *
hgs
parents:
diff changeset
   111
    * FUNCENTRY macro takes only test case function name as a parameter and
hgs
parents:
diff changeset
   112
    * uses that as a test case name and test case function name.
hgs
parents:
diff changeset
   113
    *
hgs
parents:
diff changeset
   114
    * Or
hgs
parents:
diff changeset
   115
    *
hgs
parents:
diff changeset
   116
    * 2.2: OOM_FUNCENTRY or OOM_ENTRY macro. Note that these macros are used
hgs
parents:
diff changeset
   117
    * only with OOM (Out-Of-Memory) testing!
hgs
parents:
diff changeset
   118
    *
hgs
parents:
diff changeset
   119
    * OOM_ENTRY macro takes five parameters: test case name, test case 
hgs
parents:
diff changeset
   120
    * function name, TBool which specifies is method supposed to be run using
hgs
parents:
diff changeset
   121
    * OOM conditions, TInt value for first heap memory allocation failure and 
hgs
parents:
diff changeset
   122
    * TInt value for last heap memory allocation failure.
hgs
parents:
diff changeset
   123
    * 
hgs
parents:
diff changeset
   124
    * OOM_FUNCENTRY macro takes test case function name as a parameter and uses
hgs
parents:
diff changeset
   125
    * that as a test case name, TBool which specifies is method supposed to be
hgs
parents:
diff changeset
   126
    * run using OOM conditions, TInt value for first heap memory allocation 
hgs
parents:
diff changeset
   127
    * failure and TInt value for last heap memory allocation failure. 
hgs
parents:
diff changeset
   128
    */ 
hgs
parents:
diff changeset
   129
hgs
parents:
diff changeset
   130
    static TCaseInfoInternal const KCases[] =
hgs
parents:
diff changeset
   131
        {
hgs
parents:
diff changeset
   132
        // [test cases entries] - do not remove
hgs
parents:
diff changeset
   133
        
hgs
parents:
diff changeset
   134
        // NOTE: When compiled to GCCE, there must be Classname::
hgs
parents:
diff changeset
   135
        // declaration in front of the method name, e.g. 
hgs
parents:
diff changeset
   136
        // Cxmppsettingsfetchermt::PrintTest. Otherwise the compiler
hgs
parents:
diff changeset
   137
        // gives errors.
hgs
parents:
diff changeset
   138
        
hgs
parents:
diff changeset
   139
        ENTRY( "write and read valid settings", Cxmppsettingsfetchermt::SetAndReadSettingsL ),
hgs
parents:
diff changeset
   140
        ENTRY( "read unexisting settings", Cxmppsettingsfetchermt::ReadUnexistingSettingsL ),
hgs
parents:
diff changeset
   141
        ENTRY( "write and read incomplete settings", Cxmppsettingsfetchermt::ReadIncompleteSettingsL ),
hgs
parents:
diff changeset
   142
        ENTRY( "descriptor values test", Cxmppsettingsfetchermt::ReadDescSettingsL ),
hgs
parents:
diff changeset
   143
        ENTRY( "integer values test", Cxmppsettingsfetchermt::ReadIntSettingsL ),
hgs
parents:
diff changeset
   144
hgs
parents:
diff changeset
   145
//        FUNCENTRY( Cxmppsettingsfetchermt::PrintTest ),
hgs
parents:
diff changeset
   146
hgs
parents:
diff changeset
   147
        // Example how to use OOM functionality
hgs
parents:
diff changeset
   148
        //OOM_ENTRY( "Loop test with OOM", Cxmppsettingsfetchermt::LoopTest, ETrue, 2, 3),
hgs
parents:
diff changeset
   149
        //OOM_FUNCENTRY( Cxmppsettingsfetchermt::PrintTest, ETrue, 1, 3 ),
hgs
parents:
diff changeset
   150
        };
hgs
parents:
diff changeset
   151
hgs
parents:
diff changeset
   152
    // Verify that case number is valid
hgs
parents:
diff changeset
   153
    if( (TUint) aCaseNumber >= sizeof( KCases ) / 
hgs
parents:
diff changeset
   154
                               sizeof( TCaseInfoInternal ) )
hgs
parents:
diff changeset
   155
        {
hgs
parents:
diff changeset
   156
        // Invalid case, construct empty object
hgs
parents:
diff changeset
   157
        TCaseInfo null( (const TText*) L"" );
hgs
parents:
diff changeset
   158
        null.iMethod = NULL;
hgs
parents:
diff changeset
   159
        null.iIsOOMTest = EFalse;
hgs
parents:
diff changeset
   160
        null.iFirstMemoryAllocation = 0;
hgs
parents:
diff changeset
   161
        null.iLastMemoryAllocation = 0;
hgs
parents:
diff changeset
   162
        return null;
hgs
parents:
diff changeset
   163
        } 
hgs
parents:
diff changeset
   164
hgs
parents:
diff changeset
   165
    // Construct TCaseInfo object and return it
hgs
parents:
diff changeset
   166
    TCaseInfo tmp ( KCases[ aCaseNumber ].iCaseName );
hgs
parents:
diff changeset
   167
    tmp.iMethod = KCases[ aCaseNumber ].iMethod;
hgs
parents:
diff changeset
   168
    tmp.iIsOOMTest = KCases[ aCaseNumber ].iIsOOMTest;
hgs
parents:
diff changeset
   169
    tmp.iFirstMemoryAllocation = KCases[ aCaseNumber ].iFirstMemoryAllocation;
hgs
parents:
diff changeset
   170
    tmp.iLastMemoryAllocation = KCases[ aCaseNumber ].iLastMemoryAllocation;
hgs
parents:
diff changeset
   171
    return tmp;
hgs
parents:
diff changeset
   172
hgs
parents:
diff changeset
   173
    }
hgs
parents:
diff changeset
   174
hgs
parents:
diff changeset
   175
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   176
// Cxmppsettingsfetchermt::LoopTest
hgs
parents:
diff changeset
   177
// Another printing to UI test.
hgs
parents:
diff changeset
   178
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   179
//
hgs
parents:
diff changeset
   180
TInt Cxmppsettingsfetchermt::SetAndReadSettingsL( TTestResult& aResult )
hgs
parents:
diff changeset
   181
    {
hgs
parents:
diff changeset
   182
    TUint32 settingId = 0;
hgs
parents:
diff changeset
   183
    CXmppSettingsApi* api = CXmppSettingsApi::NewLC();
hgs
parents:
diff changeset
   184
hgs
parents:
diff changeset
   185
    TRAPD( error, api->CreateSettingsRecordL( settingId ) );
hgs
parents:
diff changeset
   186
    User::LeaveIfError( error );
hgs
parents:
diff changeset
   187
	
hgs
parents:
diff changeset
   188
	WriteSettingsL( api, settingId, EPositiveTest );
hgs
parents:
diff changeset
   189
    CleanupStack::PopAndDestroy( api );
hgs
parents:
diff changeset
   190
	
hgs
parents:
diff changeset
   191
    CXmppParameters* xmppParams = CXmppParameters::NewL();
hgs
parents:
diff changeset
   192
    CleanupStack::PushL( xmppParams );
hgs
parents:
diff changeset
   193
    CXmppSettingsFetcher::ReadSettingsL( settingId, *xmppParams );
hgs
parents:
diff changeset
   194
    
hgs
parents:
diff changeset
   195
    //verify that all settings read are correct
hgs
parents:
diff changeset
   196
    TBool verify = VerifySettingsL( xmppParams, settingId, EPositiveTest );
hgs
parents:
diff changeset
   197
    CleanupStack::PopAndDestroy( xmppParams );
hgs
parents:
diff changeset
   198
    
hgs
parents:
diff changeset
   199
    // Sets test case result and description(Maximum size is KStifMaxResultDes)
hgs
parents:
diff changeset
   200
    if(verify)
hgs
parents:
diff changeset
   201
    	aResult.SetResult( KErrNone, KTestcasePassed );
hgs
parents:
diff changeset
   202
    else
hgs
parents:
diff changeset
   203
    	aResult.SetResult( KErrGeneral, KVerificationFailed );
hgs
parents:
diff changeset
   204
hgs
parents:
diff changeset
   205
    // Case was executed
hgs
parents:
diff changeset
   206
    return KErrNone;
hgs
parents:
diff changeset
   207
    }
hgs
parents:
diff changeset
   208
hgs
parents:
diff changeset
   209
hgs
parents:
diff changeset
   210
TInt Cxmppsettingsfetchermt::ReadUnexistingSettingsL( TTestResult& aResult )
hgs
parents:
diff changeset
   211
    {
hgs
parents:
diff changeset
   212
    CXmppParameters* xmppParams = CXmppParameters::NewL();
hgs
parents:
diff changeset
   213
    CleanupStack::PushL( xmppParams );
hgs
parents:
diff changeset
   214
    CXmppSettingsFetcher::ReadSettingsL( 9999, *xmppParams ); //assuming 9999 records have not been created :)
hgs
parents:
diff changeset
   215
    
hgs
parents:
diff changeset
   216
    // Sets test case result and description(Maximum size is KStifMaxResultDes)
hgs
parents:
diff changeset
   217
    CleanupStack::PopAndDestroy( xmppParams );
hgs
parents:
diff changeset
   218
	aResult.SetResult( KErrNone, KTestcasePassed );
hgs
parents:
diff changeset
   219
hgs
parents:
diff changeset
   220
    // Case was executed
hgs
parents:
diff changeset
   221
    return KErrNone;
hgs
parents:
diff changeset
   222
    }
hgs
parents:
diff changeset
   223
hgs
parents:
diff changeset
   224
hgs
parents:
diff changeset
   225
TInt Cxmppsettingsfetchermt::ReadIncompleteSettingsL( TTestResult& aResult )
hgs
parents:
diff changeset
   226
    {
hgs
parents:
diff changeset
   227
    TUint32 settingId = 0;
hgs
parents:
diff changeset
   228
    CXmppSettingsApi* api = CXmppSettingsApi::NewLC();
hgs
parents:
diff changeset
   229
hgs
parents:
diff changeset
   230
    TRAPD( error, api->CreateSettingsRecordL( settingId ) );
hgs
parents:
diff changeset
   231
    User::LeaveIfError( error );
hgs
parents:
diff changeset
   232
	
hgs
parents:
diff changeset
   233
	WriteIncompleteSettingsL( api, settingId );
hgs
parents:
diff changeset
   234
    CleanupStack::PopAndDestroy( api );
hgs
parents:
diff changeset
   235
	
hgs
parents:
diff changeset
   236
    CXmppParameters* xmppParams = CXmppParameters::NewL();
hgs
parents:
diff changeset
   237
    CleanupStack::PushL( xmppParams );
hgs
parents:
diff changeset
   238
    TRAP( error, CXmppSettingsFetcher::ReadSettingsL( settingId, *xmppParams ) );
hgs
parents:
diff changeset
   239
    CleanupStack::PopAndDestroy( xmppParams );
hgs
parents:
diff changeset
   240
    
hgs
parents:
diff changeset
   241
    // Sets test case result and description(Maximum size is KStifMaxResultDes)
hgs
parents:
diff changeset
   242
    if( error == KErrNotFound )
hgs
parents:
diff changeset
   243
    	aResult.SetResult( KErrNone, KTestcasePassed );
hgs
parents:
diff changeset
   244
    else
hgs
parents:
diff changeset
   245
    	aResult.SetResult( KErrGeneral, KTestcaseFailed );
hgs
parents:
diff changeset
   246
hgs
parents:
diff changeset
   247
    // Case was executed
hgs
parents:
diff changeset
   248
    return KErrNone;
hgs
parents:
diff changeset
   249
    }
hgs
parents:
diff changeset
   250
hgs
parents:
diff changeset
   251
hgs
parents:
diff changeset
   252
TInt Cxmppsettingsfetchermt::ReadDescSettingsL( TTestResult& aResult )
hgs
parents:
diff changeset
   253
    {
hgs
parents:
diff changeset
   254
    TUint32 settingId = 0;
hgs
parents:
diff changeset
   255
    CXmppSettingsApi* api = CXmppSettingsApi::NewLC();
hgs
parents:
diff changeset
   256
hgs
parents:
diff changeset
   257
    TRAPD( error, api->CreateSettingsRecordL( settingId ) );
hgs
parents:
diff changeset
   258
    User::LeaveIfError( error );
hgs
parents:
diff changeset
   259
	
hgs
parents:
diff changeset
   260
	WriteSettingsL( api, settingId, EDescriptorTest );
hgs
parents:
diff changeset
   261
    CleanupStack::PopAndDestroy( api );
hgs
parents:
diff changeset
   262
	
hgs
parents:
diff changeset
   263
    CXmppParameters* xmppParams = CXmppParameters::NewL();
hgs
parents:
diff changeset
   264
    CleanupStack::PushL( xmppParams );
hgs
parents:
diff changeset
   265
    CXmppSettingsFetcher::ReadSettingsL( settingId, *xmppParams );
hgs
parents:
diff changeset
   266
    
hgs
parents:
diff changeset
   267
    //verify that all settings read are correct
hgs
parents:
diff changeset
   268
    TBool verify = VerifySettingsL( xmppParams, settingId, EDescriptorTest );
hgs
parents:
diff changeset
   269
    CleanupStack::PopAndDestroy( xmppParams );
hgs
parents:
diff changeset
   270
    
hgs
parents:
diff changeset
   271
    // Sets test case result and description(Maximum size is KStifMaxResultDes)
hgs
parents:
diff changeset
   272
    if(verify)
hgs
parents:
diff changeset
   273
    	aResult.SetResult( KErrNone, KTestcasePassed );
hgs
parents:
diff changeset
   274
    else
hgs
parents:
diff changeset
   275
    	aResult.SetResult( KErrGeneral, KVerificationFailed );
hgs
parents:
diff changeset
   276
hgs
parents:
diff changeset
   277
    // Case was executed
hgs
parents:
diff changeset
   278
    return KErrNone;
hgs
parents:
diff changeset
   279
    }
hgs
parents:
diff changeset
   280
hgs
parents:
diff changeset
   281
hgs
parents:
diff changeset
   282
TInt Cxmppsettingsfetchermt::ReadIntSettingsL( TTestResult& aResult )
hgs
parents:
diff changeset
   283
    {
hgs
parents:
diff changeset
   284
    TUint32 settingId = 0;
hgs
parents:
diff changeset
   285
    CXmppSettingsApi* api = CXmppSettingsApi::NewLC();
hgs
parents:
diff changeset
   286
hgs
parents:
diff changeset
   287
    TRAPD( error, api->CreateSettingsRecordL( settingId ) );
hgs
parents:
diff changeset
   288
    User::LeaveIfError( error );
hgs
parents:
diff changeset
   289
	
hgs
parents:
diff changeset
   290
	WriteSettingsL( api, settingId, EIntegerTest );
hgs
parents:
diff changeset
   291
    CleanupStack::PopAndDestroy( api );
hgs
parents:
diff changeset
   292
	
hgs
parents:
diff changeset
   293
    CXmppParameters* xmppParams = CXmppParameters::NewL();
hgs
parents:
diff changeset
   294
    CleanupStack::PushL( xmppParams );
hgs
parents:
diff changeset
   295
    CXmppSettingsFetcher::ReadSettingsL( settingId, *xmppParams );
hgs
parents:
diff changeset
   296
    
hgs
parents:
diff changeset
   297
    //verify that all settings read are correct
hgs
parents:
diff changeset
   298
    TBool verify = VerifySettingsL( xmppParams, settingId, EIntegerTest );
hgs
parents:
diff changeset
   299
    CleanupStack::PopAndDestroy( xmppParams );
hgs
parents:
diff changeset
   300
    
hgs
parents:
diff changeset
   301
    // Sets test case result and description(Maximum size is KStifMaxResultDes)
hgs
parents:
diff changeset
   302
    if(verify)
hgs
parents:
diff changeset
   303
    	aResult.SetResult( KErrNone, KTestcasePassed );
hgs
parents:
diff changeset
   304
    else
hgs
parents:
diff changeset
   305
    	aResult.SetResult( KErrGeneral, KVerificationFailed );
hgs
parents:
diff changeset
   306
hgs
parents:
diff changeset
   307
    // Case was executed
hgs
parents:
diff changeset
   308
    return KErrNone;
hgs
parents:
diff changeset
   309
    }
hgs
parents:
diff changeset
   310
hgs
parents:
diff changeset
   311
hgs
parents:
diff changeset
   312
void Cxmppsettingsfetchermt::WriteSettingsL( CXmppSettingsApi* aApi, TUint32 aSettingId, TTestCase aTestCase )
hgs
parents:
diff changeset
   313
{
hgs
parents:
diff changeset
   314
	TInt error = KErrNone;
hgs
parents:
diff changeset
   315
	
hgs
parents:
diff changeset
   316
    TRAP( error, aApi->SetParamL( aSettingId,
hgs
parents:
diff changeset
   317
                                              XmppParams::KXmppParamHttpsProxyServerPort(),
hgs
parents:
diff changeset
   318
                                              httpsProxyPort ) );
hgs
parents:
diff changeset
   319
	if( aTestCase == EIntegerTest )	//integer test
hgs
parents:
diff changeset
   320
		{
hgs
parents:
diff changeset
   321
	    TRAP( error, aApi->SetParamL( aSettingId,
hgs
parents:
diff changeset
   322
	                                              XmppParams::KXmppParamServerPort(),
hgs
parents:
diff changeset
   323
	                                              portNegative ) ); //negative value
hgs
parents:
diff changeset
   324
	    TRAP( error, aApi->SetParamL( aSettingId,
hgs
parents:
diff changeset
   325
	                                              XmppParams::KXmppParamSnapId(),
hgs
parents:
diff changeset
   326
	                                              iapIdZero ) ); //zero
hgs
parents:
diff changeset
   327
		}
hgs
parents:
diff changeset
   328
	else
hgs
parents:
diff changeset
   329
		{
hgs
parents:
diff changeset
   330
	    TRAP( error, aApi->SetParamL( aSettingId,
hgs
parents:
diff changeset
   331
	                                              XmppParams::KXmppParamServerPort(),
hgs
parents:
diff changeset
   332
	                                              port ) );
hgs
parents:
diff changeset
   333
	    TRAP( error, aApi->SetParamL( aSettingId,
hgs
parents:
diff changeset
   334
	                                              XmppParams::KXmppParamSnapId(),
hgs
parents:
diff changeset
   335
	                                              iapId ) );
hgs
parents:
diff changeset
   336
		}	
hgs
parents:
diff changeset
   337
hgs
parents:
diff changeset
   338
    // buffers
hgs
parents:
diff changeset
   339
    TRAP( error, aApi->SetParamL( aSettingId,
hgs
parents:
diff changeset
   340
                                              XmppParams::KXmppParamXmppServerAddress(),
hgs
parents:
diff changeset
   341
                                              KXmppServerAddress ) );
hgs
parents:
diff changeset
   342
hgs
parents:
diff changeset
   343
	if( aTestCase == EDescriptorTest )	//descriptor test
hgs
parents:
diff changeset
   344
		{
hgs
parents:
diff changeset
   345
	    TRAP( error, aApi->SetParamL( aSettingId,
hgs
parents:
diff changeset
   346
	                                              XmppParams::KXmppParamUsername(),
hgs
parents:
diff changeset
   347
	                                              KNullUsername ) ); //empty string
hgs
parents:
diff changeset
   348
	    TRAP( error, aApi->SetParamL( aSettingId,
hgs
parents:
diff changeset
   349
	                                              XmppParams::KXmppParamPassword(),
hgs
parents:
diff changeset
   350
	                                              KNullDesC ) ); //null descriptor
hgs
parents:
diff changeset
   351
		}
hgs
parents:
diff changeset
   352
    else
hgs
parents:
diff changeset
   353
	    {
hgs
parents:
diff changeset
   354
	    TRAP( error, aApi->SetParamL( aSettingId,
hgs
parents:
diff changeset
   355
	                                              XmppParams::KXmppParamUsername(),
hgs
parents:
diff changeset
   356
	                                              KUsername ) );
hgs
parents:
diff changeset
   357
	    TRAP( error, aApi->SetParamL( aSettingId,
hgs
parents:
diff changeset
   358
	                                              XmppParams::KXmppParamPassword(),
hgs
parents:
diff changeset
   359
	                                              KPassword ) );
hgs
parents:
diff changeset
   360
	    }
hgs
parents:
diff changeset
   361
hgs
parents:
diff changeset
   362
	// gabble specific things.........
hgs
parents:
diff changeset
   363
    TRAP( error, aApi->SetParamL( aSettingId,
hgs
parents:
diff changeset
   364
                                              XmppParams::KXmppParamResource(),
hgs
parents:
diff changeset
   365
                                              KResouceText ) );
hgs
parents:
diff changeset
   366
    TRAP( error, aApi->SetParamL( aSettingId,
hgs
parents:
diff changeset
   367
                                              XmppParams::KXmppParamHttpsProxyServerAddress(),
hgs
parents:
diff changeset
   368
                                              KHttpsProxyServerAddressText ) );
hgs
parents:
diff changeset
   369
    TRAP( error, aApi->SetParamL( aSettingId,
hgs
parents:
diff changeset
   370
                                              XmppParams::KXmppParamAlais(),
hgs
parents:
diff changeset
   371
                                              KAliasText ) );
hgs
parents:
diff changeset
   372
    TRAP( error, aApi->SetParamL( aSettingId,
hgs
parents:
diff changeset
   373
                                              XmppParams::KXmppParamOldSSLRequired(),
hgs
parents:
diff changeset
   374
                                              oldSSL ) );
hgs
parents:
diff changeset
   375
    TRAP( error, aApi->SetParamL( aSettingId,
hgs
parents:
diff changeset
   376
                                              XmppParams::KXmppParamRegisterRequired(),
hgs
parents:
diff changeset
   377
                                              resigter ) );
hgs
parents:
diff changeset
   378
    TRAP( error, aApi->SetParamL( aSettingId,
hgs
parents:
diff changeset
   379
                                  XmppParams::KXmppParamConnMgrBus(),
hgs
parents:
diff changeset
   380
                                  KConnMgrBus ) );
hgs
parents:
diff changeset
   381
                                  
hgs
parents:
diff changeset
   382
    TRAP( error, aApi->SetParamL( aSettingId,
hgs
parents:
diff changeset
   383
                                  XmppParams::KXmppParamConnMgrPath(),
hgs
parents:
diff changeset
   384
                                  KConnMgrPath ));
hgs
parents:
diff changeset
   385
    
hgs
parents:
diff changeset
   386
    TRAP( error, aApi->SetParamL( aSettingId,
hgs
parents:
diff changeset
   387
                                              XmppParams::KXmppParamProtocol(),
hgs
parents:
diff changeset
   388
                                              KParamProtocol ));
hgs
parents:
diff changeset
   389
hgs
parents:
diff changeset
   390
    }
hgs
parents:
diff changeset
   391
hgs
parents:
diff changeset
   392
hgs
parents:
diff changeset
   393
TBool Cxmppsettingsfetchermt::VerifySettingsL( CXmppParameters* aXmppParams, TUint32 aSettingsId, TTestCase aTestCase )
hgs
parents:
diff changeset
   394
{
hgs
parents:
diff changeset
   395
	switch (aTestCase)
hgs
parents:
diff changeset
   396
		{
hgs
parents:
diff changeset
   397
		case EPositiveTest:
hgs
parents:
diff changeset
   398
			if ( 
hgs
parents:
diff changeset
   399
				( aXmppParams->SettingsId() == aSettingsId ) &&
hgs
parents:
diff changeset
   400
				( aXmppParams->ServerPort() == port ) &&
hgs
parents:
diff changeset
   401
				( aXmppParams->ProxyPort() == httpsProxyPort ) &&
hgs
parents:
diff changeset
   402
				( aXmppParams->IapId() == iapId ) &&
hgs
parents:
diff changeset
   403
				( aXmppParams->ServerAddress() == KXmppServerAddress ) &&
hgs
parents:
diff changeset
   404
				( aXmppParams->UserName() == KUsername ) &&
hgs
parents:
diff changeset
   405
				( aXmppParams->Passwd() == KPassword ) &&
hgs
parents:
diff changeset
   406
				( aXmppParams->Resource() == KResouceText ) &&
hgs
parents:
diff changeset
   407
				( aXmppParams->ProxyServer() == KHttpsProxyServerAddressText ) &&
hgs
parents:
diff changeset
   408
				( aXmppParams->Ssl() == oldSSL )
hgs
parents:
diff changeset
   409
			   )
hgs
parents:
diff changeset
   410
				return ETrue;
hgs
parents:
diff changeset
   411
			else
hgs
parents:
diff changeset
   412
				return EFalse;	
hgs
parents:
diff changeset
   413
		case EDescriptorTest:
hgs
parents:
diff changeset
   414
			if ( 
hgs
parents:
diff changeset
   415
				( aXmppParams->SettingsId() == aSettingsId ) &&
hgs
parents:
diff changeset
   416
				( aXmppParams->ServerPort() == port ) &&
hgs
parents:
diff changeset
   417
				( aXmppParams->ProxyPort() == httpsProxyPort ) &&
hgs
parents:
diff changeset
   418
				( aXmppParams->IapId() == iapId ) &&
hgs
parents:
diff changeset
   419
				( aXmppParams->ServerAddress() == KXmppServerAddress ) &&
hgs
parents:
diff changeset
   420
				( aXmppParams->UserName() == KNullUsername ) && //empty string
hgs
parents:
diff changeset
   421
				( aXmppParams->Passwd() == KNullDesC ) && //null descriptor
hgs
parents:
diff changeset
   422
				( aXmppParams->Resource() == KResouceText ) &&
hgs
parents:
diff changeset
   423
				( aXmppParams->ProxyServer() == KHttpsProxyServerAddressText ) &&
hgs
parents:
diff changeset
   424
				( aXmppParams->Ssl() == oldSSL )
hgs
parents:
diff changeset
   425
			   )
hgs
parents:
diff changeset
   426
				return ETrue;
hgs
parents:
diff changeset
   427
			else
hgs
parents:
diff changeset
   428
				return EFalse;	
hgs
parents:
diff changeset
   429
		case EIntegerTest:
hgs
parents:
diff changeset
   430
			if ( 
hgs
parents:
diff changeset
   431
				( aXmppParams->SettingsId() == aSettingsId ) &&
hgs
parents:
diff changeset
   432
				( aXmppParams->ServerPort() == portNegative ) && //negative
hgs
parents:
diff changeset
   433
				( aXmppParams->ProxyPort() == httpsProxyPort ) && 
hgs
parents:
diff changeset
   434
				( aXmppParams->IapId() == iapIdZero ) && //zero
hgs
parents:
diff changeset
   435
				( aXmppParams->ServerAddress() == KXmppServerAddress ) &&
hgs
parents:
diff changeset
   436
				( aXmppParams->UserName() == KUsername ) &&
hgs
parents:
diff changeset
   437
				( aXmppParams->Passwd() == KPassword ) &&
hgs
parents:
diff changeset
   438
				( aXmppParams->Resource() == KResouceText ) &&
hgs
parents:
diff changeset
   439
				( aXmppParams->ProxyServer() == KHttpsProxyServerAddressText ) &&
hgs
parents:
diff changeset
   440
				( aXmppParams->Ssl() == oldSSL )
hgs
parents:
diff changeset
   441
			   )
hgs
parents:
diff changeset
   442
				return ETrue;
hgs
parents:
diff changeset
   443
			else
hgs
parents:
diff changeset
   444
				return EFalse;	
hgs
parents:
diff changeset
   445
		}
hgs
parents:
diff changeset
   446
	return EFalse;
hgs
parents:
diff changeset
   447
 }
hgs
parents:
diff changeset
   448
hgs
parents:
diff changeset
   449
hgs
parents:
diff changeset
   450
void Cxmppsettingsfetchermt::WriteIncompleteSettingsL( CXmppSettingsApi* aApi, TUint32 aSettingId )
hgs
parents:
diff changeset
   451
{
hgs
parents:
diff changeset
   452
	TInt error = KErrNone;
hgs
parents:
diff changeset
   453
	
hgs
parents:
diff changeset
   454
    TRAP( error, aApi->SetParamL( aSettingId,
hgs
parents:
diff changeset
   455
                                              XmppParams::KXmppParamServerPort(),
hgs
parents:
diff changeset
   456
                                              port ) );
hgs
parents:
diff changeset
   457
hgs
parents:
diff changeset
   458
    // buffers
hgs
parents:
diff changeset
   459
    TRAP( error, aApi->SetParamL( aSettingId,
hgs
parents:
diff changeset
   460
                                              XmppParams::KXmppParamXmppServerAddress(),
hgs
parents:
diff changeset
   461
                                              KXmppServerAddress ) );
hgs
parents:
diff changeset
   462
    TRAP( error, aApi->SetParamL( aSettingId,
hgs
parents:
diff changeset
   463
                                              XmppParams::KXmppParamUsername(),
hgs
parents:
diff changeset
   464
                                              KUsername ) );
hgs
parents:
diff changeset
   465
    TRAP( error, aApi->SetParamL( aSettingId,
hgs
parents:
diff changeset
   466
                                              XmppParams::KXmppParamPassword(),
hgs
parents:
diff changeset
   467
                                              KPassword ) );
hgs
parents:
diff changeset
   468
	// gabble specific things.........
hgs
parents:
diff changeset
   469
    TRAP( error, aApi->SetParamL( aSettingId,
hgs
parents:
diff changeset
   470
                                              XmppParams::KXmppParamHttpsProxyServerAddress(),
hgs
parents:
diff changeset
   471
                                              KHttpsProxyServerAddressText ) );
hgs
parents:
diff changeset
   472
    TRAP( error, aApi->SetParamL( aSettingId,
hgs
parents:
diff changeset
   473
                                              XmppParams::KXmppParamOldSSLRequired(),
hgs
parents:
diff changeset
   474
                                              oldSSL ) );
hgs
parents:
diff changeset
   475
    }
hgs
parents:
diff changeset
   476
hgs
parents:
diff changeset
   477
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   478
// ?classname::?member_function
hgs
parents:
diff changeset
   479
// ?implementation_description
hgs
parents:
diff changeset
   480
// (other items were commented in a header).
hgs
parents:
diff changeset
   481
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   482
//
hgs
parents:
diff changeset
   483
/*
hgs
parents:
diff changeset
   484
?type ?classname::?member_function(
hgs
parents:
diff changeset
   485
   ?arg_type arg,
hgs
parents:
diff changeset
   486
   ?arg_type arg )
hgs
parents:
diff changeset
   487
   {
hgs
parents:
diff changeset
   488
hgs
parents:
diff changeset
   489
   ?code
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
// ========================== OTHER EXPORTED FUNCTIONS =========================
hgs
parents:
diff changeset
   495
hgs
parents:
diff changeset
   496
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   497
// ?function_name implements...
hgs
parents:
diff changeset
   498
// ?implementation_description.
hgs
parents:
diff changeset
   499
// Returns: ?value_1: ?description
hgs
parents:
diff changeset
   500
//          ?value_n: ?description
hgs
parents:
diff changeset
   501
//                    ?description
hgs
parents:
diff changeset
   502
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   503
//
hgs
parents:
diff changeset
   504
/*
hgs
parents:
diff changeset
   505
?type  ?function_name(
hgs
parents:
diff changeset
   506
    ?arg_type arg,  // ?description
hgs
parents:
diff changeset
   507
    ?arg_type arg )  // ?description
hgs
parents:
diff changeset
   508
    {
hgs
parents:
diff changeset
   509
hgs
parents:
diff changeset
   510
    ?code
hgs
parents:
diff changeset
   511
hgs
parents:
diff changeset
   512
    }
hgs
parents:
diff changeset
   513
*/
hgs
parents:
diff changeset
   514
//  [End of File] - do not remove