messagingapp/msgui/appengine/tsrc/testconversationengine/inc/testconversationenginestub.h
author hgs
Fri, 25 Jun 2010 15:47:40 +0530
changeset 37 518b245aa84c
permissions -rw-r--r--
201025
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
37
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:
hgs
parents:
diff changeset
    15
 *
hgs
parents:
diff changeset
    16
 */
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#ifndef T_CONVERSATIONENGINESTUB_H_
hgs
parents:
diff changeset
    19
#define T_CONVERSATIONENGINESTUB_H_
hgs
parents:
diff changeset
    20
hgs
parents:
diff changeset
    21
// INCLUDES
hgs
parents:
diff changeset
    22
#include <e32def.h>
hgs
parents:
diff changeset
    23
#include <e32std.h>
hgs
parents:
diff changeset
    24
hgs
parents:
diff changeset
    25
// FORWARD DECLARATIONS
hgs
parents:
diff changeset
    26
class MCsResultsObserver;
hgs
parents:
diff changeset
    27
class TestConversationNotifier;
hgs
parents:
diff changeset
    28
class CCsConversationEntry;
hgs
parents:
diff changeset
    29
class MCsConversationChangeObserver;
hgs
parents:
diff changeset
    30
class MCsConversationListChangeObserver;
hgs
parents:
diff changeset
    31
class CCsClientConversation;
hgs
parents:
diff changeset
    32
hgs
parents:
diff changeset
    33
hgs
parents:
diff changeset
    34
class TestConversationEngineStub {
hgs
parents:
diff changeset
    35
hgs
parents:
diff changeset
    36
public:
hgs
parents:
diff changeset
    37
    /**
hgs
parents:
diff changeset
    38
     * Returns pointer to sole instance.
hgs
parents:
diff changeset
    39
     * @return TestConversationEngineStub object
hgs
parents:
diff changeset
    40
     */
hgs
parents:
diff changeset
    41
    static TestConversationEngineStub* Instance();
hgs
parents:
diff changeset
    42
    
hgs
parents:
diff changeset
    43
    /**
hgs
parents:
diff changeset
    44
     * Destructor
hgs
parents:
diff changeset
    45
     */
hgs
parents:
diff changeset
    46
    ~TestConversationEngineStub();
hgs
parents:
diff changeset
    47
hgs
parents:
diff changeset
    48
public: //stub client related functions for 
hgs
parents:
diff changeset
    49
        //handling requests and commands from appengine
hgs
parents:
diff changeset
    50
hgs
parents:
diff changeset
    51
    /**
hgs
parents:
diff changeset
    52
     * Set result observer
hgs
parents:
diff changeset
    53
     */
hgs
parents:
diff changeset
    54
    void SetResultObserver(MCsResultsObserver *aResultObserver);
hgs
parents:
diff changeset
    55
hgs
parents:
diff changeset
    56
hgs
parents:
diff changeset
    57
    /**
hgs
parents:
diff changeset
    58
     * Remove result observer
hgs
parents:
diff changeset
    59
     */
hgs
parents:
diff changeset
    60
    void RemoveResultObserver();
hgs
parents:
diff changeset
    61
    
hgs
parents:
diff changeset
    62
    /**
hgs
parents:
diff changeset
    63
     * Set conversation change observer
hgs
parents:
diff changeset
    64
     */
hgs
parents:
diff changeset
    65
    void SetConversationChangeObserver(MCsConversationChangeObserver* aObserver,
hgs
parents:
diff changeset
    66
            CCsClientConversation* aClientConversation);
hgs
parents:
diff changeset
    67
    
hgs
parents:
diff changeset
    68
    /**
hgs
parents:
diff changeset
    69
     * Remove conversation change observer
hgs
parents:
diff changeset
    70
     */
hgs
parents:
diff changeset
    71
    void RemoveConversationChangeObserver();
hgs
parents:
diff changeset
    72
    
hgs
parents:
diff changeset
    73
    /**
hgs
parents:
diff changeset
    74
     * Set conversation list change observer
hgs
parents:
diff changeset
    75
     */
hgs
parents:
diff changeset
    76
    void SetConversationListChangeObserver(MCsConversationListChangeObserver* 
hgs
parents:
diff changeset
    77
                                        aConversationListChangeObserver);
hgs
parents:
diff changeset
    78
    
hgs
parents:
diff changeset
    79
    /**
hgs
parents:
diff changeset
    80
     * Remove conversation list change observer
hgs
parents:
diff changeset
    81
     */
hgs
parents:
diff changeset
    82
    void RemoveConversationListChangeObserver();
hgs
parents:
diff changeset
    83
hgs
parents:
diff changeset
    84
    /**
hgs
parents:
diff changeset
    85
     * Mark conversation as read associated with conversation id
hgs
parents:
diff changeset
    86
     */
hgs
parents:
diff changeset
    87
    void MarkConversationRead(const TInt aConversationId);
hgs
parents:
diff changeset
    88
    
hgs
parents:
diff changeset
    89
    /**
hgs
parents:
diff changeset
    90
     * Delete conversation associated with conversation id
hgs
parents:
diff changeset
    91
     */
hgs
parents:
diff changeset
    92
    void DeleteConversation(const TInt aConversationId);
hgs
parents:
diff changeset
    93
    
hgs
parents:
diff changeset
    94
    /**
hgs
parents:
diff changeset
    95
     * Get the client conversation id associated with contact id
hgs
parents:
diff changeset
    96
     */
hgs
parents:
diff changeset
    97
    TInt GetClientConversationID(const TInt aContactId);
hgs
parents:
diff changeset
    98
    
hgs
parents:
diff changeset
    99
    /**
hgs
parents:
diff changeset
   100
     * Get the client conversation id associated with contact address
hgs
parents:
diff changeset
   101
     */
hgs
parents:
diff changeset
   102
    TInt GetClientConversationID(const TDesC& aContactAddress);
hgs
parents:
diff changeset
   103
hgs
parents:
diff changeset
   104
public: //stub notifications to appengine    
hgs
parents:
diff changeset
   105
    
hgs
parents:
diff changeset
   106
    //Conversation list notification
hgs
parents:
diff changeset
   107
    void UpdateConversationList();
hgs
parents:
diff changeset
   108
    
hgs
parents:
diff changeset
   109
    //Update modified Conversation entry 
hgs
parents:
diff changeset
   110
    //to conversation change handler
hgs
parents:
diff changeset
   111
    void UpdateConvEntry(TInt aConversationId);
hgs
parents:
diff changeset
   112
hgs
parents:
diff changeset
   113
    //Update new added conversation entry 
hgs
parents:
diff changeset
   114
    //to conversation change handler
hgs
parents:
diff changeset
   115
    void UpdateAddConvEntry();
hgs
parents:
diff changeset
   116
    
hgs
parents:
diff changeset
   117
    //Update deleted conversation entry 
hgs
parents:
diff changeset
   118
    //to conversation change handler
hgs
parents:
diff changeset
   119
    void  UpdateDeletedConvEntry();
hgs
parents:
diff changeset
   120
    
hgs
parents:
diff changeset
   121
    //conversation client list notification
hgs
parents:
diff changeset
   122
    void UpdateConversationClientList();
hgs
parents:
diff changeset
   123
    
hgs
parents:
diff changeset
   124
    //Update new added conversation client 
hgs
parents:
diff changeset
   125
    //to conversation list change handler
hgs
parents:
diff changeset
   126
    void UpdateAddConvClient();
hgs
parents:
diff changeset
   127
    
hgs
parents:
diff changeset
   128
    //Update deleted conversation client 
hgs
parents:
diff changeset
   129
    //to conversation list change handler
hgs
parents:
diff changeset
   130
    void UpdateDeletedConvClient();
hgs
parents:
diff changeset
   131
hgs
parents:
diff changeset
   132
    //Update modified conversation client 
hgs
parents:
diff changeset
   133
    //to conversation list change handler
hgs
parents:
diff changeset
   134
    void UpdateConvClient(TInt aConversationId);
hgs
parents:
diff changeset
   135
hgs
parents:
diff changeset
   136
public: //test conversation engine validation functions
hgs
parents:
diff changeset
   137
    
hgs
parents:
diff changeset
   138
    //Get the conversation list size
hgs
parents:
diff changeset
   139
    TInt GetConvListSize();
hgs
parents:
diff changeset
   140
    
hgs
parents:
diff changeset
   141
    //Get the unread message count
hgs
parents:
diff changeset
   142
    TInt GetUnreadCount();
hgs
parents:
diff changeset
   143
    
hgs
parents:
diff changeset
   144
    //Get the current conversation id
hgs
parents:
diff changeset
   145
    TInt GetConversationID();
hgs
parents:
diff changeset
   146
    
hgs
parents:
diff changeset
   147
    //Get the message time stamp
hgs
parents:
diff changeset
   148
    TInt GetTimeStamp();
hgs
parents:
diff changeset
   149
hgs
parents:
diff changeset
   150
    //Get the message type
hgs
parents:
diff changeset
   151
    TInt GetMsgType();
hgs
parents:
diff changeset
   152
hgs
parents:
diff changeset
   153
    //Get the contact id  
hgs
parents:
diff changeset
   154
    TDesC& GetContactID();
hgs
parents:
diff changeset
   155
 
hgs
parents:
diff changeset
   156
    //Get the message description
hgs
parents:
diff changeset
   157
    TDesC& GetDescription();
hgs
parents:
diff changeset
   158
    
hgs
parents:
diff changeset
   159
    //Get the conversation client list
hgs
parents:
diff changeset
   160
    RPointerArray<CCsClientConversation>& GetConversationClientList();
hgs
parents:
diff changeset
   161
hgs
parents:
diff changeset
   162
private:
hgs
parents:
diff changeset
   163
hgs
parents:
diff changeset
   164
    /**
hgs
parents:
diff changeset
   165
     * Constructor
hgs
parents:
diff changeset
   166
     */
hgs
parents:
diff changeset
   167
    TestConversationEngineStub();
hgs
parents:
diff changeset
   168
hgs
parents:
diff changeset
   169
    /**
hgs
parents:
diff changeset
   170
     * Initializes the stub data
hgs
parents:
diff changeset
   171
     */
hgs
parents:
diff changeset
   172
    void InitL();
hgs
parents:
diff changeset
   173
hgs
parents:
diff changeset
   174
    /**
hgs
parents:
diff changeset
   175
     * Create conversation entry 
hgs
parents:
diff changeset
   176
     */
hgs
parents:
diff changeset
   177
    CCsConversationEntry* CreateConversationEntryL(TInt aConvID, bool aUnread);
hgs
parents:
diff changeset
   178
hgs
parents:
diff changeset
   179
    /**
hgs
parents:
diff changeset
   180
     * Prepare conversation list 
hgs
parents:
diff changeset
   181
     */
hgs
parents:
diff changeset
   182
    void PrepareConversationListL(TInt aConvID, TInt aToatalCnt, TInt aUnreadCnt);
hgs
parents:
diff changeset
   183
    
hgs
parents:
diff changeset
   184
    /**
hgs
parents:
diff changeset
   185
     * Create conversation client 
hgs
parents:
diff changeset
   186
     */
hgs
parents:
diff changeset
   187
    CCsClientConversation* 
hgs
parents:
diff changeset
   188
    CreateConversationClientL(const HBufC* aDispName, TInt aContactID,
hgs
parents:
diff changeset
   189
                                            TInt aUnreadCnt,
hgs
parents:
diff changeset
   190
                                            CCsConversationEntry& aConvEntry);
hgs
parents:
diff changeset
   191
hgs
parents:
diff changeset
   192
    /**
hgs
parents:
diff changeset
   193
     * Prepare conversation client list 
hgs
parents:
diff changeset
   194
     */
hgs
parents:
diff changeset
   195
    void PrepareConversationClientListL(TInt aContactID, TInt aListSize, 
hgs
parents:
diff changeset
   196
                                        TInt aUnRead, TInt aUnReadCnt);
hgs
parents:
diff changeset
   197
hgs
parents:
diff changeset
   198
    /**
hgs
parents:
diff changeset
   199
     * Update added conversation entry 
hgs
parents:
diff changeset
   200
     */
hgs
parents:
diff changeset
   201
    void UpdateAddConvEntryL();
hgs
parents:
diff changeset
   202
    
hgs
parents:
diff changeset
   203
    /**
hgs
parents:
diff changeset
   204
     * Update added conversation client 
hgs
parents:
diff changeset
   205
     */
hgs
parents:
diff changeset
   206
    void UpdateAddConvClientL();
hgs
parents:
diff changeset
   207
    
hgs
parents:
diff changeset
   208
private://Data
hgs
parents:
diff changeset
   209
    TestConversationNotifier* iNotifier;
hgs
parents:
diff changeset
   210
    
hgs
parents:
diff changeset
   211
    //Test Conversation Stub Data
hgs
parents:
diff changeset
   212
    TInt iConversationID;
hgs
parents:
diff changeset
   213
    TInt iTimeStamp;
hgs
parents:
diff changeset
   214
    TInt iMsgType;
hgs
parents:
diff changeset
   215
    TInt iUnReadCount;
hgs
parents:
diff changeset
   216
    TBufC<12> iContactID;
hgs
parents:
diff changeset
   217
    TBufC<30> iDescription;
hgs
parents:
diff changeset
   218
    CCsConversationEntry* iDeletedEntry;
hgs
parents:
diff changeset
   219
    RPointerArray<CCsConversationEntry> iConversationEntryList;
hgs
parents:
diff changeset
   220
    //Test Conversationclient Stub Data
hgs
parents:
diff changeset
   221
    RPointerArray<CCsClientConversation> iConversationClientList;
hgs
parents:
diff changeset
   222
};
hgs
parents:
diff changeset
   223
hgs
parents:
diff changeset
   224
#endif /* T_CONVERSATIONENGINESTUB_H_ */