ximpfw/tsrc/tsrcutils/testcaseutils/prfwtesteventfactory.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 XIMPTestEventFactory
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 PRFWTESTEVENTFACTORY_H__
hgs
parents:
diff changeset
    20
#define PRFWTESTEVENTFACTORY_H__
hgs
parents:
diff changeset
    21
hgs
parents:
diff changeset
    22
#include <e32base.h>
hgs
parents:
diff changeset
    23
#include <ximpdatasubscriptionstate.h>
hgs
parents:
diff changeset
    24
hgs
parents:
diff changeset
    25
// CLASS DESCRIPTION
hgs
parents:
diff changeset
    26
hgs
parents:
diff changeset
    27
class CPresentityGroupListEventImp;
hgs
parents:
diff changeset
    28
class CPresentityGroupContentEventImp;
hgs
parents:
diff changeset
    29
class CXIMPDataSubscriptionStateImp;
hgs
parents:
diff changeset
    30
hgs
parents:
diff changeset
    31
/**
hgs
parents:
diff changeset
    32
 * Presence event factory for use in tests.
hgs
parents:
diff changeset
    33
 */
hgs
parents:
diff changeset
    34
class XIMPTestEventFactory
hgs
parents:
diff changeset
    35
    {
hgs
parents:
diff changeset
    36
    public:
hgs
parents:
diff changeset
    37
hgs
parents:
diff changeset
    38
        // @see below  
hgs
parents:
diff changeset
    39
        enum TTestPGLArraySpecifier 
hgs
parents:
diff changeset
    40
            { 
hgs
parents:
diff changeset
    41
            ETestPGLCreated = 0,    // group info is created
hgs
parents:
diff changeset
    42
            ETestPGLUpdated,        // group info is updated
hgs
parents:
diff changeset
    43
            ETestPGLDeleted,        // group info is deleted
hgs
parents:
diff changeset
    44
            ETestPGLEmpty,          // make an empty array for empty event
hgs
parents:
diff changeset
    45
            };
hgs
parents:
diff changeset
    46
hgs
parents:
diff changeset
    47
        /**
hgs
parents:
diff changeset
    48
         * Places an identity (uri-displayname pair) inside a group info into the
hgs
parents:
diff changeset
    49
         * array defined by aArraySpec, and returns the created event.
hgs
parents:
diff changeset
    50
         *
hgs
parents:
diff changeset
    51
         * In cleanupstack there are 5 items, FIFO:
hgs
parents:
diff changeset
    52
         *   - created list
hgs
parents:
diff changeset
    53
         *   - updated list
hgs
parents:
diff changeset
    54
         *   - deleted list
hgs
parents:
diff changeset
    55
         *   - current list
hgs
parents:
diff changeset
    56
         *   - event imp
hgs
parents:
diff changeset
    57
         *
hgs
parents:
diff changeset
    58
         * This is because this event won't take ownership to the arrays
hgs
parents:
diff changeset
    59
         * when created this way.
hgs
parents:
diff changeset
    60
         *
hgs
parents:
diff changeset
    61
         * @param aUri URI of group
hgs
parents:
diff changeset
    62
         * @param aDispName Displayname
hgs
parents:
diff changeset
    63
         * @param aArraySpec Defines into which array to put the group info
hgs
parents:
diff changeset
    64
         * @param aUriCurrent The URI of group in "current"-list
hgs
parents:
diff changeset
    65
         * @param aDispNameCurrent The display name of the group in
hgs
parents:
diff changeset
    66
         * "current"-list
hgs
parents:
diff changeset
    67
         * @param aStatus The subscription status 
hgs
parents:
diff changeset
    68
         * @return The suitably filled event.
hgs
parents:
diff changeset
    69
         */
hgs
parents:
diff changeset
    70
        IMPORT_C static CPresentityGroupListEventImp* CreateGroupListEventLCX( 
hgs
parents:
diff changeset
    71
                const TDesC& aUri,
hgs
parents:
diff changeset
    72
                const TDesC& aDispName,
hgs
parents:
diff changeset
    73
hgs
parents:
diff changeset
    74
                TTestPGLArraySpecifier aArraySpec,
hgs
parents:
diff changeset
    75
hgs
parents:
diff changeset
    76
                const TDesC& aUriCurrent,
hgs
parents:
diff changeset
    77
                const TDesC& aDispNameCurrent,
hgs
parents:
diff changeset
    78
                
hgs
parents:
diff changeset
    79
                MXIMPDataSubscriptionState::TSubscriptionState aSubscriptionState,
hgs
parents:
diff changeset
    80
                MXIMPDataSubscriptionState::TDataState aDataState
hgs
parents:
diff changeset
    81
                );
hgs
parents:
diff changeset
    82
hgs
parents:
diff changeset
    83
        // @see below  
hgs
parents:
diff changeset
    84
        enum TTestPGLContentArraySpecifier 
hgs
parents:
diff changeset
    85
            { 
hgs
parents:
diff changeset
    86
            ETestPGLCntAdded = 0,    // group content is added
hgs
parents:
diff changeset
    87
            ETestPGLCntUpdated,      // group content is updated
hgs
parents:
diff changeset
    88
            ETestPGLCntRemoved,      // group content is deleted
hgs
parents:
diff changeset
    89
            ETestPGLCntEmpty,        // make an empty array for empty event
hgs
parents:
diff changeset
    90
            };
hgs
parents:
diff changeset
    91
hgs
parents:
diff changeset
    92
        /**
hgs
parents:
diff changeset
    93
         * Places an group member (identity-displayname pair) inside 
hgs
parents:
diff changeset
    94
         * a group content info into the delta array defined by aArraySpec, 
hgs
parents:
diff changeset
    95
         * and returns the created event.
hgs
parents:
diff changeset
    96
         *
hgs
parents:
diff changeset
    97
         * The current member list will contain only the group member
hgs
parents:
diff changeset
    98
         * specified by parameters aIdentityCurrent and aDispNameCurrent.
hgs
parents:
diff changeset
    99
         * To support more members than 1 this method needs to be changed,
hgs
parents:
diff changeset
   100
         * but for now, it suffices for our testing.
hgs
parents:
diff changeset
   101
         *
hgs
parents:
diff changeset
   102
         * In cleanupstack there are 5 items, FIFO:
hgs
parents:
diff changeset
   103
         *   - added list
hgs
parents:
diff changeset
   104
         *   - updated list
hgs
parents:
diff changeset
   105
         *   - removed list
hgs
parents:
diff changeset
   106
         *   - current member list
hgs
parents:
diff changeset
   107
         *   - event imp
hgs
parents:
diff changeset
   108
         *
hgs
parents:
diff changeset
   109
         * This is because this event won't take ownership to the arrays
hgs
parents:
diff changeset
   110
         * when created this way.
hgs
parents:
diff changeset
   111
         *
hgs
parents:
diff changeset
   112
         * @param aGroupId The group id
hgs
parents:
diff changeset
   113
         * @param aUri Uri
hgs
parents:
diff changeset
   114
         * @param aDispName Displayname
hgs
parents:
diff changeset
   115
         * @param aArraySpec Defines into which delta array to put the member
hgs
parents:
diff changeset
   116
         * @param aIdentityCurrent Identity part of current member
hgs
parents:
diff changeset
   117
         * @param aDispNameCurrent Display name part of current member
hgs
parents:
diff changeset
   118
         * @param aStatus The subscription status
hgs
parents:
diff changeset
   119
         * @return The suitably filled event.
hgs
parents:
diff changeset
   120
         */
hgs
parents:
diff changeset
   121
        IMPORT_C static CPresentityGroupContentEventImp* 
hgs
parents:
diff changeset
   122
            CreateGroupContentEventLCX( 
hgs
parents:
diff changeset
   123
                    const TDesC& aGroupId,
hgs
parents:
diff changeset
   124
                    
hgs
parents:
diff changeset
   125
                    const TDesC& aIdentityForDelta,
hgs
parents:
diff changeset
   126
                    const TDesC& aDispNameForDelta,
hgs
parents:
diff changeset
   127
                    
hgs
parents:
diff changeset
   128
                    TTestPGLContentArraySpecifier aArraySpec,
hgs
parents:
diff changeset
   129
         
hgs
parents:
diff changeset
   130
                    const TDesC& aIdentityCurrent,
hgs
parents:
diff changeset
   131
                    const TDesC& aDispNameCurrent,
hgs
parents:
diff changeset
   132
                    
hgs
parents:
diff changeset
   133
                    MXIMPDataSubscriptionState::TSubscriptionState aSubscriptionState,
hgs
parents:
diff changeset
   134
                    MXIMPDataSubscriptionState::TDataState aDataState
hgs
parents:
diff changeset
   135
                    );
hgs
parents:
diff changeset
   136
    };
hgs
parents:
diff changeset
   137
hgs
parents:
diff changeset
   138
#endif //PRFWTESTEVENTFACTORY_H__
hgs
parents:
diff changeset
   139
hgs
parents:
diff changeset
   140