16 */ |
16 */ |
17 |
17 |
18 #ifndef NMAPIFOLDERINFO_H |
18 #ifndef NMAPIFOLDERINFO_H |
19 #define NMAPIFOLDERINFO_H |
19 #define NMAPIFOLDERINFO_H |
20 |
20 |
21 #include <QString> |
|
22 #include <QExplicitlySharedDataPointer> |
21 #include <QExplicitlySharedDataPointer> |
23 #include <QList> |
22 #include <QList> |
24 #include "nmenginedef.h" |
23 #include <nmapidef.h> |
|
24 #include <nmapicommon.h> |
25 |
25 |
26 /** |
26 /*! |
27 * Mailbox metadata class |
27 Mailbox metadata class |
28 */ |
28 */ |
29 namespace EmailClientApi |
29 namespace EmailClientApi |
30 { |
30 { |
31 |
31 |
32 enum EmailFolderType |
32 class NmApiFolderPrivate; |
33 { |
|
34 Inbox, Drafts, Outbox, Sent, Deleted, EOther |
|
35 }; |
|
36 |
33 |
37 enum |
34 class NMAPI_EXPORT NmApiFolder |
38 { |
|
39 GeneralError = -1, NotSupportedError |
|
40 }; |
|
41 |
|
42 class NmFolderPrivate : public QSharedData |
|
43 { |
35 { |
44 public: |
36 public: |
45 NmFolderPrivate(); |
37 /*! |
46 virtual ~NmFolderPrivate(); |
38 constructor for NmApiFolder class |
|
39 */ |
|
40 NmApiFolder(); |
|
41 |
|
42 /*! |
|
43 Copy constructor for NmApiFolder |
|
44 */ |
|
45 NmApiFolder(const NmApiFolder &nmApiFolder); |
|
46 |
|
47 /*! |
|
48 destructor for NmApiFolder class |
|
49 */ |
|
50 virtual ~NmApiFolder(); |
47 |
51 |
48 quint64 id; |
52 /*! |
49 QString name; |
53 Assigns data from \a folder |
50 EmailFolderType folderType; |
|
51 quint64 parentId; |
|
52 QList<quint64> childFolderIds; |
|
53 }; |
|
54 |
|
55 class NMENGINE_EXPORT NmFolder |
|
56 { |
|
57 public: |
|
58 /* |
|
59 * constructor for NmFolder class |
|
60 */ |
54 */ |
61 NmFolder(); |
55 NmApiFolder &operator=(const NmApiFolder &folder); |
62 /* |
56 |
63 * destructor for NmFolder class |
57 /*! |
|
58 Compares data from \a folder |
64 */ |
59 */ |
65 ~NmFolder(); |
60 bool operator==(const NmApiFolder &folder); |
66 |
61 |
67 /* |
62 /*! |
68 * getter for id |
63 getter for id |
69 */ |
64 */ |
70 quint64 id() const; |
65 quint64 id() const; |
71 |
66 |
72 /* |
67 /*! |
73 * getter for name |
68 getter for name |
74 */ |
69 */ |
75 QString name() const; |
70 QString name() const; |
76 |
71 |
77 /* |
72 /*! |
78 * getter for foldertype |
73 getter for foldertype |
79 */ |
74 */ |
80 EmailFolderType folderType() const; |
75 EmailClientApi::NmApiEmailFolderType folderType() const; |
81 |
76 |
82 /* |
77 /*! |
83 * setter for id |
78 setter for id |
84 */ |
79 */ |
85 void setId(quint64 id); |
80 void setId(quint64 id); |
86 |
81 |
87 /* |
82 /*! |
88 * setter for name |
83 setter for name |
89 */ |
84 */ |
90 void setName(const QString& name); |
85 void setName(const QString &name); |
91 |
86 |
92 /* |
87 /*! |
93 * setter for foldertype |
88 setter for foldertype |
94 */ |
89 */ |
95 void setFolderType(EmailFolderType folderType); |
90 void setFolderType(EmailClientApi::NmApiEmailFolderType folderType); |
96 |
91 |
97 /* |
92 /*! |
98 * seter for childfolder ids |
93 setter for childfolder ids |
99 */ |
94 */ |
100 void setChildFolderIds(QList<quint64> &childFolderIds); |
95 void setChildFolderIds(QList<quint64> &childFolderIds); |
101 |
96 |
102 /* |
97 /*! |
103 * seter for childfolder ids |
98 setter for childfolder ids |
104 */ |
99 */ |
105 void setParentFolderId(quint64 parentId); |
100 void setParentFolderId(quint64 parentId); |
106 |
101 |
107 /* |
102 /*! |
108 * returns child folder ids. |
103 returns child folder ids. |
109 * to be implemented later when nmail functionality is available |
104 to be implemented later when nmail functionality is available |
110 */ |
105 */ |
111 void getChildFolderIds(QList<quint64> &childFolderIds); |
106 void getChildFolderIds(QList<quint64> &childFolderIds); |
112 |
107 |
113 /* |
108 /*! |
114 * returns parent folder id. |
109 returns parent folder id. |
115 * |
110 |
116 */ |
111 */ |
117 quint64 parentFolderId() const; |
112 quint64 parentFolderId() const; |
118 |
113 |
119 private: |
114 private: |
120 QExplicitlySharedDataPointer<NmFolderPrivate> d; |
115 QExplicitlySharedDataPointer<NmApiFolderPrivate> d; |
121 }; |
116 }; |
122 |
117 |
123 } |
118 } |
124 #endif |
119 #endif |