--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/emailservices/nmailbase/inc/nmmessageenvelope.h Fri Apr 16 14:51:52 2010 +0300
@@ -0,0 +1,130 @@
+/*
+* Copyright (c) 2009 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:
+*
+*/
+
+#ifndef NMMESSAGEENVELOPE_H_
+#define NMMESSAGEENVELOPE_H_
+
+#include <QFlags>
+
+#include "nmbasedef.h"
+#include "nmcommon.h"
+#include "nmaddress.h"
+
+
+class NMBASE_EXPORT NmMessageEnvelopePrivate : public QSharedData
+{
+
+public:
+ NmMessageEnvelopePrivate();
+ virtual ~NmMessageEnvelopePrivate();
+
+ NmMessageFlags flags() const;
+ void setFlags(const NmMessageFlags flags, bool set);
+ void setFlag(const NmMessageFlag flag, bool set);
+ bool isFlagSet(const NmMessageFlag flag) const;
+
+public:
+ NmId mId;
+ NmId mParentId; // id for top-level message/messageId for message parts
+ NmId mMailboxId;
+ QString mSubject;
+ NmAddress mSender;
+ QDateTime mSentTime;
+ QList<NmAddress> mToRecipients;
+ QList<NmAddress> mCcRecipients;
+ QList<NmAddress> mBccRecipients;
+
+private:
+ NmMessageFlags mMessageFlags;
+};
+
+
+class NMBASE_EXPORT NmMessageEnvelope
+{
+
+public:
+ NmMessageEnvelope();
+ NmMessageEnvelope(const NmId &id);
+ NmMessageEnvelope(const NmMessageEnvelope &envelope);
+ NmMessageEnvelope(QExplicitlySharedDataPointer<NmMessageEnvelopePrivate> nmPrivateMessageEnvelope);
+ NmMessageEnvelope &operator=(const NmMessageEnvelope &envelope);
+ bool operator==(const NmMessageEnvelope &envelope) const;
+ bool operator!=(const NmMessageEnvelope &envelope) const;
+ virtual ~NmMessageEnvelope();
+
+ void setId(const NmId &id);
+ NmId id() const;
+
+ NmId parentId() const;
+ void setParentId(const NmId &id);
+
+ NmId mailboxId() const;
+ void setMailboxId(const NmId &id);
+
+ void setSubject(const QString &subject);
+ QString subject() const;
+
+ void setSender(const NmAddress &sender);
+ NmAddress sender() const;
+
+ void setSentTime(const QDateTime &sentTime);
+ QDateTime sentTime() const;
+
+ void setHasAttachments(bool hasAttachments);
+ bool hasAttachments() const;
+
+ void setRead(bool read);
+ bool isRead() const;
+
+ void setReplied(bool replied);
+ bool isReplied() const;
+
+ void setForwarded(bool forwarded);
+ bool isForwarded() const;
+
+ void setPriority(NmMessagePriority forwarded);
+ NmMessagePriority priority() const;
+
+ NmMessageFlags flags() const;
+
+ QList<NmAddress>& toRecipients() const;
+ void setToRecipients(QList<NmAddress> toRecipients);
+ void clearToRecipients();
+
+ QList<NmAddress>& ccRecipients() const;
+ void setCcRecipients(QList<NmAddress> ccRecipients);
+ void clearCcRecipients();
+
+ QList<NmAddress>& bccRecipients() const;
+ void setBccRecipients(QList<NmAddress> bccRecipients);
+ void clearBccRecipients();
+
+private:
+ // Data object shared between Symbian and QT data types.
+ QExplicitlySharedDataPointer<NmMessageEnvelopePrivate> d;
+
+ friend class CFSMailMessageBase;
+};
+
+Q_DECLARE_METATYPE(const NmMessageEnvelope*)
+Q_DECLARE_METATYPE(NmMessageEnvelope*)
+
+#endif /* NMMESSAGEENVELOPE_H_ */
+
+
+
+