ximpfw/tsrc/tsrcutils/testcaseutils/prfwtestcontextwrapper.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) 2006 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:  Testing context wrapper
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 <e32std.h>
hgs
parents:
diff changeset
    21
hgs
parents:
diff changeset
    22
#include <eunitmacros.h>
hgs
parents:
diff changeset
    23
hgs
parents:
diff changeset
    24
#include "prfwtestcontextwrapper.h"
hgs
parents:
diff changeset
    25
#include <ximpclient.h>
hgs
parents:
diff changeset
    26
#include <ximpcontext.h>
hgs
parents:
diff changeset
    27
#include <ximpcontextstateevent.h>
hgs
parents:
diff changeset
    28
#include <ximprequestcompleteevent.h>
hgs
parents:
diff changeset
    29
#include <ximpstatus.h>
hgs
parents:
diff changeset
    30
#include <presencefeatures.h>
hgs
parents:
diff changeset
    31
hgs
parents:
diff changeset
    32
hgs
parents:
diff changeset
    33
#include "prfwteststatuseventlistener.h"
hgs
parents:
diff changeset
    34
#include "prfwtestmessenger.h"
hgs
parents:
diff changeset
    35
#include "prfwtestmessaging.h"
hgs
parents:
diff changeset
    36
#include "prfwtestfiletool.h"
hgs
parents:
diff changeset
    37
#include "prfwtestprotocols.h"
hgs
parents:
diff changeset
    38
hgs
parents:
diff changeset
    39
_LIT( KInstanceAsNumber, "%d" );
hgs
parents:
diff changeset
    40
// ======== LOCAL FUNCTIONS ========
hgs
parents:
diff changeset
    41
hgs
parents:
diff changeset
    42
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    43
// Length of number in characters (e.g. 501 --> 3)
hgs
parents:
diff changeset
    44
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    45
//
hgs
parents:
diff changeset
    46
TInt NumLenInChars( TInt aNum )
hgs
parents:
diff changeset
    47
    {
hgs
parents:
diff changeset
    48
    TInt len = 0;
hgs
parents:
diff changeset
    49
    TInt tmp = aNum;
hgs
parents:
diff changeset
    50
    do
hgs
parents:
diff changeset
    51
        {
hgs
parents:
diff changeset
    52
        tmp /= 10;  // number is base-10
hgs
parents:
diff changeset
    53
        len++;
hgs
parents:
diff changeset
    54
        }
hgs
parents:
diff changeset
    55
    while ( tmp > 0 );
hgs
parents:
diff changeset
    56
    return len;
hgs
parents:
diff changeset
    57
    }
hgs
parents:
diff changeset
    58
hgs
parents:
diff changeset
    59
hgs
parents:
diff changeset
    60
// ======== MEMBER FUNCTIONS ========
hgs
parents:
diff changeset
    61
hgs
parents:
diff changeset
    62
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    63
// Instance id
hgs
parents:
diff changeset
    64
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    65
//
hgs
parents:
diff changeset
    66
EXPORT_C const TDesC16& CXIMPTestContextWrapper::InstanceId() const
hgs
parents:
diff changeset
    67
    {
hgs
parents:
diff changeset
    68
    return *iInstance;
hgs
parents:
diff changeset
    69
    }
hgs
parents:
diff changeset
    70
hgs
parents:
diff changeset
    71
hgs
parents:
diff changeset
    72
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    73
// ?description_if_needed
hgs
parents:
diff changeset
    74
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    75
//
hgs
parents:
diff changeset
    76
CXIMPTestContextWrapper::CXIMPTestContextWrapper( TInt aIndex,
hgs
parents:
diff changeset
    77
        MXIMPClient* aClient ) :
hgs
parents:
diff changeset
    78
    iIndex( aIndex ),
hgs
parents:
diff changeset
    79
    iClient( aClient )
hgs
parents:
diff changeset
    80
    {
hgs
parents:
diff changeset
    81
    }
hgs
parents:
diff changeset
    82
hgs
parents:
diff changeset
    83
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    84
// ?description_if_needed
hgs
parents:
diff changeset
    85
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    86
//
hgs
parents:
diff changeset
    87
void CXIMPTestContextWrapper::ConstructL()
hgs
parents:
diff changeset
    88
    {
hgs
parents:
diff changeset
    89
    iContext = iClient->NewPresenceContextLC();
hgs
parents:
diff changeset
    90
    CleanupStack::Pop(); // iContext
hgs
parents:
diff changeset
    91
    iListener = CXIMPTestStatusEventListener::NewL( 20, iContext );
hgs
parents:
diff changeset
    92
    iMessenger = CXIMPTestMessenger::NewForClientSideL( iIndex );
hgs
parents:
diff changeset
    93
    iPresFeatures = MPresenceFeatures::NewL(iContext); 
hgs
parents:
diff changeset
    94
    TInt instanceLength = NumLenInChars( iIndex );
hgs
parents:
diff changeset
    95
    iInstance = HBufC::NewL( instanceLength );
hgs
parents:
diff changeset
    96
    iInstance->Des().AppendFormat( KInstanceAsNumber, iIndex );
hgs
parents:
diff changeset
    97
    }
hgs
parents:
diff changeset
    98
hgs
parents:
diff changeset
    99
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   100
// ?description_if_needed
hgs
parents:
diff changeset
   101
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   102
//
hgs
parents:
diff changeset
   103
EXPORT_C CXIMPTestContextWrapper* CXIMPTestContextWrapper::NewL(
hgs
parents:
diff changeset
   104
        TInt aIndex, MXIMPClient* aClient )
hgs
parents:
diff changeset
   105
    {
hgs
parents:
diff changeset
   106
    CXIMPTestContextWrapper* self = new( ELeave ) CXIMPTestContextWrapper( aIndex, aClient );
hgs
parents:
diff changeset
   107
    CleanupStack::PushL( self );
hgs
parents:
diff changeset
   108
    self->ConstructL();
hgs
parents:
diff changeset
   109
    CleanupStack::Pop( self );
hgs
parents:
diff changeset
   110
    return self;
hgs
parents:
diff changeset
   111
    }
hgs
parents:
diff changeset
   112
hgs
parents:
diff changeset
   113
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   114
// ?description_if_needed
hgs
parents:
diff changeset
   115
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   116
//
hgs
parents:
diff changeset
   117
CXIMPTestContextWrapper::~CXIMPTestContextWrapper()
hgs
parents:
diff changeset
   118
    {
hgs
parents:
diff changeset
   119
    iStatusEventTraits.Close();
hgs
parents:
diff changeset
   120
hgs
parents:
diff changeset
   121
    delete iMessenger;
hgs
parents:
diff changeset
   122
    delete iListener;
hgs
parents:
diff changeset
   123
    delete iContext;
hgs
parents:
diff changeset
   124
    delete iFileTool;
hgs
parents:
diff changeset
   125
    delete iInstance;
hgs
parents:
diff changeset
   126
    delete iPresFeatures;
hgs
parents:
diff changeset
   127
    }
hgs
parents:
diff changeset
   128
hgs
parents:
diff changeset
   129
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   130
// ?description_if_needed
hgs
parents:
diff changeset
   131
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   132
//
hgs
parents:
diff changeset
   133
EXPORT_C MXIMPContext* CXIMPTestContextWrapper::GetContext()
hgs
parents:
diff changeset
   134
    {
hgs
parents:
diff changeset
   135
    return iContext;
hgs
parents:
diff changeset
   136
    }
hgs
parents:
diff changeset
   137
hgs
parents:
diff changeset
   138
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   139
// ?description_if_needed
hgs
parents:
diff changeset
   140
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   141
//
hgs
parents:
diff changeset
   142
EXPORT_C MPresenceFeatures* CXIMPTestContextWrapper::GetPresenceFeatures()
hgs
parents:
diff changeset
   143
    {
hgs
parents:
diff changeset
   144
    return iPresFeatures;
hgs
parents:
diff changeset
   145
    }
hgs
parents:
diff changeset
   146
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   147
// ?description_if_needed
hgs
parents:
diff changeset
   148
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   149
//
hgs
parents:
diff changeset
   150
EXPORT_C CXIMPTestStatusEventListener* CXIMPTestContextWrapper::GetEventListener()
hgs
parents:
diff changeset
   151
    {
hgs
parents:
diff changeset
   152
    return iListener;
hgs
parents:
diff changeset
   153
    }
hgs
parents:
diff changeset
   154
hgs
parents:
diff changeset
   155
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   156
// ?description_if_needed
hgs
parents:
diff changeset
   157
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   158
//
hgs
parents:
diff changeset
   159
EXPORT_C CXIMPTestMessenger* CXIMPTestContextWrapper::GetMessenger()
hgs
parents:
diff changeset
   160
    {
hgs
parents:
diff changeset
   161
    return iMessenger;
hgs
parents:
diff changeset
   162
    }
hgs
parents:
diff changeset
   163
hgs
parents:
diff changeset
   164
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   165
// ?description_if_needed
hgs
parents:
diff changeset
   166
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   167
//
hgs
parents:
diff changeset
   168
EXPORT_C MXIMPClient* CXIMPTestContextWrapper::GetClient()
hgs
parents:
diff changeset
   169
    {
hgs
parents:
diff changeset
   170
    return iClient;
hgs
parents:
diff changeset
   171
    }
hgs
parents:
diff changeset
   172
hgs
parents:
diff changeset
   173
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   174
// ?description_if_needed
hgs
parents:
diff changeset
   175
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   176
//
hgs
parents:
diff changeset
   177
EXPORT_C void CXIMPTestContextWrapper::DeletePresenceContext()
hgs
parents:
diff changeset
   178
    {
hgs
parents:
diff changeset
   179
    // used to test abrupt handle closings
hgs
parents:
diff changeset
   180
    iListener->SetEventSourceL( NULL );
hgs
parents:
diff changeset
   181
    delete iContext;
hgs
parents:
diff changeset
   182
    iContext = NULL;
hgs
parents:
diff changeset
   183
    }
hgs
parents:
diff changeset
   184
hgs
parents:
diff changeset
   185
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   186
// ?description_if_needed
hgs
parents:
diff changeset
   187
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   188
//
hgs
parents:
diff changeset
   189
EXPORT_C void CXIMPTestContextWrapper::SetupEmptyListener()
hgs
parents:
diff changeset
   190
    {
hgs
parents:
diff changeset
   191
    iListener->ResetEventStack();
hgs
parents:
diff changeset
   192
    iStatusEventTraits.Reset();
hgs
parents:
diff changeset
   193
    }
hgs
parents:
diff changeset
   194
hgs
parents:
diff changeset
   195
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   196
// ?description_if_needed
hgs
parents:
diff changeset
   197
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   198
//
hgs
parents:
diff changeset
   199
EXPORT_C RArray<TXIMPTestStatusEventSnapshot>* CXIMPTestContextWrapper::GetStatusTraits()
hgs
parents:
diff changeset
   200
    {
hgs
parents:
diff changeset
   201
    return &iStatusEventTraits;
hgs
parents:
diff changeset
   202
    }
hgs
parents:
diff changeset
   203
hgs
parents:
diff changeset
   204
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   205
// ?description_if_needed
hgs
parents:
diff changeset
   206
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   207
//
hgs
parents:
diff changeset
   208
EXPORT_C void CXIMPTestContextWrapper::SetupListenerL( TXIMPTestStatusEventTemplate aEventType )
hgs
parents:
diff changeset
   209
    {
hgs
parents:
diff changeset
   210
    ResetListener();
hgs
parents:
diff changeset
   211
    iListener->GetEventTemplateL( iStatusEventTraits, aEventType );
hgs
parents:
diff changeset
   212
    iMessenger->SetPluginIndex( iIndex );
hgs
parents:
diff changeset
   213
    }
hgs
parents:
diff changeset
   214
hgs
parents:
diff changeset
   215
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   216
// ?description_if_needed
hgs
parents:
diff changeset
   217
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   218
//
hgs
parents:
diff changeset
   219
EXPORT_C void CXIMPTestContextWrapper::AppendToTraitsL( TXIMPTestStatusEventTemplate aEventType )
hgs
parents:
diff changeset
   220
    {
hgs
parents:
diff changeset
   221
    iListener->GetEventTemplateL( iStatusEventTraits, aEventType );
hgs
parents:
diff changeset
   222
    }
hgs
parents:
diff changeset
   223
hgs
parents:
diff changeset
   224
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   225
// ?description_if_needed
hgs
parents:
diff changeset
   226
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   227
//
hgs
parents:
diff changeset
   228
EXPORT_C void CXIMPTestContextWrapper::SetupListenerReqCompleteL(
hgs
parents:
diff changeset
   229
        TXIMPTestStatusEventTemplate aEventType,
hgs
parents:
diff changeset
   230
        RArray< TInt32 >* aAdditionalEvents )
hgs
parents:
diff changeset
   231
    {
hgs
parents:
diff changeset
   232
    iListener->ResetEventStack();
hgs
parents:
diff changeset
   233
    iListener->AcceptedEventTypes().Reset();
hgs
parents:
diff changeset
   234
    iListener->AcceptedEventTypes().AppendL( MXIMPRequestCompleteEvent::KInterfaceId );
hgs
parents:
diff changeset
   235
hgs
parents:
diff changeset
   236
    if ( aAdditionalEvents )
hgs
parents:
diff changeset
   237
        {
hgs
parents:
diff changeset
   238
        for ( TInt i = 0; i < aAdditionalEvents->Count(); i++ )
hgs
parents:
diff changeset
   239
            {
hgs
parents:
diff changeset
   240
            iListener->AcceptedEventTypes().AppendL( (*aAdditionalEvents)[ i ] );
hgs
parents:
diff changeset
   241
            }
hgs
parents:
diff changeset
   242
        }
hgs
parents:
diff changeset
   243
hgs
parents:
diff changeset
   244
    iListener->ReRegisterEventFilterL();
hgs
parents:
diff changeset
   245
    iStatusEventTraits.Reset();
hgs
parents:
diff changeset
   246
    iListener->GetEventTemplateL( iStatusEventTraits, aEventType );
hgs
parents:
diff changeset
   247
hgs
parents:
diff changeset
   248
    iMessenger->SetPluginIndex( iIndex );
hgs
parents:
diff changeset
   249
    }
hgs
parents:
diff changeset
   250
hgs
parents:
diff changeset
   251
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   252
// ?description_if_needed
hgs
parents:
diff changeset
   253
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   254
//
hgs
parents:
diff changeset
   255
EXPORT_C void CXIMPTestContextWrapper::ClearListener()
hgs
parents:
diff changeset
   256
    {
hgs
parents:
diff changeset
   257
    iListener->ResetEventStack();
hgs
parents:
diff changeset
   258
    iListener->SetEventSourceL( NULL );
hgs
parents:
diff changeset
   259
hgs
parents:
diff changeset
   260
    iStatusEventTraits.Reset();
hgs
parents:
diff changeset
   261
    }
hgs
parents:
diff changeset
   262
hgs
parents:
diff changeset
   263
hgs
parents:
diff changeset
   264
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   265
// ?description_if_needed
hgs
parents:
diff changeset
   266
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   267
//
hgs
parents:
diff changeset
   268
EXPORT_C void CXIMPTestContextWrapper::ResetListener()
hgs
parents:
diff changeset
   269
    {
hgs
parents:
diff changeset
   270
    iListener->ResetEventStack();
hgs
parents:
diff changeset
   271
    iListener->ResetEventTypeStack();
hgs
parents:
diff changeset
   272
    iStatusEventTraits.Reset();
hgs
parents:
diff changeset
   273
    iListener->ReRegisterEventFilterL();
hgs
parents:
diff changeset
   274
    }
hgs
parents:
diff changeset
   275
hgs
parents:
diff changeset
   276
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   277
// ?description_if_needed
hgs
parents:
diff changeset
   278
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   279
//
hgs
parents:
diff changeset
   280
EXPORT_C void CXIMPTestContextWrapper::WaitRequestAndStackEvents( TXIMPRequestId aReqId )
hgs
parents:
diff changeset
   281
    {
hgs
parents:
diff changeset
   282
    iListener->WaitRequestAndStackEvents( aReqId );
hgs
parents:
diff changeset
   283
    }
hgs
parents:
diff changeset
   284
hgs
parents:
diff changeset
   285
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   286
// ?description_if_needed
hgs
parents:
diff changeset
   287
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   288
//
hgs
parents:
diff changeset
   289
EXPORT_C void CXIMPTestContextWrapper::VerifyEventStackL( const TPtrC8& aDesc )
hgs
parents:
diff changeset
   290
    {
hgs
parents:
diff changeset
   291
    iListener->VerifyEventStackL( iStatusEventTraits.Array(), aDesc );
hgs
parents:
diff changeset
   292
    }
hgs
parents:
diff changeset
   293
hgs
parents:
diff changeset
   294
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   295
// CXIMPTestContextWrapper::WaitAnyEvent
hgs
parents:
diff changeset
   296
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   297
//
hgs
parents:
diff changeset
   298
EXPORT_C void CXIMPTestContextWrapper::WaitAnyEvent()
hgs
parents:
diff changeset
   299
    {
hgs
parents:
diff changeset
   300
    iListener->WaitAnyEvent();
hgs
parents:
diff changeset
   301
    }
hgs
parents:
diff changeset
   302
hgs
parents:
diff changeset
   303
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   304
// ?description_if_needed
hgs
parents:
diff changeset
   305
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   306
//
hgs
parents:
diff changeset
   307
EXPORT_C void CXIMPTestContextWrapper::BindL(
hgs
parents:
diff changeset
   308
        TUid aUid,
hgs
parents:
diff changeset
   309
        const TDesC& aServer,
hgs
parents:
diff changeset
   310
        const TDesC& aUser,
hgs
parents:
diff changeset
   311
        const TDesC& aPassword )
hgs
parents:
diff changeset
   312
    {
hgs
parents:
diff changeset
   313
    SetupListenerL( EXIMPTestStatusEvents_BindingOk );
hgs
parents:
diff changeset
   314
    iMessenger->SetNoError();
hgs
parents:
diff changeset
   315
    iMessenger->SetPluginIndex( iIndex );
hgs
parents:
diff changeset
   316
hgs
parents:
diff changeset
   317
    delete iFileTool;
hgs
parents:
diff changeset
   318
    iFileTool = NULL;
hgs
parents:
diff changeset
   319
    iFileTool = CXIMPTestFileTool::NewL( aUid.iUid, iIndex );
hgs
parents:
diff changeset
   320
hgs
parents:
diff changeset
   321
    TXIMPRequestId reqId = iContext->BindToL(
hgs
parents:
diff changeset
   322
            aUid,
hgs
parents:
diff changeset
   323
            aServer,
hgs
parents:
diff changeset
   324
            aUser,
hgs
parents:
diff changeset
   325
            aPassword,
hgs
parents:
diff changeset
   326
            *iInstance,
hgs
parents:
diff changeset
   327
            iIndex );
hgs
parents:
diff changeset
   328
hgs
parents:
diff changeset
   329
    WaitRequestAndStackEvents( reqId );
hgs
parents:
diff changeset
   330
    VerifyEventStackL( _L8("Binding (wrapper BindL): ") );
hgs
parents:
diff changeset
   331
hgs
parents:
diff changeset
   332
    EUNIT_ASSERT_DESC( iMessenger->GetBoolean( EXIMPPlgTestOpenSessionCalled ) ||
hgs
parents:
diff changeset
   333
                       iMessenger->GetBoolean( EXIMPPlgTestShareSessionCalled ), "OpenSessionL was not called" );
hgs
parents:
diff changeset
   334
    }
hgs
parents:
diff changeset
   335
hgs
parents:
diff changeset
   336
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   337
// Bind alternative
hgs
parents:
diff changeset
   338
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   339
//
hgs
parents:
diff changeset
   340
const TUid KTestProtocolUid = { K_PRFW_TST_PROTOCOL_1_IMPLEMENTATION_UID };  // hardcoded...
hgs
parents:
diff changeset
   341
hgs
parents:
diff changeset
   342
_LIT( KTestFakeServer,      "www.imps%d.no/wv" );
hgs
parents:
diff changeset
   343
_LIT( KTestFakeUser,        "user%d" );
hgs
parents:
diff changeset
   344
_LIT( KTestFakePassword,    "password%d" );
hgs
parents:
diff changeset
   345
hgs
parents:
diff changeset
   346
EXPORT_C void CXIMPTestContextWrapper::BindL( TInt aId )
hgs
parents:
diff changeset
   347
    {
hgs
parents:
diff changeset
   348
    SetupListenerL( EXIMPTestStatusEvents_BindingOk );
hgs
parents:
diff changeset
   349
    iMessenger->SetNoError();
hgs
parents:
diff changeset
   350
    iMessenger->SetPluginIndex( aId );
hgs
parents:
diff changeset
   351
hgs
parents:
diff changeset
   352
    // create fake info
hgs
parents:
diff changeset
   353
    TInt extraLength = 8; // bad style... but length is enough
hgs
parents:
diff changeset
   354
hgs
parents:
diff changeset
   355
    HBufC* fakeSrv = HBufC::NewLC( KTestFakeServer().Length() + extraLength );
hgs
parents:
diff changeset
   356
    fakeSrv->Des().AppendFormat( KTestFakeServer, aId );
hgs
parents:
diff changeset
   357
hgs
parents:
diff changeset
   358
    HBufC* fakeUser = HBufC::NewLC( KTestFakeUser().Length() + extraLength );
hgs
parents:
diff changeset
   359
    fakeUser->Des().AppendFormat( KTestFakeUser, aId );
hgs
parents:
diff changeset
   360
hgs
parents:
diff changeset
   361
    HBufC* fakePass = HBufC::NewLC( KTestFakePassword().Length() + extraLength );
hgs
parents:
diff changeset
   362
    fakePass->Des().AppendFormat( KTestFakePassword, aId );
hgs
parents:
diff changeset
   363
hgs
parents:
diff changeset
   364
    delete iFileTool;
hgs
parents:
diff changeset
   365
    iFileTool = NULL;
hgs
parents:
diff changeset
   366
    iFileTool = CXIMPTestFileTool::NewL( KTestProtocolUid.iUid, iIndex );
hgs
parents:
diff changeset
   367
hgs
parents:
diff changeset
   368
    TXIMPRequestId reqId = iContext->BindToL(
hgs
parents:
diff changeset
   369
            KTestProtocolUid,
hgs
parents:
diff changeset
   370
            *fakeSrv,
hgs
parents:
diff changeset
   371
            *fakeUser,
hgs
parents:
diff changeset
   372
            *fakePass,
hgs
parents:
diff changeset
   373
            *iInstance,
hgs
parents:
diff changeset
   374
            aId );
hgs
parents:
diff changeset
   375
hgs
parents:
diff changeset
   376
    CleanupStack::PopAndDestroy( 3, fakeSrv );
hgs
parents:
diff changeset
   377
hgs
parents:
diff changeset
   378
    WaitRequestAndStackEvents( reqId );
hgs
parents:
diff changeset
   379
    VerifyEventStackL( _L8("Binding (wrapper BindL): ") );
hgs
parents:
diff changeset
   380
hgs
parents:
diff changeset
   381
    EUNIT_ASSERT_DESC( iMessenger->GetBoolean( EXIMPPlgTestOpenSessionCalled ) ||
hgs
parents:
diff changeset
   382
                       iMessenger->GetBoolean( EXIMPPlgTestShareSessionCalled ), "OpenSessionL was not called" );
hgs
parents:
diff changeset
   383
    }
hgs
parents:
diff changeset
   384
hgs
parents:
diff changeset
   385
  
hgs
parents:
diff changeset
   386
    
hgs
parents:
diff changeset
   387
 ///NEW BIND   
hgs
parents:
diff changeset
   388
 EXPORT_C void CXIMPTestContextWrapper::BindWithSettingsL( TInt aId )
hgs
parents:
diff changeset
   389
    {
hgs
parents:
diff changeset
   390
    SetupListenerL( EXIMPTestStatusEvents_BindingOk );
hgs
parents:
diff changeset
   391
    iMessenger->SetNoError();
hgs
parents:
diff changeset
   392
    iMessenger->SetPluginIndex( 0/*aId*/ );
hgs
parents:
diff changeset
   393
hgs
parents:
diff changeset
   394
    // create fake info
hgs
parents:
diff changeset
   395
    TInt extraLength = 8; // bad style... but length is enough
hgs
parents:
diff changeset
   396
hgs
parents:
diff changeset
   397
    HBufC* fakeSrv = HBufC::NewLC( KTestFakeServer().Length() + extraLength );
hgs
parents:
diff changeset
   398
    fakeSrv->Des().AppendFormat( KTestFakeServer, aId );
hgs
parents:
diff changeset
   399
hgs
parents:
diff changeset
   400
    HBufC* fakeUser = HBufC::NewLC( KTestFakeUser().Length() + extraLength );
hgs
parents:
diff changeset
   401
    fakeUser->Des().AppendFormat( KTestFakeUser, aId );
hgs
parents:
diff changeset
   402
hgs
parents:
diff changeset
   403
    HBufC* fakePass = HBufC::NewLC( KTestFakePassword().Length() + extraLength );
hgs
parents:
diff changeset
   404
    fakePass->Des().AppendFormat( KTestFakePassword, aId );
hgs
parents:
diff changeset
   405
hgs
parents:
diff changeset
   406
    delete iFileTool;
hgs
parents:
diff changeset
   407
    iFileTool = NULL;
hgs
parents:
diff changeset
   408
    iFileTool = CXIMPTestFileTool::NewL( KTestProtocolUid.iUid, iIndex );
hgs
parents:
diff changeset
   409
hgs
parents:
diff changeset
   410
    TXIMPRequestId reqId = iContext->BindToL(
hgs
parents:
diff changeset
   411
            KTestProtocolUid, aId );
hgs
parents:
diff changeset
   412
hgs
parents:
diff changeset
   413
    CleanupStack::PopAndDestroy( 3, fakeSrv );
hgs
parents:
diff changeset
   414
hgs
parents:
diff changeset
   415
    WaitRequestAndStackEvents( reqId );
hgs
parents:
diff changeset
   416
    VerifyEventStackL( _L8("Binding (wrapper BindWithSettingsL): ") );
hgs
parents:
diff changeset
   417
hgs
parents:
diff changeset
   418
    EUNIT_ASSERT_DESC( iMessenger->GetBoolean( EXIMPPlgTestOpenSessionCalled ) ||
hgs
parents:
diff changeset
   419
                       iMessenger->GetBoolean( EXIMPPlgTestShareSessionCalled ), "OpenSessionL was not called" );
hgs
parents:
diff changeset
   420
    }
hgs
parents:
diff changeset
   421
hgs
parents:
diff changeset
   422
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   423
// ?description_if_needed
hgs
parents:
diff changeset
   424
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   425
//
hgs
parents:
diff changeset
   426
EXPORT_C void CXIMPTestContextWrapper::UnbindL()
hgs
parents:
diff changeset
   427
    {
hgs
parents:
diff changeset
   428
    SetupListenerL( EXIMPTestStatusEvents_UnbindingOk );
hgs
parents:
diff changeset
   429
    iMessenger->SetNoError();
hgs
parents:
diff changeset
   430
    TXIMPRequestId reqId = iContext->UnbindL();
hgs
parents:
diff changeset
   431
hgs
parents:
diff changeset
   432
    WaitRequestAndStackEvents( reqId );
hgs
parents:
diff changeset
   433
    VerifyEventStackL( _L8("Unbinding (wrapper UnbindL): ") );
hgs
parents:
diff changeset
   434
hgs
parents:
diff changeset
   435
    EUNIT_ASSERT_DESC( iMessenger->GetBoolean( EXIMPPlgTestCloseSessionCalled ) ||
hgs
parents:
diff changeset
   436
                       iMessenger->GetBoolean( EXIMPPlgTestUnshareSessionCalled ) , "CloseSession was not called" );
hgs
parents:
diff changeset
   437
    if( iMessenger->GetBoolean( EXIMPPlgTestCloseSessionCalled ) )
hgs
parents:
diff changeset
   438
        {
hgs
parents:
diff changeset
   439
        DeletePresenceContext();
hgs
parents:
diff changeset
   440
        //EUNIT_ASSERT_DESC( iMessenger->GetBoolean( EXIMPPlgTestDeath ), "Plugin did not die, destructor not called.");
hgs
parents:
diff changeset
   441
        }
hgs
parents:
diff changeset
   442
    }
hgs
parents:
diff changeset
   443
hgs
parents:
diff changeset
   444
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   445
// ?description_if_needed
hgs
parents:
diff changeset
   446
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   447
//
hgs
parents:
diff changeset
   448
EXPORT_C CXIMPTestFileTool& CXIMPTestContextWrapper::FileTool() const
hgs
parents:
diff changeset
   449
    {
hgs
parents:
diff changeset
   450
    return *iFileTool;
hgs
parents:
diff changeset
   451
    }
hgs
parents:
diff changeset
   452
hgs
parents:
diff changeset
   453
// End of file