emailservices/nmailbase/inc/nmmessage.h
changeset 23 2dc6caa42ec3
parent 20 ecc8def7944a
equal deleted inserted replaced
20:ecc8def7944a 23:2dc6caa42ec3
    21 #include <QString>
    21 #include <QString>
    22 #include <QDateTime>
    22 #include <QDateTime>
    23 #include "nmbasedef.h"
    23 #include "nmbasedef.h"
    24 #include "nmcommon.h"
    24 #include "nmcommon.h"
    25 #include "nmmessagepart.h"
    25 #include "nmmessagepart.h"
       
    26 #include "nmmessageenvelope.h"
    26 
    27 
    27 class CFSMailMessage;
    28 class CFSMailMessage;
       
    29 
       
    30 class NMBASE_EXPORT NmMessagePrivate : public QSharedData
       
    31 {
       
    32 public:
       
    33     NmMessagePrivate();
       
    34     virtual ~NmMessagePrivate();
       
    35 public:
       
    36     NmMessageEnvelope mEnvelope;
       
    37 };
    28 
    38 
    29 class NMBASE_EXPORT NmMessage : public NmMessagePart
    39 class NMBASE_EXPORT NmMessage : public NmMessagePart
    30 {
    40 {
    31 public:
    41 public:
    32     NmMessage();
    42     NmMessage();
    33     NmMessage(const NmId &id);
    43     NmMessage(const NmId &messageId);
    34     NmMessage(const NmId &id, const NmId &parentId);
    44     NmMessage(const NmId &messageId, const NmId &folderId);
    35     NmMessage(const NmId &id, const NmId &parentId, const NmId &mailboxId);
    45     NmMessage(const NmId &messageId, const NmId &folderId, const NmId &mailboxId);
    36     NmMessage(const NmMessageEnvelope &envelope);
    46     NmMessage(const NmMessageEnvelope &envelope);
       
    47 
    37     NmMessage(const NmMessage &message);
    48     NmMessage(const NmMessage &message);
    38     virtual ~NmMessage();
    49     virtual ~NmMessage();
    39     NmMessage(const NmMessagePart& message);
    50     NmMessage(const NmMessagePart& message);
    40 
       
    41     virtual NmId id() const;
       
    42     virtual void setId(const NmId &id);
       
    43 
    51 
    44     const NmMessagePart *plainTextBodyPart() const;
    52     const NmMessagePart *plainTextBodyPart() const;
    45     NmMessagePart *plainTextBodyPart();
    53     NmMessagePart *plainTextBodyPart();
    46     const NmMessagePart *htmlBodyPart() const;
    54     const NmMessagePart *htmlBodyPart() const;
    47     NmMessagePart *htmlBodyPart();
    55     NmMessagePart *htmlBodyPart();
    48 
    56 
    49     void setEnvelope(const NmMessageEnvelope &envelope);
       
    50     NmMessageEnvelope &envelope();
    57     NmMessageEnvelope &envelope();
    51     const NmMessageEnvelope &envelope() const;
    58     const NmMessageEnvelope &envelope() const;
    52 
       
    53     CFSMailMessage* getCFSMailMessage();
       
    54 
    59 
    55     void attachmentList(QList<NmMessagePart*> &parts) const;
    60     void attachmentList(QList<NmMessagePart*> &parts) const;
    56     
    61     
    57 private:
    62 private:
       
    63     // prohibited
    58     NmMessage &operator=(const NmMessage &message);
    64     NmMessage &operator=(const NmMessage &message);
       
    65     
       
    66     // for CFSMailMessage
       
    67     NmMessage(const NmMessageEnvelope &envelope,
       
    68             QExplicitlySharedDataPointer<NmMessagePartPrivate> nmPrivateMessagePart);
       
    69     
       
    70     friend class CFSMailMessage;
       
    71 
       
    72 private:
       
    73     QExplicitlySharedDataPointer<NmMessagePrivate> d;
    59 
    74 
    60 };
    75 };
    61 
    76 
    62 #endif /* NMMESSAGE_H_ */
    77 #endif /* NMMESSAGE_H_ */
    63 
    78