diff -r 000000000000 -r e6b17d312c8b imservices/instantmessagingcache/imcacheserver/inc/cimcachemessageheader.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imservices/instantmessagingcache/imcacheserver/inc/cimcachemessageheader.h Thu Dec 17 08:54:49 2009 +0200 @@ -0,0 +1,142 @@ +/* +* Copyright (c) 2008 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: a header of all convesation +* +*/ + + +#ifndef CIMCACHEMESSAGEHEADER_H +#define CIMCACHEMESSAGEHEADER_H + +#include +#include "mimcachemessageheader.h" + +// CLASS DECLARATION + +/** + * Message header for history data + * + * @lib imcacheserver.exe + * @since 5.0 + */ + +class CIMCacheMessageHeader : public CBase, + public MIMCacheMessageHeader + { + public: // Constructors and destructors + + /** + * NewL for CIMCacheMessageHeader + * Two-phase constructor + * @param aServiceId , a service id . + * @param aBuddyId a buddy. + * @return Instance of CIMCacheMessageHeader with header information. + */ + static CIMCacheMessageHeader* NewL(TInt aServiceId, const TDesC& aBuddyId ); + + /** + * Virtual destructor + */ + virtual ~CIMCacheMessageHeader(); + + private: // Constructors + + /** + * Default constructor + */ + CIMCacheMessageHeader(); + + /** + * ConstructL for CIMCacheMessageHeader + * Part of Two-phase construction + * @param aServiceId , a service id . + * @param aSender sender + * @param aBuddyId a recipient + */ + void ConstructL(TInt aServiceId, const TDesC& aBuddyId ); + + + public: //new MIMCacheMessageHeader + + /** + * service id + * @return a service id + */ + TInt ServiceId() const; + + /** + * user id of recipient + * @return recipient user id + */ + const TDesC& BuddyId() const; + + /** + * return total message count + */ + TInt MessageCount() const ; + + /** + * get message at given index + * @param aIndex index + */ + CIMCacheMessageBase* GetMessage(TInt aIndex ) ; + + /** + * append message + * @param aMessge message to append + */ + void AppendMessageL(CIMCacheMessageBase* aMessge) ; + + /** + * UnreadMessageCount + * @return unread message count + */ + TInt UnreadMessageCount() const ; + + /** + * check wheather chat started or not + * @return ETrue started + */ + TBool IsChatStarted(); + + /** + * set chat started + * @param aStarted, a boolean value to set + */ + void SetChatStarted(TBool aStarted ); + + /** + * mark all message read + */ + void MarkAllRead(); + + private: // Data + + //owned, recipient + HBufC* iBuddyId; + + //service id + TInt iServiceId ; + + //owned, array of all messages + RPointerArray< CIMCacheMessageBase > iMessageArray; + + //true if streaming is not completely done. + TBool iChatStarted; + + }; + +#endif // CIMCACHEMESSAGEHEADER_H + +// End of File