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 |