diff -r fa1df4b99609 -r ebe688cedc25 messagingapp/msgappfw/msghistory/inc/msghistoryprivate.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/messagingapp/msgappfw/msghistory/inc/msghistoryprivate.h Tue Aug 31 15:11:31 2010 +0300 @@ -0,0 +1,227 @@ +/* + * Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: Private object for message history. + * + */ + +#ifndef __MSG_HISTORY_PRIVATE__ +#define __MSG_HISTORY_PRIVATE__ + +#include "mcsresultsobserver.h" +#include "mcsconversationchangeobserver.h" + +class CCSRequestHandler; +class CCsConversationEntry; +class CCsClientConversation; +class MsgHistoryImpl; +class MsgItem; + +class MsgHistoryPrivate : public CBase, +public CActive, +public MCsResultsObserver, +public MCsConversationChangeObserver + { +public: + /* + * Constructor + */ + MsgHistoryPrivate(MsgHistoryImpl* ptr); + + /* + * Destructor + */ + ~MsgHistoryPrivate(); + +public:// CActive + + /** + * RunL. + */ + void RunL(); + + /** + * DoCancel + */ + void DoCancel(); + +public: + /* + * GetMessagingHistory + * @param aContactId, contactId + */ + TBool GetMessagingHistory( TInt aContactId , TInt aKnownIndex = 0 ); + + /* + * ClearMessagingHistory + * @param aContactId, contactId + * @return + */ + TBool ClearMessagingHistory( TInt aContactId ); + + /* + * MarkReadMessagingHistory + * @param aContactId, contactId + * @return + */ + TBool MarkReadMessagingHistory( TInt aContactId ); + + /* + * Subscribe + * @param aContactId, contactId + * @return + */ + TBool Subscribe( TInt aContactId ); + + /* + * UnSubscribe + * @param aContactId, contactId + * @return + */ + TBool UnSubscribe ( TInt aContactId ); + +public: // From MCsResultsObserver + + /** + * ConversationList + * This is for handling GetEntryList results asynchronusly + * from the server. + * + * @param aClientConversationList List of client conversations + * returned by server. + */ + void ConversationList( + RPointerArray& aClientConversationList); + /** + * Conversations + * This is for handling GetConversation results asynchronusly + * from the server. + * + * @param aConversationEntryList List of conversation entries + * returned by server. + * @param aTotalCount total number of conversaitons entries in the conversation + */ + + void Conversations( + RPointerArray& aConversationEntryList, + TInt& aTotalCount); + +public://MCsConversationChangeObserver + + /** + * AddConversation + * This is for handling addition of new conversation entry in + * conversation view asynchronusly from the server. + * + * @param aConversationEntry Conversation Entry + */ + void AddConversation( + const CCsConversationEntry& aConversationEntry); + + /** + * ModifyConversation + * This is for handling modification of existing + * conversation entry in conversation view + * asynchronusly from the server. + * + * @param aConversationEntry Conversation Entry + */ + void ModifyConversation( + const CCsConversationEntry& aConversationEntry); + + /** + * DeleteConversation + * This is for handling deletion of existing + * conversation entry from conversation view + * asynchronusly from the server. + * + * @param aConversationEntry Conversation Entry + */ + void DeleteConversation( + const CCsConversationEntry& aConversationEntry); + + /** + * RefreshConversation + * This is for handling refresh asynchronusly from the server. + */ + void RefreshConversation(); + + /* + * Populate MsgItem + * @param item, MsgItem + * @param entry, CCsConversationEntry + */ + void PopulateMsgItem + (MsgItem& item, const CCsConversationEntry& entry); + + /* + * Set MsgItem Attributes + * @param item, MsgItem + * @param entry, CCsConversationEntry + */ + void SetMsgAttributes + (MsgItem& item, const CCsConversationEntry& entry); + +private : + /** + * Make the active object alive + */ + void IssueRequest(); + +private: + + /** + * Msghistory Internal States + */ + enum MsgHistoryStates + { + EInit = 500, + EFetchMoreConversations + }; + /** + * MsgHistoryStates + * Own + */ + MsgHistoryStates currentState; + + /** + * Current entry being processed + * Own. + */ + TInt mCurrentIndex; + + /* + * MsgHistoryImpl + * Not Own + */ + MsgHistoryImpl* q_ptr; + + /* + * CCSRequestHandler + * Own + */ + CCSRequestHandler* handler; + /* + * List of MsgItem's + * Own + */ + QList msgs; + + /* + * Contact Id + * Own + */ + TInt contactId; + }; + +#endif // __MSG_HISTORY_PRIVATE__