emailservices/nmailbase/inc/nmmessageenvelope.h
branchRCL_3
changeset 63 d189ee25cf9d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/emailservices/nmailbase/inc/nmmessageenvelope.h	Tue Aug 31 15:04:17 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 mMessageId;
+    NmId mFolderId; // 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 &messageId);
+    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 setMessageId(const NmId &messageId);
+    NmId messageId() const;
+
+    NmId folderId() const;
+    void setFolderId(const NmId &folderId);
+
+    NmId mailboxId() const;
+    void setMailboxId(const NmId &mailboxId);
+
+    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_ */
+
+
+
+