| author | hgs | 
| Tue, 05 Oct 2010 13:58:47 +0530 | |
| changeset 73 | ecf6a73a9186 | 
| parent 37 | 518b245aa84c | 
| child 47 | 5b14749788d7 | 
| permissions | -rw-r--r-- | 
| 23 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 1 | /* | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 2 | * Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 3 | * All rights reserved. | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 4 | * This component and the accompanying materials are made available | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 5 | * under the terms of "Eclipse Public License v1.0" | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 6 | * which accompanies this distribution, and is available | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 7 | * at the URL "http://www.eclipse.org/legal/epl-v10.html". | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 8 | * | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 9 | * Initial Contributors: | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 10 | * Nokia Corporation - initial contribution. | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 11 | * | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 12 | * Contributors: | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 13 | * | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 14 | * Description: CS Server Mark Read Handler | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 15 | * | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 16 | */ | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 17 | #ifndef __C_CS_CONVERSATION_MARK_READ_HANDLER_H__ | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 18 | #define __C_CS_CONVERSATION_MARK_READ_HANDLER_H__ | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 19 | |
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 20 | // SYSTEM INCLUDE FILES | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 21 | #include <msvapi.h> | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 22 | |
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 23 | // FORWARD DECLARATIONS | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 24 | class CMsvSession; | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 25 | class CConversationCache; | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 26 | class CCsConversationEntry; | 
| 37 | 27 | class MMsvSessionObserver; | 
| 23 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 28 | /** | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 29 | * Mark read handler states | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 30 | */ | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 31 | enum TMarkReadHandlerState | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 32 |     {
 | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 33 | EMarkReadIdle = 0, | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 34 | EMarkReadStart, | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 35 | EMarkReadNext, | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 36 | EMarkReadComplete | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 37 | }; | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 38 | |
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 39 | /** | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 40 | * This class handles mark read of messages from messaging store. | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 41 | */ | 
| 37 | 42 | class CCsConversationMarkReadHandler : public CActive, public MMsvSessionObserver | 
| 43 | {
 | |
| 23 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 44 | public: | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 45 | /** | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 46 | * Two phase construction | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 47 | */ | 
| 37 | 48 | static CCsConversationMarkReadHandler* NewL(CCsConversationCache* aCache); | 
| 23 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 49 | |
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 50 | /** | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 51 | * Destructor | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 52 | */ | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 53 | virtual ~CCsConversationMarkReadHandler(); | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 54 | |
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 55 | /** | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 56 | * From MMsvSessionObserver, HandleSessionEventL. | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 57 | */ | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 58 | virtual void HandleSessionEventL(TMsvSessionEvent /*aEvent*/, | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 59 |             TAny* /*aArg1*/, TAny* /*aArg2*/, TAny* /*aArg3*/) {};
 | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 60 | |
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 61 | /** | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 62 | * Mark a set of messages as read | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 63 | * @param aConversationId. The conversation id. | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 64 | */ | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 65 | void MarkReadL(TInt aConversationId); | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 66 | |
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 67 | public: // From CActive | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 68 | void RunL(); | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 69 | void DoCancel(); | 
| 25 
84d9eb65b26f
Revision: 201015
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: 
23diff
changeset | 70 | TInt RunError(TInt aError); | 
| 23 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 71 | |
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 72 | private: | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 73 | CCsConversationMarkReadHandler(); | 
| 37 | 74 | void ConstructL(CCsConversationCache* aCache); | 
| 23 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 75 | void IssueRequest(); | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 76 | void MarkReadOneMessageL(); | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 77 | |
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 78 | private: | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 79 | /** | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 80 | * Own. Msv Session. | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 81 | */ | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 82 | CMsvSession* iSession; | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 83 | |
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 84 | /** | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 85 | * State | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 86 | */ | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 87 | TMarkReadHandlerState iState; | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 88 | |
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 89 | /** | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 90 | * Not own. Cache. | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 91 | */ | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 92 | CCsConversationCache* iCache; | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 93 | |
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 94 | /** | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 95 | * Own. List of message entries to be mark read. | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 96 | */ | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 97 | RPointerArray<CCsConversationEntry>* iConversationEntryList; | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 98 | |
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 99 | /** | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 100 | * Mark read message count | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 101 | */ | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 102 | TInt iMarkReadCount; | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 103 | }; | 
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 104 | |
| 
238255e8b033
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 105 | #endif // __C_CS_CONVERSATION_DELETE_HANDLER_H__ |