imservices/xmppsettingsapi/tsrc/src/xmppsettings_apiBlocks.cpp
author hgs
Wed, 03 Nov 2010 22:25:05 +0530
changeset 52 3d676fce9a4e
parent 51 61fad867f68e
permissions -rw-r--r--
201044_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
51
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 <StifParser.h>
hgs
parents:
diff changeset
    21
#include <StifTestInterface.h>
hgs
parents:
diff changeset
    22
#include "xmppsettings_api.h"
hgs
parents:
diff changeset
    23
#include <xmppservicesettingsapi.h>
hgs
parents:
diff changeset
    24
#include<centralrepository.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
const TUid  KXmppSettingsApiCenRep         ={0x1020e334};
hgs
parents:
diff changeset
    29
_LIT( KParamName, "XMPP-PARAM-NUMBER-0x%08d");
hgs
parents:
diff changeset
    30
_LIT( KParamValue16, "param value - 0x%08d");
hgs
parents:
diff changeset
    31
// EXTERNAL FUNCTION PROTOTYPES  
hgs
parents:
diff changeset
    32
//extern ?external_function( ?arg_type,?arg_type );
hgs
parents:
diff changeset
    33
hgs
parents:
diff changeset
    34
// CONSTANTS
hgs
parents:
diff changeset
    35
//const ?type ?constant_var = ?constant;
hgs
parents:
diff changeset
    36
hgs
parents:
diff changeset
    37
// MACROS
hgs
parents:
diff changeset
    38
//#define ?macro ?macro_def
hgs
parents:
diff changeset
    39
hgs
parents:
diff changeset
    40
// LOCAL CONSTANTS AND MACROS
hgs
parents:
diff changeset
    41
//const ?type ?constant_var = ?constant;
hgs
parents:
diff changeset
    42
//#define ?macro_name ?macro_def
hgs
parents:
diff changeset
    43
hgs
parents:
diff changeset
    44
// MODULE DATA STRUCTURES
hgs
parents:
diff changeset
    45
//enum ?declaration
hgs
parents:
diff changeset
    46
//typedef ?declaration
hgs
parents:
diff changeset
    47
hgs
parents:
diff changeset
    48
// LOCAL FUNCTION PROTOTYPES
hgs
parents:
diff changeset
    49
//?type ?function_name( ?arg_type, ?arg_type );
hgs
parents:
diff changeset
    50
hgs
parents:
diff changeset
    51
// FORWARD DECLARATIONS
hgs
parents:
diff changeset
    52
//class ?FORWARD_CLASSNAME;
hgs
parents:
diff changeset
    53
hgs
parents:
diff changeset
    54
// ============================= LOCAL FUNCTIONS ===============================
hgs
parents:
diff changeset
    55
hgs
parents:
diff changeset
    56
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    57
// ?function_name ?description.
hgs
parents:
diff changeset
    58
// ?description
hgs
parents:
diff changeset
    59
// Returns: ?value_1: ?description
hgs
parents:
diff changeset
    60
//          ?value_n: ?description_line1
hgs
parents:
diff changeset
    61
//                    ?description_line2
hgs
parents:
diff changeset
    62
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    63
//
hgs
parents:
diff changeset
    64
/*
hgs
parents:
diff changeset
    65
?type ?function_name(
hgs
parents:
diff changeset
    66
    ?arg_type arg,  // ?description
hgs
parents:
diff changeset
    67
    ?arg_type arg)  // ?description
hgs
parents:
diff changeset
    68
    {
hgs
parents:
diff changeset
    69
hgs
parents:
diff changeset
    70
    ?code  // ?comment
hgs
parents:
diff changeset
    71
hgs
parents:
diff changeset
    72
    // ?comment
hgs
parents:
diff changeset
    73
    ?code
hgs
parents:
diff changeset
    74
    }
hgs
parents:
diff changeset
    75
*/
hgs
parents:
diff changeset
    76
void Cxmppsettings_api::ResetRepository()
hgs
parents:
diff changeset
    77
    {
hgs
parents:
diff changeset
    78
    CRepository* rep = CRepository::NewL( KXmppSettingsApiCenRep );
hgs
parents:
diff changeset
    79
    User::LeaveIfError( rep->Reset() );
hgs
parents:
diff changeset
    80
    delete rep;
hgs
parents:
diff changeset
    81
    }
hgs
parents:
diff changeset
    82
// ============================ MEMBER FUNCTIONS ===============================
hgs
parents:
diff changeset
    83
hgs
parents:
diff changeset
    84
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    85
// Cxmppsettings_api::Delete
hgs
parents:
diff changeset
    86
// Delete here all resources allocated and opened from test methods. 
hgs
parents:
diff changeset
    87
// Called from destructor. 
hgs
parents:
diff changeset
    88
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    89
//
hgs
parents:
diff changeset
    90
void Cxmppsettings_api::Delete() 
hgs
parents:
diff changeset
    91
    {
hgs
parents:
diff changeset
    92
hgs
parents:
diff changeset
    93
    }
hgs
parents:
diff changeset
    94
hgs
parents:
diff changeset
    95
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    96
// Cxmppsettings_api::RunMethodL
hgs
parents:
diff changeset
    97
// Run specified method. Contains also table of test mothods and their names.
hgs
parents:
diff changeset
    98
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    99
//
hgs
parents:
diff changeset
   100
TInt Cxmppsettings_api::RunMethodL( 
hgs
parents:
diff changeset
   101
    CStifItemParser& aItem ) 
hgs
parents:
diff changeset
   102
    {
hgs
parents:
diff changeset
   103
hgs
parents:
diff changeset
   104
    static TStifFunctionInfo const KFunctions[] =
hgs
parents:
diff changeset
   105
        {  
hgs
parents:
diff changeset
   106
        // Copy this line for every implemented function.
hgs
parents:
diff changeset
   107
        // First string is the function name used in TestScripter script file.
hgs
parents:
diff changeset
   108
        // Second is the actual implementation member function. 
hgs
parents:
diff changeset
   109
        ENTRY( "Test_CreateSettingsRecordL", Cxmppsettings_api::Test_CreateSettingsRecordL ),
hgs
parents:
diff changeset
   110
        ENTRY( "Test_DefaultSettingsRecord", Cxmppsettings_api::Test_DefaultSettingsRecord ),
hgs
parents:
diff changeset
   111
        ENTRY( "Test_GetSettingsRecordIdArray", Cxmppsettings_api::Test_GetSettingsRecordIdArray ),
hgs
parents:
diff changeset
   112
        ENTRY( "Test_SetParamInt", Cxmppsettings_api::Test_SetParamInt ),
hgs
parents:
diff changeset
   113
        ENTRY( "Test_SetParamLDes", Cxmppsettings_api::Test_SetParamLDes ),
hgs
parents:
diff changeset
   114
        ENTRY( "Test_GetParamInt", Cxmppsettings_api::Test_GetParamInt ),
hgs
parents:
diff changeset
   115
        ENTRY( "Test_GetParamLDes", Cxmppsettings_api::Test_GetParamLDes ),
hgs
parents:
diff changeset
   116
        ENTRY( "Test_RemoveSettingsRecord", Cxmppsettings_api::Test_RemoveSettingsRecord ),
hgs
parents:
diff changeset
   117
        ENTRY( "Test_RemoveParam", Cxmppsettings_api::Test_RemoveParam ),
hgs
parents:
diff changeset
   118
hgs
parents:
diff changeset
   119
        
hgs
parents:
diff changeset
   120
        //ADD NEW ENTRY HERE
hgs
parents:
diff changeset
   121
        // [test cases entries] - Do not remove
hgs
parents:
diff changeset
   122
hgs
parents:
diff changeset
   123
        };
hgs
parents:
diff changeset
   124
hgs
parents:
diff changeset
   125
    const TInt count = sizeof( KFunctions ) / 
hgs
parents:
diff changeset
   126
                        sizeof( TStifFunctionInfo );
hgs
parents:
diff changeset
   127
hgs
parents:
diff changeset
   128
    return RunInternalL( KFunctions, count, aItem );
hgs
parents:
diff changeset
   129
hgs
parents:
diff changeset
   130
    }
hgs
parents:
diff changeset
   131
hgs
parents:
diff changeset
   132
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   133
// Cxmppsettings_api::ExampleL
hgs
parents:
diff changeset
   134
// Example test method function.
hgs
parents:
diff changeset
   135
// (other items were commented in a header).
hgs
parents:
diff changeset
   136
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   137
//
hgs
parents:
diff changeset
   138
TInt Cxmppsettings_api::Test_CreateSettingsRecordL( CStifItemParser& aItem )
hgs
parents:
diff changeset
   139
    {
hgs
parents:
diff changeset
   140
    
hgs
parents:
diff changeset
   141
    ResetRepository();
hgs
parents:
diff changeset
   142
     iApi->CreateSettingsRecordL( iSettingId );
hgs
parents:
diff changeset
   143
     if(0==iSettingId)
hgs
parents:
diff changeset
   144
         {
hgs
parents:
diff changeset
   145
         return KErrGeneral;
hgs
parents:
diff changeset
   146
         }
hgs
parents:
diff changeset
   147
    
hgs
parents:
diff changeset
   148
    RArray<TUint32> array;
hgs
parents:
diff changeset
   149
hgs
parents:
diff changeset
   150
    iApi->GetSettingsRecordIdArrayL( array );
hgs
parents:
diff changeset
   151
    TInt arraycount = array.Count();
hgs
parents:
diff changeset
   152
    if(0==arraycount)
hgs
parents:
diff changeset
   153
        {
hgs
parents:
diff changeset
   154
        return KErrGeneral;
hgs
parents:
diff changeset
   155
        }
hgs
parents:
diff changeset
   156
    if(iSettingId!=array[0])
hgs
parents:
diff changeset
   157
        {
hgs
parents:
diff changeset
   158
        return KErrGeneral;
hgs
parents:
diff changeset
   159
        }
hgs
parents:
diff changeset
   160
    array.Reset();
hgs
parents:
diff changeset
   161
    array.Close();
hgs
parents:
diff changeset
   162
    ResetRepository();
hgs
parents:
diff changeset
   163
    TInt count = 5;
hgs
parents:
diff changeset
   164
    for (TInt i=0; i< count; i++ )
hgs
parents:
diff changeset
   165
        {
hgs
parents:
diff changeset
   166
        iApi->CreateSettingsRecordL( iSettingId ) ;
hgs
parents:
diff changeset
   167
        }
hgs
parents:
diff changeset
   168
    iApi->GetSettingsRecordIdArrayL( array );
hgs
parents:
diff changeset
   169
    arraycount = array.Count();
hgs
parents:
diff changeset
   170
    if(count!=arraycount)
hgs
parents:
diff changeset
   171
        {
hgs
parents:
diff changeset
   172
        return KErrGeneral;
hgs
parents:
diff changeset
   173
        }
hgs
parents:
diff changeset
   174
    array.Reset();
hgs
parents:
diff changeset
   175
    array.Close();
hgs
parents:
diff changeset
   176
    ResetRepository();
hgs
parents:
diff changeset
   177
    return KErrNone;
hgs
parents:
diff changeset
   178
        }
hgs
parents:
diff changeset
   179
hgs
parents:
diff changeset
   180
TInt Cxmppsettings_api::Test_DefaultSettingsRecord( CStifItemParser& aItem )
hgs
parents:
diff changeset
   181
    {
hgs
parents:
diff changeset
   182
    ResetRepository();
hgs
parents:
diff changeset
   183
    iApi->CreateSettingsRecordL( iSettingId );
hgs
parents:
diff changeset
   184
    TUint32 settingId;
hgs
parents:
diff changeset
   185
    iApi->DefaultSettingsRecordL( settingId );
hgs
parents:
diff changeset
   186
    if(settingId!=iSettingId)
hgs
parents:
diff changeset
   187
        {
hgs
parents:
diff changeset
   188
        return KErrGeneral;
hgs
parents:
diff changeset
   189
        }
hgs
parents:
diff changeset
   190
    ResetRepository();
hgs
parents:
diff changeset
   191
    return KErrNone;
hgs
parents:
diff changeset
   192
    
hgs
parents:
diff changeset
   193
    }
hgs
parents:
diff changeset
   194
hgs
parents:
diff changeset
   195
TInt Cxmppsettings_api::Test_GetSettingsRecordIdArray( CStifItemParser& aItem )
hgs
parents:
diff changeset
   196
    {
hgs
parents:
diff changeset
   197
    
hgs
parents:
diff changeset
   198
    ResetRepository();
hgs
parents:
diff changeset
   199
     iApi->CreateSettingsRecordL( iSettingId );
hgs
parents:
diff changeset
   200
     if(0==iSettingId)
hgs
parents:
diff changeset
   201
         {
hgs
parents:
diff changeset
   202
         return KErrGeneral;
hgs
parents:
diff changeset
   203
         }
hgs
parents:
diff changeset
   204
    
hgs
parents:
diff changeset
   205
    RArray<TUint32> array;
hgs
parents:
diff changeset
   206
hgs
parents:
diff changeset
   207
    iApi->GetSettingsRecordIdArrayL( array );
hgs
parents:
diff changeset
   208
    TInt arraycount = array.Count();
hgs
parents:
diff changeset
   209
    if(0==arraycount)
hgs
parents:
diff changeset
   210
        {
hgs
parents:
diff changeset
   211
        return KErrGeneral;
hgs
parents:
diff changeset
   212
        }
hgs
parents:
diff changeset
   213
    if(iSettingId!=array[0])
hgs
parents:
diff changeset
   214
        {
hgs
parents:
diff changeset
   215
        return KErrGeneral;
hgs
parents:
diff changeset
   216
        }
hgs
parents:
diff changeset
   217
    array.Reset();
hgs
parents:
diff changeset
   218
    array.Close();
hgs
parents:
diff changeset
   219
    ResetRepository();
hgs
parents:
diff changeset
   220
    TInt count = 5;
hgs
parents:
diff changeset
   221
    for (TInt i=0; i< count; i++ )
hgs
parents:
diff changeset
   222
        {
hgs
parents:
diff changeset
   223
        iApi->CreateSettingsRecordL( iSettingId ) ;
hgs
parents:
diff changeset
   224
        }
hgs
parents:
diff changeset
   225
    iApi->GetSettingsRecordIdArrayL( array );
hgs
parents:
diff changeset
   226
    arraycount = array.Count();
hgs
parents:
diff changeset
   227
    if(count!=arraycount)
hgs
parents:
diff changeset
   228
        {
hgs
parents:
diff changeset
   229
        return KErrGeneral;
hgs
parents:
diff changeset
   230
        }
hgs
parents:
diff changeset
   231
    array.Reset();
hgs
parents:
diff changeset
   232
    array.Close();
hgs
parents:
diff changeset
   233
    ResetRepository();
hgs
parents:
diff changeset
   234
    return KErrNone;
hgs
parents:
diff changeset
   235
        }
hgs
parents:
diff changeset
   236
TInt Cxmppsettings_api::Test_SetParamInt( CStifItemParser& aItem )
hgs
parents:
diff changeset
   237
    {
hgs
parents:
diff changeset
   238
    ResetRepository();
hgs
parents:
diff changeset
   239
    iApi->CreateSettingsRecordL( iSettingId );
hgs
parents:
diff changeset
   240
hgs
parents:
diff changeset
   241
    _LIT( KParamName, "XMPP-PARAM-NUMBER-0x%08d");
hgs
parents:
diff changeset
   242
hgs
parents:
diff changeset
   243
    TInt count = 128; // 0xFF
hgs
parents:
diff changeset
   244
    TInt err;
hgs
parents:
diff changeset
   245
   for (TInt i=0; i < count; i++ )
hgs
parents:
diff changeset
   246
    {
hgs
parents:
diff changeset
   247
    HBufC* paramName = HBufC::NewL( KParamName().Length()+20 );
hgs
parents:
diff changeset
   248
    paramName->Des().AppendFormat( KParamName(), i );
hgs
parents:
diff changeset
   249
hgs
parents:
diff changeset
   250
    TInt paramValue(i);
hgs
parents:
diff changeset
   251
hgs
parents:
diff changeset
   252
    TRAP(err,iApi->SetParamL( iSettingId, *paramName, paramValue));
hgs
parents:
diff changeset
   253
    if(err!=KErrNone)
hgs
parents:
diff changeset
   254
        {
hgs
parents:
diff changeset
   255
        ResetRepository();
hgs
parents:
diff changeset
   256
        return KErrGeneral;
hgs
parents:
diff changeset
   257
        }
hgs
parents:
diff changeset
   258
hgs
parents:
diff changeset
   259
    delete paramName;
hgs
parents:
diff changeset
   260
    }
hgs
parents:
diff changeset
   261
    ResetRepository();
hgs
parents:
diff changeset
   262
    return KErrNone;
hgs
parents:
diff changeset
   263
    }
hgs
parents:
diff changeset
   264
hgs
parents:
diff changeset
   265
TInt Cxmppsettings_api::Test_SetParamLDes( CStifItemParser& aItem )
hgs
parents:
diff changeset
   266
    {
hgs
parents:
diff changeset
   267
    TInt err;
hgs
parents:
diff changeset
   268
    ResetRepository();
hgs
parents:
diff changeset
   269
    iApi->CreateSettingsRecordL( iSettingId );
hgs
parents:
diff changeset
   270
hgs
parents:
diff changeset
   271
    TInt count = 128; // 0xFF
hgs
parents:
diff changeset
   272
hgs
parents:
diff changeset
   273
    for (TInt i=0; i < count; i++ )
hgs
parents:
diff changeset
   274
        {
hgs
parents:
diff changeset
   275
        HBufC* paramName = HBufC::NewL( KParamName().Length()+20 );
hgs
parents:
diff changeset
   276
        paramName->Des().AppendFormat( KParamName(), i );
hgs
parents:
diff changeset
   277
hgs
parents:
diff changeset
   278
        HBufC* paramValue = HBufC::NewL( KParamValue16().Length()+20 );
hgs
parents:
diff changeset
   279
        paramValue->Des().AppendFormat( KParamValue16(), i );
hgs
parents:
diff changeset
   280
hgs
parents:
diff changeset
   281
        TRAP(err,iApi->SetParamL( iSettingId, *paramName, *paramValue));
hgs
parents:
diff changeset
   282
        if(err!=KErrNone)
hgs
parents:
diff changeset
   283
           {
hgs
parents:
diff changeset
   284
            ResetRepository();
hgs
parents:
diff changeset
   285
            delete paramName;
hgs
parents:
diff changeset
   286
            delete paramValue;
hgs
parents:
diff changeset
   287
            return KErrGeneral;
hgs
parents:
diff changeset
   288
                }
hgs
parents:
diff changeset
   289
hgs
parents:
diff changeset
   290
        delete paramName;
hgs
parents:
diff changeset
   291
        delete paramValue;
hgs
parents:
diff changeset
   292
        }
hgs
parents:
diff changeset
   293
    ResetRepository();
hgs
parents:
diff changeset
   294
    return KErrNone;
hgs
parents:
diff changeset
   295
    
hgs
parents:
diff changeset
   296
    }
hgs
parents:
diff changeset
   297
hgs
parents:
diff changeset
   298
TInt Cxmppsettings_api::Test_GetParamInt( CStifItemParser& aItem )
hgs
parents:
diff changeset
   299
    {
hgs
parents:
diff changeset
   300
    ResetRepository();
hgs
parents:
diff changeset
   301
    iApi->CreateSettingsRecordL( iSettingId );
hgs
parents:
diff changeset
   302
hgs
parents:
diff changeset
   303
    _LIT( KParamName, "XMPP-PARAM-NUMBER-0x%08d");
hgs
parents:
diff changeset
   304
hgs
parents:
diff changeset
   305
    TInt count = 128; // 0xFF
hgs
parents:
diff changeset
   306
    TInt err;
hgs
parents:
diff changeset
   307
   for (TInt i=0; i < count; i++ )
hgs
parents:
diff changeset
   308
    {
hgs
parents:
diff changeset
   309
    HBufC* paramName = HBufC::NewL( KParamName().Length()+20 );
hgs
parents:
diff changeset
   310
    paramName->Des().AppendFormat( KParamName(), i );
hgs
parents:
diff changeset
   311
hgs
parents:
diff changeset
   312
    TInt paramValue(i);
hgs
parents:
diff changeset
   313
hgs
parents:
diff changeset
   314
    TRAP(err,iApi->SetParamL( iSettingId, *paramName, paramValue));
hgs
parents:
diff changeset
   315
    if(err!=KErrNone)
hgs
parents:
diff changeset
   316
        {
hgs
parents:
diff changeset
   317
        ResetRepository();
hgs
parents:
diff changeset
   318
        return KErrGeneral;
hgs
parents:
diff changeset
   319
        }
hgs
parents:
diff changeset
   320
hgs
parents:
diff changeset
   321
    delete paramName;
hgs
parents:
diff changeset
   322
    }
hgs
parents:
diff changeset
   323
   for ( TInt i=0; i < count; i++ )
hgs
parents:
diff changeset
   324
           {
hgs
parents:
diff changeset
   325
           HBufC* paramName = HBufC::NewL( KParamName().Length()+20 );
hgs
parents:
diff changeset
   326
           paramName->Des().AppendFormat( KParamName(), i );
hgs
parents:
diff changeset
   327
hgs
parents:
diff changeset
   328
           TInt paramValue(0);
hgs
parents:
diff changeset
   329
hgs
parents:
diff changeset
   330
           iApi->GetParamL( iSettingId,*paramName,paramValue);
hgs
parents:
diff changeset
   331
hgs
parents:
diff changeset
   332
           if( i!= paramValue)
hgs
parents:
diff changeset
   333
               {
hgs
parents:
diff changeset
   334
               return KErrGeneral;
hgs
parents:
diff changeset
   335
               }
hgs
parents:
diff changeset
   336
hgs
parents:
diff changeset
   337
           delete paramName;
hgs
parents:
diff changeset
   338
           }
hgs
parents:
diff changeset
   339
    ResetRepository();
hgs
parents:
diff changeset
   340
    return KErrNone;
hgs
parents:
diff changeset
   341
    }
hgs
parents:
diff changeset
   342
    
hgs
parents:
diff changeset
   343
TInt Cxmppsettings_api::Test_GetParamLDes( CStifItemParser& aItem )
hgs
parents:
diff changeset
   344
    {
hgs
parents:
diff changeset
   345
    ResetRepository();
hgs
parents:
diff changeset
   346
    iApi->CreateSettingsRecordL( iSettingId );
hgs
parents:
diff changeset
   347
hgs
parents:
diff changeset
   348
    _LIT( KParamName, "XMPP-PARAM-NUMBER-0x%08d");
hgs
parents:
diff changeset
   349
hgs
parents:
diff changeset
   350
    TInt count = 128; // 0xFF
hgs
parents:
diff changeset
   351
    TInt err;
hgs
parents:
diff changeset
   352
   for (TInt i=0; i < count; i++ )
hgs
parents:
diff changeset
   353
    {
hgs
parents:
diff changeset
   354
    HBufC* paramName = HBufC::NewL( KParamName().Length()+20 );
hgs
parents:
diff changeset
   355
    paramName->Des().AppendFormat( KParamName(), i );
hgs
parents:
diff changeset
   356
hgs
parents:
diff changeset
   357
    HBufC* paramValue = HBufC::NewL( KParamValue16().Length()+20 );
hgs
parents:
diff changeset
   358
    paramValue->Des().AppendFormat( KParamValue16(), i );
hgs
parents:
diff changeset
   359
hgs
parents:
diff changeset
   360
    TRAP(err,iApi->SetParamL( iSettingId, *paramName, *paramValue));
hgs
parents:
diff changeset
   361
    if(err!=KErrNone)
hgs
parents:
diff changeset
   362
       {
hgs
parents:
diff changeset
   363
        ResetRepository();
hgs
parents:
diff changeset
   364
        delete paramName;
hgs
parents:
diff changeset
   365
        delete paramValue;
hgs
parents:
diff changeset
   366
        return KErrGeneral;
hgs
parents:
diff changeset
   367
            }
hgs
parents:
diff changeset
   368
hgs
parents:
diff changeset
   369
    delete paramName;
hgs
parents:
diff changeset
   370
    delete paramValue;
hgs
parents:
diff changeset
   371
    }
hgs
parents:
diff changeset
   372
   for ( TInt i=0; i < count; i++ )
hgs
parents:
diff changeset
   373
           {
hgs
parents:
diff changeset
   374
           HBufC* paramName = HBufC::NewL( KParamName().Length()+20 );
hgs
parents:
diff changeset
   375
           paramName->Des().AppendFormat( KParamName(), i );
hgs
parents:
diff changeset
   376
hgs
parents:
diff changeset
   377
           HBufC* paramValue = HBufC::NewL( KParamValue16().Length()+20 );
hgs
parents:
diff changeset
   378
           paramValue->Des().AppendFormat( KParamValue16(), i );
hgs
parents:
diff changeset
   379
hgs
parents:
diff changeset
   380
           RBuf buf;
hgs
parents:
diff changeset
   381
           buf.CreateL( 255 );
hgs
parents:
diff changeset
   382
hgs
parents:
diff changeset
   383
           TRAP(err,iApi->GetParamL( iSettingId,*paramName, buf) );
hgs
parents:
diff changeset
   384
           
hgs
parents:
diff changeset
   385
           if(err!=KErrNone)
hgs
parents:
diff changeset
   386
               {
hgs
parents:
diff changeset
   387
               return KErrGeneral;
hgs
parents:
diff changeset
   388
               }
hgs
parents:
diff changeset
   389
           //*paramValue, buf, ;
hgs
parents:
diff changeset
   390
hgs
parents:
diff changeset
   391
           delete paramName;
hgs
parents:
diff changeset
   392
           delete paramValue;
hgs
parents:
diff changeset
   393
hgs
parents:
diff changeset
   394
           buf.Close();
hgs
parents:
diff changeset
   395
           }
hgs
parents:
diff changeset
   396
    ResetRepository();
hgs
parents:
diff changeset
   397
    return KErrNone;
hgs
parents:
diff changeset
   398
    }
hgs
parents:
diff changeset
   399
hgs
parents:
diff changeset
   400
TInt Cxmppsettings_api::Test_RemoveSettingsRecord( CStifItemParser& aItem )
hgs
parents:
diff changeset
   401
    {
hgs
parents:
diff changeset
   402
    ResetRepository();
hgs
parents:
diff changeset
   403
    iApi->CreateSettingsRecordL( iSettingId );
hgs
parents:
diff changeset
   404
    iApi->RemoveSettingsRecordL( iSettingId );
hgs
parents:
diff changeset
   405
hgs
parents:
diff changeset
   406
    RArray<TUint32> array;
hgs
parents:
diff changeset
   407
hgs
parents:
diff changeset
   408
    iApi->GetSettingsRecordIdArrayL( array );
hgs
parents:
diff changeset
   409
    TInt arraycount = array.Count();
hgs
parents:
diff changeset
   410
    if(1==arraycount)
hgs
parents:
diff changeset
   411
        {
hgs
parents:
diff changeset
   412
        return KErrGeneral;
hgs
parents:
diff changeset
   413
        }
hgs
parents:
diff changeset
   414
hgs
parents:
diff changeset
   415
    array.Reset();
hgs
parents:
diff changeset
   416
hgs
parents:
diff changeset
   417
    iSettingId = 0;
hgs
parents:
diff changeset
   418
hgs
parents:
diff changeset
   419
    ResetRepository();
hgs
parents:
diff changeset
   420
hgs
parents:
diff changeset
   421
    TInt count = 128;
hgs
parents:
diff changeset
   422
hgs
parents:
diff changeset
   423
    for (TInt i=1; i< count; i++ )
hgs
parents:
diff changeset
   424
        {
hgs
parents:
diff changeset
   425
        iApi->CreateSettingsRecordL( iSettingId);
hgs
parents:
diff changeset
   426
        }
hgs
parents:
diff changeset
   427
hgs
parents:
diff changeset
   428
    // because cen rep is reseted after every test, indexes should start
hgs
parents:
diff changeset
   429
    // from zero and go up to count. So its safe to assume that these
hgs
parents:
diff changeset
   430
    // indexes exist :)
hgs
parents:
diff changeset
   431
hgs
parents:
diff changeset
   432
    iApi->RemoveSettingsRecordL( 1 );
hgs
parents:
diff changeset
   433
    iApi->RemoveSettingsRecordL( 55 );
hgs
parents:
diff changeset
   434
    iApi->RemoveSettingsRecordL( 123 );
hgs
parents:
diff changeset
   435
    iApi->RemoveSettingsRecordL( 96 ) ;
hgs
parents:
diff changeset
   436
    iApi->RemoveSettingsRecordL( 2 );
hgs
parents:
diff changeset
   437
hgs
parents:
diff changeset
   438
    iApi->GetSettingsRecordIdArrayL( array );
hgs
parents:
diff changeset
   439
    arraycount = array.Count();
hgs
parents:
diff changeset
   440
    if((count-6)!=arraycount)
hgs
parents:
diff changeset
   441
        {
hgs
parents:
diff changeset
   442
        return KErrGeneral;
hgs
parents:
diff changeset
   443
        }
hgs
parents:
diff changeset
   444
hgs
parents:
diff changeset
   445
    for( TInt i=0; i < array.Count(); i++ )
hgs
parents:
diff changeset
   446
        {
hgs
parents:
diff changeset
   447
         iApi->RemoveSettingsRecordL( array[i] );
hgs
parents:
diff changeset
   448
        }
hgs
parents:
diff changeset
   449
hgs
parents:
diff changeset
   450
    array.Reset();
hgs
parents:
diff changeset
   451
    iApi->GetSettingsRecordIdArrayL( array );
hgs
parents:
diff changeset
   452
    if( 0!=(array.Count()))
hgs
parents:
diff changeset
   453
        {
hgs
parents:
diff changeset
   454
        return KErrGeneral;
hgs
parents:
diff changeset
   455
        }
hgs
parents:
diff changeset
   456
    array.Reset();
hgs
parents:
diff changeset
   457
    array.Close();
hgs
parents:
diff changeset
   458
    ResetRepository();
hgs
parents:
diff changeset
   459
    return KErrNone;
hgs
parents:
diff changeset
   460
      
hgs
parents:
diff changeset
   461
    }
hgs
parents:
diff changeset
   462
TInt Cxmppsettings_api::Test_RemoveParam( CStifItemParser& aItem )
hgs
parents:
diff changeset
   463
    {
hgs
parents:
diff changeset
   464
hgs
parents:
diff changeset
   465
hgs
parents:
diff changeset
   466
    ResetRepository();
hgs
parents:
diff changeset
   467
    iApi->CreateSettingsRecordL( iSettingId );
hgs
parents:
diff changeset
   468
hgs
parents:
diff changeset
   469
    _LIT( KParamName, "XMPP-PARAM-NUMBER-0x%08d");
hgs
parents:
diff changeset
   470
hgs
parents:
diff changeset
   471
    TInt count = 128; // 0xFF
hgs
parents:
diff changeset
   472
    TInt err;
hgs
parents:
diff changeset
   473
   for (TInt i=0; i < count; i++ )
hgs
parents:
diff changeset
   474
    {
hgs
parents:
diff changeset
   475
    HBufC* paramName = HBufC::NewL( KParamName().Length()+20 );
hgs
parents:
diff changeset
   476
    paramName->Des().AppendFormat( KParamName(), i );
hgs
parents:
diff changeset
   477
hgs
parents:
diff changeset
   478
    TInt paramValue(i);
hgs
parents:
diff changeset
   479
hgs
parents:
diff changeset
   480
    TRAP(err,iApi->SetParamL( iSettingId, *paramName, paramValue));
hgs
parents:
diff changeset
   481
    if(err!=KErrNone)
hgs
parents:
diff changeset
   482
        {
hgs
parents:
diff changeset
   483
        ResetRepository();
hgs
parents:
diff changeset
   484
        return KErrGeneral;
hgs
parents:
diff changeset
   485
        }
hgs
parents:
diff changeset
   486
hgs
parents:
diff changeset
   487
    delete paramName;
hgs
parents:
diff changeset
   488
    }
hgs
parents:
diff changeset
   489
   
hgs
parents:
diff changeset
   490
    count = 128; // 0xFF
hgs
parents:
diff changeset
   491
hgs
parents:
diff changeset
   492
    TInt param = 56;
hgs
parents:
diff changeset
   493
hgs
parents:
diff changeset
   494
        HBufC* paramName = HBufC::NewL( KParamName().Length()+20 );
hgs
parents:
diff changeset
   495
        paramName->Des().AppendFormat( KParamName(), param );
hgs
parents:
diff changeset
   496
hgs
parents:
diff changeset
   497
        iApi->RemoveParamL( iSettingId,*paramName);
hgs
parents:
diff changeset
   498
        TInt paramvalue;
hgs
parents:
diff changeset
   499
        
hgs
parents:
diff changeset
   500
        TRAP(err,iApi->GetParamL( iSettingId,*paramName,paramvalue));
hgs
parents:
diff changeset
   501
        if(err!= -1)
hgs
parents:
diff changeset
   502
            {
hgs
parents:
diff changeset
   503
            return KErrGeneral;
hgs
parents:
diff changeset
   504
            }
hgs
parents:
diff changeset
   505
        iApi->SetParamL( iSettingId,*paramName,12345);
hgs
parents:
diff changeset
   506
        delete paramName;
hgs
parents:
diff changeset
   507
hgs
parents:
diff changeset
   508
    for (TInt i=0; i < count; i++ )
hgs
parents:
diff changeset
   509
        {
hgs
parents:
diff changeset
   510
        HBufC* paramName = HBufC::NewL( KParamName().Length() + 20 );
hgs
parents:
diff changeset
   511
        paramName->Des().AppendFormat( KParamName(), i );
hgs
parents:
diff changeset
   512
hgs
parents:
diff changeset
   513
        iApi->RemoveParamL( iSettingId,*paramName);
hgs
parents:
diff changeset
   514
hgs
parents:
diff changeset
   515
        delete paramName;
hgs
parents:
diff changeset
   516
        }
hgs
parents:
diff changeset
   517
hgs
parents:
diff changeset
   518
hgs
parents:
diff changeset
   519
    ResetRepository();
hgs
parents:
diff changeset
   520
    return KErrNone;
hgs
parents:
diff changeset
   521
    
hgs
parents:
diff changeset
   522
    
hgs
parents:
diff changeset
   523
    }
hgs
parents:
diff changeset
   524
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   525
// Cxmppsettings_api::?member_function
hgs
parents:
diff changeset
   526
// ?implementation_description
hgs
parents:
diff changeset
   527
// (other items were commented in a header).
hgs
parents:
diff changeset
   528
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   529
//
hgs
parents:
diff changeset
   530
/*
hgs
parents:
diff changeset
   531
TInt Cxmppsettings_api::?member_function(
hgs
parents:
diff changeset
   532
   CItemParser& aItem )
hgs
parents:
diff changeset
   533
   {
hgs
parents:
diff changeset
   534
hgs
parents:
diff changeset
   535
   ?code
hgs
parents:
diff changeset
   536
hgs
parents:
diff changeset
   537
   }
hgs
parents:
diff changeset
   538
*/
hgs
parents:
diff changeset
   539
hgs
parents:
diff changeset
   540
// ========================== OTHER EXPORTED FUNCTIONS =========================
hgs
parents:
diff changeset
   541
// None
hgs
parents:
diff changeset
   542
hgs
parents:
diff changeset
   543
//  [End of File] - Do not remove