emailservices/nmailbase/inc/nmmessageenvelope.h
branchRCL_3
changeset 63 d189ee25cf9d
equal deleted inserted replaced
61:dcf0eedfc1a3 63:d189ee25cf9d
       
     1 /*
       
     2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:
       
    15 *
       
    16 */
       
    17 
       
    18 #ifndef NMMESSAGEENVELOPE_H_
       
    19 #define NMMESSAGEENVELOPE_H_
       
    20 
       
    21 #include <QFlags>
       
    22 
       
    23 #include "nmbasedef.h"
       
    24 #include "nmcommon.h"
       
    25 #include "nmaddress.h"
       
    26 
       
    27 
       
    28 class NMBASE_EXPORT NmMessageEnvelopePrivate : public QSharedData
       
    29 {
       
    30 
       
    31 public:
       
    32     NmMessageEnvelopePrivate();
       
    33     virtual ~NmMessageEnvelopePrivate();
       
    34 
       
    35     NmMessageFlags flags() const;
       
    36     void setFlags(const NmMessageFlags flags, bool set);
       
    37     void setFlag(const NmMessageFlag flag, bool set);
       
    38     bool isFlagSet(const NmMessageFlag flag) const;
       
    39 
       
    40 public:
       
    41     NmId mMessageId;
       
    42     NmId mFolderId; // id for top-level message/messageId for message parts
       
    43     NmId mMailboxId;
       
    44     QString mSubject;
       
    45     NmAddress mSender;
       
    46     QDateTime mSentTime;
       
    47     QList<NmAddress> mToRecipients;
       
    48     QList<NmAddress> mCcRecipients;
       
    49     QList<NmAddress> mBccRecipients;
       
    50 
       
    51 private:
       
    52     NmMessageFlags mMessageFlags;
       
    53 };
       
    54 
       
    55 
       
    56 class NMBASE_EXPORT NmMessageEnvelope
       
    57 {
       
    58 
       
    59 public:
       
    60     NmMessageEnvelope();
       
    61     NmMessageEnvelope(const NmId &messageId);
       
    62     NmMessageEnvelope(const NmMessageEnvelope &envelope);
       
    63     NmMessageEnvelope(QExplicitlySharedDataPointer<NmMessageEnvelopePrivate> nmPrivateMessageEnvelope);
       
    64     NmMessageEnvelope &operator=(const NmMessageEnvelope &envelope);
       
    65     bool operator==(const NmMessageEnvelope &envelope) const;
       
    66     bool operator!=(const NmMessageEnvelope &envelope) const;
       
    67     virtual ~NmMessageEnvelope();
       
    68 
       
    69     void setMessageId(const NmId &messageId);
       
    70     NmId messageId() const;
       
    71 
       
    72     NmId folderId() const;
       
    73     void setFolderId(const NmId &folderId);
       
    74 
       
    75     NmId mailboxId() const;
       
    76     void setMailboxId(const NmId &mailboxId);
       
    77 
       
    78     void setSubject(const QString &subject);
       
    79     QString subject() const;
       
    80 
       
    81     void setSender(const NmAddress &sender);
       
    82     NmAddress sender() const;
       
    83 
       
    84     void setSentTime(const QDateTime &sentTime);
       
    85     QDateTime sentTime() const;
       
    86 
       
    87     void setHasAttachments(bool hasAttachments);
       
    88     bool hasAttachments() const;
       
    89 
       
    90     void setRead(bool read);
       
    91     bool isRead() const;
       
    92 
       
    93     void setReplied(bool replied);
       
    94     bool isReplied() const;
       
    95 
       
    96     void setForwarded(bool forwarded);
       
    97     bool isForwarded() const;
       
    98 
       
    99     void setPriority(NmMessagePriority forwarded);
       
   100     NmMessagePriority priority() const;
       
   101 
       
   102     NmMessageFlags flags() const;
       
   103 
       
   104     QList<NmAddress>& toRecipients() const;
       
   105     void setToRecipients(QList<NmAddress> toRecipients);
       
   106     void clearToRecipients();
       
   107 
       
   108     QList<NmAddress>& ccRecipients() const;
       
   109     void setCcRecipients(QList<NmAddress> ccRecipients);
       
   110     void clearCcRecipients();
       
   111 
       
   112     QList<NmAddress>& bccRecipients() const;
       
   113     void setBccRecipients(QList<NmAddress> bccRecipients);
       
   114     void clearBccRecipients();
       
   115 
       
   116 private:
       
   117     // Data object shared between Symbian and QT data types.
       
   118     QExplicitlySharedDataPointer<NmMessageEnvelopePrivate> d;
       
   119 
       
   120     friend class CFSMailMessageBase;
       
   121 };
       
   122 
       
   123 Q_DECLARE_METATYPE(const NmMessageEnvelope*)
       
   124 Q_DECLARE_METATYPE(NmMessageEnvelope*)
       
   125 
       
   126 #endif /* NMMESSAGEENVELOPE_H_ */
       
   127 
       
   128 
       
   129 
       
   130