--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/imstutils/imconversationview/imcvuiengine/inc/mimcvenginemessage.h Tue Feb 02 10:12:18 2010 +0200
@@ -0,0 +1,238 @@
+/*
+* Copyright (c) 2007-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: message interface
+*
+*/
+
+
+#ifndef MIMCVENGINEMESSAGE_H
+#define MIMCVENGINEMESSAGE_H
+
+#include <e32base.h>
+#include <badesca.h>
+
+// FORWARD CLASS DECLERATIONS
+class MIMCVEngineMessageContainerInfo;
+class TXIMPRequestId;
+// MDesCArray must not be fwd declared, or compiling test code will break
+// since it's a MACRO. hence the include to badesca.h
+
+// CLASS DECLARATION
+
+/**
+ * Interface for handling one message
+ *
+ * @lib imcvengine.dll
+ * @since 5.0
+ */
+class MIMCVEngineMessage
+ {
+ public: // Definitions
+
+ /**
+ * Different message types
+ */
+ enum TMessageType
+ {
+ EMessagePTOP,
+ EMessageWhisper,
+ EMessageGroup,
+ EMessageSystem,
+ EMessageInvalid
+ };
+
+ /**
+ * System message enumerations.
+ */
+ enum TSystemMessage
+ {
+ ESystemMessageNone,
+ ESystemMessageWelcome,
+ ESystemMessageNewUsers,
+ ESystemMessageTopicChanged,
+ ESystemMessagePrivatChanged,
+ ESystemMessageLeftUsers,
+ ESystemMessageDateChange
+ };
+
+ /**
+ * Direction of message. Coming or going or other.
+ */
+ enum TMessagerType
+ {
+ EMessageSent,
+ EMessageReceived,
+ EMessageOther,
+ EMessageStarted
+ };
+
+ /**
+ * Different message content types
+ */
+ enum TContentType
+ {
+ EContentText,
+ EContentPicture,
+ EContentOther,
+ EContentInvalid
+ };
+
+ /**
+ * Content processing states
+ */
+ enum TContentProcessState
+ {
+ EContentNotProcessed = 0,
+ EContentNotSupported,
+ EContentNotSupportedDrm,
+ EContentCorrupted,
+ EBitmapDecoded,
+ EBitmapScaled,
+ EContentReady,
+ EContentDecoded,
+ EThumbnailReady
+ };
+
+ public: // General information
+
+ /**
+ * Get timestamp when this message has been created.
+ * For prioritization of message deletion and timestamping
+ * chat messages
+ */
+ virtual const TTime& TimeStamp() const = 0;
+
+ /**
+ * @see MIMMessageBase
+ */
+ virtual void SetTimeStamp(TTime aTime ) = 0 ;
+
+ /**
+ * Message size in bytes.
+ * @return Size of message in bytes.
+ */
+ virtual TInt SizeInBytes() const = 0;
+
+ public: // Type of message
+ /**
+ * Type of message
+ * @return Type of message. EMessageGroup, EMessagePersonal,
+ * EMessageSystem
+ */
+ virtual TMessageType MessageType() const = 0;
+
+ /**
+ * Type of messager
+ * @return Type of message. EMessageFrom, EMessageTo, EMessageOther
+ */
+ virtual TMessagerType MessagerType() const = 0;
+
+ /**
+ * Type of content of message
+ * @return Type of message. EMessageText, EMessagePicture
+ */
+ virtual TContentType ContentType() const = 0;
+
+ /**
+ * Is message failed or not
+ * @return ETrue if is, EFalse if not.
+ */
+ virtual TBool FailedMessage() const = 0;
+
+ /**
+ * Returns the type of system message.
+ * @return type of system message or
+ * TSystemMessageNone if not system message
+ */
+ virtual TSystemMessage SystemMessageType() = 0;
+
+ /**
+ * Increase owner count. There can be multiply owners for one message.
+ * This method is for increasing the count. Every owner class
+ * must use also DecreaseOwnerCount.
+ */
+ virtual void IncreaseOwnerCount() = 0;
+
+ /**
+ * Decrease owner count. There can be multiply owners for one message.
+ * This method is for decreasing the count. Every owner class
+ * must have called IncreaseOwnerCount before calling this method.
+ * @return ETrue if owner can delete message. EFalse if not.
+ */
+ virtual TBool DecreaseOwnerCount() = 0;
+
+
+ public: // Identification of message
+ /**
+ * Operation code of message. One way to identify message.
+ * @return Operation code of message.
+ */
+ virtual TXIMPRequestId OperationCode() const = 0;
+
+ /**
+ * Set operation code of message.
+ * @param aOpId, new operation code for message
+ */
+ virtual void SetOperationCode(TXIMPRequestId aRequestId ) = 0;
+
+
+
+ /**
+ * Part of container identifier which contains this message
+ * @return User id to identify container which contains this message
+ */
+ //virtual const TDesC& UserId() const = 0;
+
+
+ /**
+ * Set containerinfo of message. Needed for identifying of message.
+ * @param aInfo. ContainerInfo.
+ */
+ virtual void SetContainerInfo( MIMCVEngineMessageContainerInfo* aInfo ) = 0;
+
+ public: // Content of message
+
+ /**
+ * Recipient of message.
+ * @return Recipient of message. To whom the message is sent.
+ */
+ virtual const TDesC& Recipient() const = 0;
+
+ /**
+ * Sender of message
+ * @return Sender of message. To who has sent the message.
+ */
+ virtual const TDesC& Sender() const = 0;
+
+
+ /**
+ * Textual content of message
+ * @return Textual content.
+ */
+ virtual const TDesC& Text() const = 0;
+
+
+
+ public:
+
+ /**
+ * Virtual destructor
+ */
+ virtual ~MIMCVEngineMessage(){}
+ };
+
+#endif // MIMCVENGINEMESSAGE_H
+
+// End of File
+