contentctrl_plat/ds_contact_adapter_customization_api/tsrc/ContactsAdapter/cnsmladaptertestutilities.cpp
author hgs
Fri, 20 Aug 2010 09:35:25 +0530
changeset 50 00439341df81
permissions -rw-r--r--
201033
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
50
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:  Source code file for contact adapter test utilities.
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#include "cnsmladaptertestutilities.h"
hgs
parents:
diff changeset
    19
#include <eunitmacros.h>
hgs
parents:
diff changeset
    20
#include <utf.h> 
hgs
parents:
diff changeset
    21
#include <cntitem.h>  // CContactCard
hgs
parents:
diff changeset
    22
#include <cntfield.h> // CContactItemField
hgs
parents:
diff changeset
    23
#include <cntfldst.h> // CContactTextField
hgs
parents:
diff changeset
    24
#include <s32mem.H>
hgs
parents:
diff changeset
    25
hgs
parents:
diff changeset
    26
namespace
hgs
parents:
diff changeset
    27
    {
hgs
parents:
diff changeset
    28
    // EUNIT_PRINT will truncate descriptors longer than 512 characters.
hgs
parents:
diff changeset
    29
    const TInt KEunitPrintMaxLength = 512;
hgs
parents:
diff changeset
    30
    }
hgs
parents:
diff changeset
    31
hgs
parents:
diff changeset
    32
CNSmlAdapterTestUtilities* CNSmlAdapterTestUtilities::NewL()
hgs
parents:
diff changeset
    33
    {
hgs
parents:
diff changeset
    34
    CNSmlAdapterTestUtilities* self = CNSmlAdapterTestUtilities::NewLC();
hgs
parents:
diff changeset
    35
    CleanupStack::Pop();
hgs
parents:
diff changeset
    36
    return self;
hgs
parents:
diff changeset
    37
    }
hgs
parents:
diff changeset
    38
hgs
parents:
diff changeset
    39
CNSmlAdapterTestUtilities* CNSmlAdapterTestUtilities::NewLC()
hgs
parents:
diff changeset
    40
    {
hgs
parents:
diff changeset
    41
    CNSmlAdapterTestUtilities* self = new( ELeave ) CNSmlAdapterTestUtilities();
hgs
parents:
diff changeset
    42
    CleanupStack::PushL( self );
hgs
parents:
diff changeset
    43
    self->ConstructL();
hgs
parents:
diff changeset
    44
    return self;    
hgs
parents:
diff changeset
    45
    }
hgs
parents:
diff changeset
    46
hgs
parents:
diff changeset
    47
CNSmlAdapterTestUtilities::CNSmlAdapterTestUtilities()
hgs
parents:
diff changeset
    48
    {
hgs
parents:
diff changeset
    49
    }
hgs
parents:
diff changeset
    50
hgs
parents:
diff changeset
    51
CNSmlAdapterTestUtilities::~CNSmlAdapterTestUtilities()
hgs
parents:
diff changeset
    52
    {
hgs
parents:
diff changeset
    53
    iFs.Close();
hgs
parents:
diff changeset
    54
    delete iIdArray;
hgs
parents:
diff changeset
    55
    delete iContactDatabase;
hgs
parents:
diff changeset
    56
    }
hgs
parents:
diff changeset
    57
hgs
parents:
diff changeset
    58
void CNSmlAdapterTestUtilities::ConstructL()
hgs
parents:
diff changeset
    59
    {
hgs
parents:
diff changeset
    60
    User::LeaveIfError( iFs.Connect() );
hgs
parents:
diff changeset
    61
    }
hgs
parents:
diff changeset
    62
hgs
parents:
diff changeset
    63
void CNSmlAdapterTestUtilities::OpenVCardFromFileLC( const TDesC& aFileName, RFileReadStream& aReadStream )
hgs
parents:
diff changeset
    64
    {
hgs
parents:
diff changeset
    65
    TInt err = aReadStream.Open( iFs, aFileName, EFileRead );
hgs
parents:
diff changeset
    66
    if (err != KErrNone)
hgs
parents:
diff changeset
    67
        {
hgs
parents:
diff changeset
    68
        if (err == KErrNotFound)
hgs
parents:
diff changeset
    69
            {
hgs
parents:
diff changeset
    70
            EUNIT_PRINT( _L("%S ,vCard file not found"), &aFileName );
hgs
parents:
diff changeset
    71
            }
hgs
parents:
diff changeset
    72
        else if ( err == KErrPathNotFound )
hgs
parents:
diff changeset
    73
            {
hgs
parents:
diff changeset
    74
            EUNIT_PRINT( _L("%S ,vCard path not found"), &aFileName );        
hgs
parents:
diff changeset
    75
            }
hgs
parents:
diff changeset
    76
        else 
hgs
parents:
diff changeset
    77
            {
hgs
parents:
diff changeset
    78
            EUNIT_PRINT( _L("%S , vCard file cannot be opened. Error code %d"), &aFileName, err );
hgs
parents:
diff changeset
    79
            }
hgs
parents:
diff changeset
    80
        User::Leave( err  );
hgs
parents:
diff changeset
    81
        }
hgs
parents:
diff changeset
    82
    EUNIT_PRINT( _L("VCard opened") );
hgs
parents:
diff changeset
    83
    CleanupClosePushL( aReadStream );
hgs
parents:
diff changeset
    84
    }
hgs
parents:
diff changeset
    85
hgs
parents:
diff changeset
    86
HBufC* CNSmlAdapterTestUtilities::ReadVCardFromFileLC( const TDesC& aFileName )
hgs
parents:
diff changeset
    87
    {
hgs
parents:
diff changeset
    88
    HBufC8* vCard8 = ReadVCard8FromFileLC( aFileName );
hgs
parents:
diff changeset
    89
    HBufC* vCard = HBufC::NewL( vCard8->Length() ); 
hgs
parents:
diff changeset
    90
    vCard8->Des().Copy( *vCard8 );
hgs
parents:
diff changeset
    91
    CleanupStack::PopAndDestroy( vCard8 );
hgs
parents:
diff changeset
    92
    
hgs
parents:
diff changeset
    93
    CleanupStack::PushL( vCard );    
hgs
parents:
diff changeset
    94
    return vCard;
hgs
parents:
diff changeset
    95
    }
hgs
parents:
diff changeset
    96
hgs
parents:
diff changeset
    97
HBufC8* CNSmlAdapterTestUtilities::ReadVCard8FromFileLC( const TDesC& aFileName )
hgs
parents:
diff changeset
    98
    {
hgs
parents:
diff changeset
    99
    RFileReadStream readStream;
hgs
parents:
diff changeset
   100
    OpenVCardFromFileLC(aFileName, readStream);
hgs
parents:
diff changeset
   101
    
hgs
parents:
diff changeset
   102
    const TInt fileSize = readStream.Source()->SizeL();
hgs
parents:
diff changeset
   103
    CBufFlat* buffer = CBufFlat::NewL( fileSize );
hgs
parents:
diff changeset
   104
    CleanupStack::PushL( buffer );
hgs
parents:
diff changeset
   105
hgs
parents:
diff changeset
   106
    RBufWriteStream writeStream( *buffer );
hgs
parents:
diff changeset
   107
    CleanupClosePushL( writeStream );
hgs
parents:
diff changeset
   108
    writeStream.WriteL( readStream );
hgs
parents:
diff changeset
   109
    writeStream.CommitL();
hgs
parents:
diff changeset
   110
    
hgs
parents:
diff changeset
   111
    HBufC8* vCard8 = buffer->Ptr(0).AllocL();
hgs
parents:
diff changeset
   112
    CleanupStack::PopAndDestroy( 3, &readStream );
hgs
parents:
diff changeset
   113
    
hgs
parents:
diff changeset
   114
    CleanupStack::PushL( vCard8 );
hgs
parents:
diff changeset
   115
    return vCard8;
hgs
parents:
diff changeset
   116
    }
hgs
parents:
diff changeset
   117
hgs
parents:
diff changeset
   118
CBufFlat* CNSmlAdapterTestUtilities::ReadBufFromFileLC( const TDesC& aFileName )
hgs
parents:
diff changeset
   119
    {
hgs
parents:
diff changeset
   120
    RFileReadStream readStream;
hgs
parents:
diff changeset
   121
    OpenVCardFromFileLC(aFileName, readStream);
hgs
parents:
diff changeset
   122
    
hgs
parents:
diff changeset
   123
    const TInt fileSize = readStream.Source()->SizeL();
hgs
parents:
diff changeset
   124
    CBufFlat* buffer = CBufFlat::NewL( fileSize );
hgs
parents:
diff changeset
   125
    CleanupStack::PushL( buffer );
hgs
parents:
diff changeset
   126
hgs
parents:
diff changeset
   127
    RBufWriteStream writeStream( *buffer );
hgs
parents:
diff changeset
   128
    CleanupClosePushL( writeStream );
hgs
parents:
diff changeset
   129
    writeStream.WriteL( readStream );
hgs
parents:
diff changeset
   130
    writeStream.CommitL();
hgs
parents:
diff changeset
   131
    CleanupStack::PopAndDestroy( &writeStream );
hgs
parents:
diff changeset
   132
    CleanupStack::Pop( buffer );
hgs
parents:
diff changeset
   133
    CleanupStack::PopAndDestroy( &readStream );
hgs
parents:
diff changeset
   134
    CleanupStack::PushL( buffer );
hgs
parents:
diff changeset
   135
    return buffer;
hgs
parents:
diff changeset
   136
    }
hgs
parents:
diff changeset
   137
hgs
parents:
diff changeset
   138
void CNSmlAdapterTestUtilities::SetupEmptyContactDbL( const TDesC& aDbName )
hgs
parents:
diff changeset
   139
    {
hgs
parents:
diff changeset
   140
    if( aDbName.Length() > 0 )
hgs
parents:
diff changeset
   141
        {
hgs
parents:
diff changeset
   142
        iContactDatabase = CContactDatabase::ReplaceL( aDbName );
hgs
parents:
diff changeset
   143
        }
hgs
parents:
diff changeset
   144
    else
hgs
parents:
diff changeset
   145
        {
hgs
parents:
diff changeset
   146
        iContactDatabase = CContactDatabase::OpenL();  // Use default contact DB.
hgs
parents:
diff changeset
   147
        }
hgs
parents:
diff changeset
   148
    
hgs
parents:
diff changeset
   149
    CContactIdArray* array = iContactDatabase->ContactsChangedSinceL( Time::NullTTime() );
hgs
parents:
diff changeset
   150
    CleanupStack::PushL( array );
hgs
parents:
diff changeset
   151
    iContactDatabase->DeleteContactsL(*array);        
hgs
parents:
diff changeset
   152
    CleanupStack::PopAndDestroy( array );
hgs
parents:
diff changeset
   153
    }
hgs
parents:
diff changeset
   154
hgs
parents:
diff changeset
   155
/**
hgs
parents:
diff changeset
   156
 * Setup contact DB with the following contacts
hgs
parents:
diff changeset
   157
 *   + Tim Tester (id index 0)
hgs
parents:
diff changeset
   158
 *   + Teddy McTest (id index 1)
hgs
parents:
diff changeset
   159
 *   + Tod TestHill (id index 2)
hgs
parents:
diff changeset
   160
 *   + Simon Software (id index 3)
hgs
parents:
diff changeset
   161
 *   + Cyd Effect (id index 4)
hgs
parents:
diff changeset
   162
 *   + Nick Name (id index 5)
hgs
parents:
diff changeset
   163
 * 
hgs
parents:
diff changeset
   164
 */
hgs
parents:
diff changeset
   165
void CNSmlAdapterTestUtilities::SetupAndPopulateContactDbL( const TDesC& aDbName )
hgs
parents:
diff changeset
   166
    {
hgs
parents:
diff changeset
   167
    if( aDbName.Length() > 0 )
hgs
parents:
diff changeset
   168
        {
hgs
parents:
diff changeset
   169
        iContactDatabase = CContactDatabase::ReplaceL( aDbName );
hgs
parents:
diff changeset
   170
        }
hgs
parents:
diff changeset
   171
    else
hgs
parents:
diff changeset
   172
        {
hgs
parents:
diff changeset
   173
        iContactDatabase = CContactDatabase::OpenL();  // Use default contact DB.
hgs
parents:
diff changeset
   174
        }
hgs
parents:
diff changeset
   175
    
hgs
parents:
diff changeset
   176
    iIdArray = CContactIdArray::NewL();
hgs
parents:
diff changeset
   177
hgs
parents:
diff changeset
   178
    // Create test contacts
hgs
parents:
diff changeset
   179
    iIdArray->AddL( AddContactL( _L( "Tim" ), _L( "Tester" ), _L( "+358501234567" ) ) );
hgs
parents:
diff changeset
   180
    iIdArray->AddL( AddContactL( _L( "Teddy" ), _L("McTest" ), _L( "+358501112222" ) ) );
hgs
parents:
diff changeset
   181
    iIdArray->AddL( AddContactL( _L( "Tod" ), _L( "TestHill" ), _L( "+358506666666" ) ) );
hgs
parents:
diff changeset
   182
    iIdArray->AddL( AddContactL( _L( "Simon" ), _L( "Software" ), _L( "+3585011223333" ) ) );
hgs
parents:
diff changeset
   183
    iIdArray->AddL( AddContactL( _L( "Cyd" ), _L( "Effect" ), _L( "+358503334444" ) ) );
hgs
parents:
diff changeset
   184
    iIdArray->AddL( AddContactL( _L( "Nick" ), _L( "Name" ), _L( "+358402223333" ) ) );
hgs
parents:
diff changeset
   185
    }
hgs
parents:
diff changeset
   186
hgs
parents:
diff changeset
   187
// Helper method to add a simple contact to test contact DB
hgs
parents:
diff changeset
   188
TContactItemId CNSmlAdapterTestUtilities::AddContactL(
hgs
parents:
diff changeset
   189
        const TDesC& aFirstName,
hgs
parents:
diff changeset
   190
        const TDesC& aLastName,
hgs
parents:
diff changeset
   191
        const TDesC& aPhoneNumber )
hgs
parents:
diff changeset
   192
    {
hgs
parents:
diff changeset
   193
    _LIT( KLabelFamilyName, "Last name");
hgs
parents:
diff changeset
   194
    _LIT( KLabelGivenName, "First name");
hgs
parents:
diff changeset
   195
    _LIT( KLabelPhone, "Phone");
hgs
parents:
diff changeset
   196
    //_LIT( KLabelNickname, "X-EPOCSECONDNAME");
hgs
parents:
diff changeset
   197
hgs
parents:
diff changeset
   198
    CContactCard* card = CContactCard::NewLC();
hgs
parents:
diff changeset
   199
    
hgs
parents:
diff changeset
   200
    // Family name field
hgs
parents:
diff changeset
   201
    CContactItemField* familyNameField =
hgs
parents:
diff changeset
   202
        CContactItemField::NewLC( KStorageTypeText, KUidContactFieldFamilyName );
hgs
parents:
diff changeset
   203
    familyNameField->SetLabelL( KLabelFamilyName );
hgs
parents:
diff changeset
   204
    familyNameField->SetMapping( KUidContactFieldVCardMapUnusedN );
hgs
parents:
diff changeset
   205
    familyNameField->TextStorage()->SetTextL( aLastName );
hgs
parents:
diff changeset
   206
    card->AddFieldL( *familyNameField ); // Takes ownership
hgs
parents:
diff changeset
   207
    CleanupStack::Pop( familyNameField );
hgs
parents:
diff changeset
   208
    
hgs
parents:
diff changeset
   209
    // First name field
hgs
parents:
diff changeset
   210
    CContactItemField* nameField =
hgs
parents:
diff changeset
   211
    CContactItemField::NewLC( KStorageTypeText, KUidContactFieldGivenName );
hgs
parents:
diff changeset
   212
    nameField->SetLabelL( KLabelGivenName );
hgs
parents:
diff changeset
   213
    nameField->SetMapping( KUidContactFieldVCardMapUnusedN );
hgs
parents:
diff changeset
   214
    nameField->TextStorage()->SetTextL( aFirstName );
hgs
parents:
diff changeset
   215
    card->AddFieldL( *nameField );
hgs
parents:
diff changeset
   216
    CleanupStack::Pop(nameField);
hgs
parents:
diff changeset
   217
    
hgs
parents:
diff changeset
   218
    // Phone number field
hgs
parents:
diff changeset
   219
    CContactItemField* phoneField =
hgs
parents:
diff changeset
   220
        CContactItemField::NewLC( KStorageTypeText, KUidContactFieldPhoneNumber );
hgs
parents:
diff changeset
   221
    phoneField->SetLabelL( KLabelPhone );
hgs
parents:
diff changeset
   222
    phoneField->SetMapping( KUidContactFieldVCardMapTEL );
hgs
parents:
diff changeset
   223
    phoneField->TextStorage()->SetTextL( aPhoneNumber );
hgs
parents:
diff changeset
   224
    card->AddFieldL( *phoneField );
hgs
parents:
diff changeset
   225
    CleanupStack::Pop( phoneField );
hgs
parents:
diff changeset
   226
    
hgs
parents:
diff changeset
   227
    // Nickname field
hgs
parents:
diff changeset
   228
    /*if( aNickname.Length() > 0 )
hgs
parents:
diff changeset
   229
    	{
hgs
parents:
diff changeset
   230
        CContactItemField* NicknameField =
hgs
parents:
diff changeset
   231
            CContactItemField::NewLC( KStorageTypeText, KUidContactFieldSecondName );
hgs
parents:
diff changeset
   232
        NicknameField->SetLabelL( KLabelNickname );
hgs
parents:
diff changeset
   233
        NicknameField->SetMapping( KUidContactFieldVCardMapSECONDNAME );
hgs
parents:
diff changeset
   234
        NicknameField->TextStorage()->SetTextL( aNickname );
hgs
parents:
diff changeset
   235
        card->AddFieldL( *NicknameField );
hgs
parents:
diff changeset
   236
        CleanupStack::Pop( NicknameField );
hgs
parents:
diff changeset
   237
    	}*/
hgs
parents:
diff changeset
   238
hgs
parents:
diff changeset
   239
    
hgs
parents:
diff changeset
   240
    TContactItemId cardId = iContactDatabase->AddNewContactL( *card );        
hgs
parents:
diff changeset
   241
    CleanupStack::PopAndDestroy( card );
hgs
parents:
diff changeset
   242
    
hgs
parents:
diff changeset
   243
    return cardId;
hgs
parents:
diff changeset
   244
    }
hgs
parents:
diff changeset
   245
hgs
parents:
diff changeset
   246
/**
hgs
parents:
diff changeset
   247
 * Empties the test contact DB to its initial state.
hgs
parents:
diff changeset
   248
 */ 
hgs
parents:
diff changeset
   249
void CNSmlAdapterTestUtilities::TeardownAndEmptyContactDbL( const TDesC& aDbName )
hgs
parents:
diff changeset
   250
    {
hgs
parents:
diff changeset
   251
    iContactDatabase->DeleteContactsL( *iIdArray );
hgs
parents:
diff changeset
   252
    
hgs
parents:
diff changeset
   253
    delete iIdArray;
hgs
parents:
diff changeset
   254
    iIdArray = NULL;
hgs
parents:
diff changeset
   255
hgs
parents:
diff changeset
   256
    delete iContactDatabase;
hgs
parents:
diff changeset
   257
    iContactDatabase = NULL;
hgs
parents:
diff changeset
   258
    if( aDbName.Length() > 0 )
hgs
parents:
diff changeset
   259
        {
hgs
parents:
diff changeset
   260
        TRAP_IGNORE( CContactDatabase::DeleteDatabaseL( aDbName ) );
hgs
parents:
diff changeset
   261
        }
hgs
parents:
diff changeset
   262
    }
hgs
parents:
diff changeset
   263
hgs
parents:
diff changeset
   264
CContactDatabase* CNSmlAdapterTestUtilities::GetDb()
hgs
parents:
diff changeset
   265
    {
hgs
parents:
diff changeset
   266
    EUNIT_ASSERT( iContactDatabase );
hgs
parents:
diff changeset
   267
    return iContactDatabase;
hgs
parents:
diff changeset
   268
    }
hgs
parents:
diff changeset
   269
hgs
parents:
diff changeset
   270
CContactIdArray* CNSmlAdapterTestUtilities::GetContactArray()
hgs
parents:
diff changeset
   271
    {
hgs
parents:
diff changeset
   272
    return iIdArray;
hgs
parents:
diff changeset
   273
    }
hgs
parents:
diff changeset
   274
hgs
parents:
diff changeset
   275
RFs& CNSmlAdapterTestUtilities::FileSession()
hgs
parents:
diff changeset
   276
    {
hgs
parents:
diff changeset
   277
    return iFs;
hgs
parents:
diff changeset
   278
    }
hgs
parents:
diff changeset
   279
hgs
parents:
diff changeset
   280
CBufBase* CNSmlAdapterTestUtilities::ExportContactLC( TContactItemId aId )
hgs
parents:
diff changeset
   281
    {
hgs
parents:
diff changeset
   282
    CContactDatabase* db = CContactDatabase::OpenL();  // Use default contact DB.
hgs
parents:
diff changeset
   283
    CleanupStack::PushL( db );
hgs
parents:
diff changeset
   284
    CContactIdArray* idArr = CContactIdArray::NewLC();
hgs
parents:
diff changeset
   285
    idArr->AddL( aId );
hgs
parents:
diff changeset
   286
    CBufFlat* buffer = CBufFlat::NewL( 1024 );
hgs
parents:
diff changeset
   287
    CleanupStack::PushL( buffer );
hgs
parents:
diff changeset
   288
    RBufWriteStream writeStream( *buffer );
hgs
parents:
diff changeset
   289
    CleanupClosePushL( writeStream );
hgs
parents:
diff changeset
   290
    
hgs
parents:
diff changeset
   291
    TRAPD( err, iContactDatabase->ExportSelectedContactsL( TUid::Uid(KVersitEntityUidVCard), *idArr, 
hgs
parents:
diff changeset
   292
        writeStream, CContactDatabase::EExcludeUid, Versit::EUTF8CharSet ) );
hgs
parents:
diff changeset
   293
hgs
parents:
diff changeset
   294
    EUNIT_ASSERT_EQUALS_DESC( err, KErrNone, "ExportSelectedContactsL leave" );
hgs
parents:
diff changeset
   295
    
hgs
parents:
diff changeset
   296
    CleanupStack::PopAndDestroy( &writeStream );
hgs
parents:
diff changeset
   297
    CleanupStack::Pop( buffer );
hgs
parents:
diff changeset
   298
    CleanupStack::PopAndDestroy( idArr );
hgs
parents:
diff changeset
   299
    CleanupStack::PopAndDestroy( db );
hgs
parents:
diff changeset
   300
    CleanupStack::PushL( buffer );
hgs
parents:
diff changeset
   301
    return buffer;
hgs
parents:
diff changeset
   302
    }
hgs
parents:
diff changeset
   303
hgs
parents:
diff changeset
   304
void CNSmlAdapterTestUtilities::PrintData( const TDesC& aTitle, CBufBase& aBuf )
hgs
parents:
diff changeset
   305
    {
hgs
parents:
diff changeset
   306
hgs
parents:
diff changeset
   307
    EUNIT_PRINT( aTitle );
hgs
parents:
diff changeset
   308
hgs
parents:
diff changeset
   309
    for (TInt i = 0; i < aBuf.Ptr(0).Length(); i += KEunitPrintMaxLength )
hgs
parents:
diff changeset
   310
        {
hgs
parents:
diff changeset
   311
        EUNIT_PRINT( aBuf.Ptr(i) );
hgs
parents:
diff changeset
   312
        }
hgs
parents:
diff changeset
   313
hgs
parents:
diff changeset
   314
    }
hgs
parents:
diff changeset
   315
hgs
parents:
diff changeset
   316
void CNSmlAdapterTestUtilities::PrintData( const TDesC8& aTitle, CBufBase& aBuf )
hgs
parents:
diff changeset
   317
    {
hgs
parents:
diff changeset
   318
hgs
parents:
diff changeset
   319
    EUNIT_PRINT( aTitle );
hgs
parents:
diff changeset
   320
hgs
parents:
diff changeset
   321
    for (TInt i = 0; i < aBuf.Ptr(0).Length(); i += KEunitPrintMaxLength )
hgs
parents:
diff changeset
   322
        {
hgs
parents:
diff changeset
   323
        EUNIT_PRINT( aBuf.Ptr(i) );
hgs
parents:
diff changeset
   324
        }
hgs
parents:
diff changeset
   325
hgs
parents:
diff changeset
   326
    }
hgs
parents:
diff changeset
   327
hgs
parents:
diff changeset
   328
hgs
parents:
diff changeset
   329