ximpfw/tsrc/tsrcutils/testcaseutils/prfwtestmessaging.h
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) 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:  XIMP Framework Test Code prfwtestmessaging.h
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
#ifndef T_PRFWTESTMESSAGING_H_
hgs
parents:
diff changeset
    20
#define T_PRFWTESTMESSAGING_H_
hgs
parents:
diff changeset
    21
hgs
parents:
diff changeset
    22
#include <e32base.h>
hgs
parents:
diff changeset
    23
#include <e32property.h>
hgs
parents:
diff changeset
    24
hgs
parents:
diff changeset
    25
// FIXME change this?
hgs
parents:
diff changeset
    26
// base UID for pubsub keys
hgs
parents:
diff changeset
    27
const TUid KXIMPTestPropertyCatBase = { 0x10012345 };
hgs
parents:
diff changeset
    28
hgs
parents:
diff changeset
    29
enum TXIMPTestPropertyValues
hgs
parents:
diff changeset
    30
    {
hgs
parents:
diff changeset
    31
    // values for EXIMPPlgTestDeath
hgs
parents:
diff changeset
    32
    EXIMPPrtValPluginDeathEmpty = 0,
hgs
parents:
diff changeset
    33
    EXIMPPrtValPluginDeathDied = 1,
hgs
parents:
diff changeset
    34
hgs
parents:
diff changeset
    35
    // values for EXIMPTestPlgSessionLostStrategy
hgs
parents:
diff changeset
    36
    EXIMPPrtValSessionLostEmpty = 0,
hgs
parents:
diff changeset
    37
    EXIMPPrtValSessionLostReconnect,
hgs
parents:
diff changeset
    38
    EXIMPPrtValSessionLostTeardown,
hgs
parents:
diff changeset
    39
    EXIMPPrtValSessionLostReconnectExhaustAttempts,
hgs
parents:
diff changeset
    40
hgs
parents:
diff changeset
    41
    // values for EXIMPTestPlgBehaveGeneric
hgs
parents:
diff changeset
    42
    EXIMPPrtValBehaveNothing = 0,           // do nothing
hgs
parents:
diff changeset
    43
    };
hgs
parents:
diff changeset
    44
hgs
parents:
diff changeset
    45
// pubsub keys
hgs
parents:
diff changeset
    46
enum TXIMPTestPropertyKeys
hgs
parents:
diff changeset
    47
    {
hgs
parents:
diff changeset
    48
    // meta things (message queue internal)
hgs
parents:
diff changeset
    49
    EXIMPTestMetaPubSubDefined,             // pubsub stuff has been defined (1)
hgs
parents:
diff changeset
    50
    EXIMPTestMetaPluginIndex,               // protocol plugin reads its index from this (-1=undefined)
hgs
parents:
diff changeset
    51
hgs
parents:
diff changeset
    52
    // p = plugin, h = host, t = test code.
hgs
parents:
diff changeset
    53
    // direction also encoded into the property name
hgs
parents:
diff changeset
    54
hgs
parents:
diff changeset
    55
    // Instructions for plugin behaviour (t->p).
hgs
parents:
diff changeset
    56
    // next call to plugin API method will cause the requested behavior (e.g. leave)
hgs
parents:
diff changeset
    57
    EXIMPTestPlgBehaveLeave,            // leave with given code
hgs
parents:
diff changeset
    58
    EXIMPTestPlgBehaveError,            // cause error with given code
hgs
parents:
diff changeset
    59
hgs
parents:
diff changeset
    60
    // boolean valued
hgs
parents:
diff changeset
    61
    EXIMPTestPlgBehaveCloseHandle,      // abrupt close handle (1)
hgs
parents:
diff changeset
    62
    EXIMPTestPlgBehaveInvalidReqId,     // complete next call with invalid req. id (1)
hgs
parents:
diff changeset
    63
hgs
parents:
diff changeset
    64
    // API method called -messages (p->t)
hgs
parents:
diff changeset
    65
    // value is boolean (set or unset, 1 or 0)
hgs
parents:
diff changeset
    66
    EXIMPPlgTestOpenSessionCalled,           // OpenSessionL
hgs
parents:
diff changeset
    67
    EXIMPPlgTestShareSessionCalled,          // ShareSessionL
hgs
parents:
diff changeset
    68
    EXIMPPlgTestUnshareSessionCalled,        // ShareSessionL
hgs
parents:
diff changeset
    69
    EXIMPPlgTestCloseSessionCalled,          // CloseSessionL
hgs
parents:
diff changeset
    70
    EXIMPPlgTestPublishPresenceCalled,       // PublishPresenceL
hgs
parents:
diff changeset
    71
    EXIMPPlgTestUpdateInterestCalled,        // UpdatePresenceInterestL
hgs
parents:
diff changeset
    72
    EXIMPPlgTestSubscribeOwnPresenceCalled,  // DoSubscribeOwnPresenceL
hgs
parents:
diff changeset
    73
    EXIMPPlgTestUnsubscribeOwnPresenceCalled, // DoUnsubscribeOwnPresenceL
hgs
parents:
diff changeset
    74
    EXIMPPlgTestUpdateOwnSubscriptionCalled, // DoUpdateOwnPresenceSubscriptionL
hgs
parents:
diff changeset
    75
    EXIMPPlgTestSubscribeGroupListCalled,    // DoSubscribePresentityGroupListL
hgs
parents:
diff changeset
    76
    EXIMPPlgTestUnsubscribeGroupListCalled,    // DoUnsubscribePresentityGroupListL
hgs
parents:
diff changeset
    77
    EXIMPPlgTestCreatePresentityGroupCalled, // DoCreatePresentityGroupL
hgs
parents:
diff changeset
    78
    EXIMPPlgTestDeletePresentityGroupCalled, // DoDeletePresentityGroupL
hgs
parents:
diff changeset
    79
    EXIMPPlgTestUpdatePresentityGroupDisplayNameCalled, // DoUpdatePresentityGroupDisplayNameL
hgs
parents:
diff changeset
    80
    EXIMPPlgTestSubscribePresentityPresesenceCalled,    // DoSubscribePresentityPresenceL
hgs
parents:
diff changeset
    81
    EXIMPPlgTestUpdatePresentityPresesenceCalled,       // DoUpdatePresentityPresenceSubscriptionL
hgs
parents:
diff changeset
    82
    EXIMPPlgTestUnsubscribePresentityPresesenceCalled,  // DoUnsubscribePresentityPresenceL
hgs
parents:
diff changeset
    83
    EXIMPPlgTestSubscribePresentityGroupMembersPresesenceCalled,    // DoSubscribePresentityGroupMembersPresenceL
hgs
parents:
diff changeset
    84
    EXIMPPlgTestUpdatePresentityGroupMembersPresesenceCalled,       // DoUpdatePresentityGroupMembersPresenceSubscriptionL
hgs
parents:
diff changeset
    85
    EXIMPPlgTestUnsubscribePresentityGroupMembersPresesenceCalled,  // DoUnsubscribePresentityGroupMembersPresenceL
hgs
parents:
diff changeset
    86
hgs
parents:
diff changeset
    87
    EXIMPPlgTestSubscribePresentityGroupContentCalled,  // DoSubscribePresentityGroupContentL
hgs
parents:
diff changeset
    88
    EXIMPPlgTestUnsubscribePresentityGroupContentCalled,  // DoUnsubscribePresentityGroupContentL
hgs
parents:
diff changeset
    89
    EXIMPPlgTestAddPresentityGroupMemberCalled,  // DoAddPresentityGroupMemberL
hgs
parents:
diff changeset
    90
    EXIMPPlgTestRemovePresentityGroupMemberCalled,  // DoRemovePresentityGroupMemberL
hgs
parents:
diff changeset
    91
    EXIMPPlgTestUpdatePresentityGroupMemberDisplayNameCalled,  // DoUpdatePresentityGroupMemberDisplayNameL
hgs
parents:
diff changeset
    92
    EXIMPPlgTestSubscribePresenceWatcherListCalled,     // DoSubscribePresenceWatcherListL
hgs
parents:
diff changeset
    93
    EXIMPPlgTestUnsubscribePresenceWatcherListCalled,   // DoUnsubscribePresenceWatcherListL
hgs
parents:
diff changeset
    94
hgs
parents:
diff changeset
    95
    EXIMPPlgTestSubscribePresenceGrantRequestListCalled,    // DoSubscribePresenceGrantRequestListL
hgs
parents:
diff changeset
    96
    EXIMPPlgTestUnsubscribePresenceGrantRequestListCalled,    // DoUnsubscribePresenceGrantRequestListL
hgs
parents:
diff changeset
    97
hgs
parents:
diff changeset
    98
    EXIMPPlgTestGrantPresenceForPresentityCalled,                   // EXIMPPlgTestGrantPresenceForPresentityCalled
hgs
parents:
diff changeset
    99
    EXIMPPlgTestGrantPresenceForPresentityGroupMembersCalled,       // EXIMPPlgTestGrantPresenceForPresentityGroupMembersCalled
hgs
parents:
diff changeset
   100
    EXIMPPlgTestGrantPresenceForEveryoneCalled,                   // EXIMPPlgTestGrantPresenceForEveryoneCalled
hgs
parents:
diff changeset
   101
    EXIMPPlgTestUpdateGrantPresenceForPresentityCalled,             // EXIMPPlgTestUpdateGrantPresenceForPresentityCalled
hgs
parents:
diff changeset
   102
    EXIMPPlgTestUpdateGrantPresenceForEveryoneCalled,             // EXIMPPlgTestUpdateGrantPresenceForEveryoneCalled
hgs
parents:
diff changeset
   103
    EXIMPPlgTestUpdateGrantPresenceForPresentityGroupMembersCalled, // EXIMPPlgTestUpdateGrantPresenceForPresentityGroupMembersCalled
hgs
parents:
diff changeset
   104
    EXIMPPlgTestWithdrawPresenceFromPresentityCalled,               // EXIMPPlgTestWithdrawPresenceFromPresentityCalled
hgs
parents:
diff changeset
   105
    EXIMPPlgTestWithdrawPresenceFromPresentityGroupMembersCalled,   // EXIMPPlgTestWithdrawPresenceFromPresentityGroupMembersCalled
hgs
parents:
diff changeset
   106
    EXIMPPlgTestWithdrawPresenceFromEveryoneCalled,               // EXIMPPlgTestWithdrawPresenceFromEveryoneCalled
hgs
parents:
diff changeset
   107
    EXIMPPlgTestSubscribePresenceBlockListCalled,                   // EXIMPPlgTestSubscribePresenceBlockListCalled
hgs
parents:
diff changeset
   108
    EXIMPPlgTestUnsubscribePresenceBlockListCalled,                  // EXIMPPlgTestUnubscribePresenceBlockListCalled
hgs
parents:
diff changeset
   109
    EXIMPPlgTestBlockPresenceForPresentityCalled,                   // EXIMPPlgTestBlockPresenceForPresentityCalled
hgs
parents:
diff changeset
   110
    EXIMPPlgTestCancelPresenceBlockFromPresentityCalled,            // EXIMPPlgTestCancelPresenceBlockFromPresentityCalled
hgs
parents:
diff changeset
   111
    
hgs
parents:
diff changeset
   112
    EXIMPPlgTestSubscribePresentityGroupListCalled,  // DoSubscribePresentityGroupListL
hgs
parents:
diff changeset
   113
    EXIMPPlgTestUnsubscribePresentityGroupListCalled,  // DoUnsubscribePresentityGroupListL
hgs
parents:
diff changeset
   114
    EXIMPPlgTestHandlePresentityGroupListCalled, //EXIMPPlgTestHandlePresentityGroupListCalled
hgs
parents:
diff changeset
   115
    EXIMPPlgTestHandlePresentityPresenceCalled,   
hgs
parents:
diff changeset
   116
    
hgs
parents:
diff changeset
   117
hgs
parents:
diff changeset
   118
hgs
parents:
diff changeset
   119
    // For signaling some situations checked by adaptation
hgs
parents:
diff changeset
   120
    EXIMPPlgTestExistsGroupContentInCache,              // Check if group content exists in cache.
hgs
parents:
diff changeset
   121
hgs
parents:
diff changeset
   122
    // signal Plg destruction (p->t)
hgs
parents:
diff changeset
   123
    EXIMPPlgTestDeath,
hgs
parents:
diff changeset
   124
hgs
parents:
diff changeset
   125
    // simulate session lost with given strategy (t->p)
hgs
parents:
diff changeset
   126
    EXIMPTestPlgSessionLostStrategy,
hgs
parents:
diff changeset
   127
    };
hgs
parents:
diff changeset
   128
hgs
parents:
diff changeset
   129
// T-class for internal use
hgs
parents:
diff changeset
   130
class TXIMPTestMsg
hgs
parents:
diff changeset
   131
    {
hgs
parents:
diff changeset
   132
public:
hgs
parents:
diff changeset
   133
    TXIMPTestPropertyKeys iKey;     // pubsub key
hgs
parents:
diff changeset
   134
    TInt iVal;                      // pubsub value
hgs
parents:
diff changeset
   135
    };
hgs
parents:
diff changeset
   136
hgs
parents:
diff changeset
   137
    /**
hgs
parents:
diff changeset
   138
     * @param aIndex The index for the testing context
hgs
parents:
diff changeset
   139
     * @param aDescription Description for failed test.
hgs
parents:
diff changeset
   140
     * @param aModifier If EFalse, negate the test, thus checking for
hgs
parents:
diff changeset
   141
     * publish presence NOT being called.
hgs
parents:
diff changeset
   142
     * @param aDescription2 Description for negate failed test.
hgs
parents:
diff changeset
   143
     */
hgs
parents:
diff changeset
   144
#define COMMONASSERT( aMsg, aKey, aDescription, aModifier, aDescription2 ) \
hgs
parents:
diff changeset
   145
        { \
hgs
parents:
diff changeset
   146
        TBool value = aMsg->GetBoolean( aKey ); \
hgs
parents:
diff changeset
   147
        if( aModifier ) \
hgs
parents:
diff changeset
   148
            { \
hgs
parents:
diff changeset
   149
            EUNIT_ASSERT_DESC( value, aDescription ); \
hgs
parents:
diff changeset
   150
            } \
hgs
parents:
diff changeset
   151
        else if( !aDescription2 ) \
hgs
parents:
diff changeset
   152
            { \
hgs
parents:
diff changeset
   153
            EUNIT_ASSERT_DESC( value, "Description 2 not set." ); \
hgs
parents:
diff changeset
   154
            } \
hgs
parents:
diff changeset
   155
        else \
hgs
parents:
diff changeset
   156
            { \
hgs
parents:
diff changeset
   157
            EUNIT_ASSERT_DESC( !value, aDescription2 ); \
hgs
parents:
diff changeset
   158
            } \
hgs
parents:
diff changeset
   159
        }
hgs
parents:
diff changeset
   160
hgs
parents:
diff changeset
   161
#endif // T_PRFWTESTMESSAGING_H_
hgs
parents:
diff changeset
   162
hgs
parents:
diff changeset
   163