summaryrefslogtreecommitdiffabout
path: root/kmicromail/libetpan/generic/mailfolder.c
Unidiff
Diffstat (limited to 'kmicromail/libetpan/generic/mailfolder.c') (more/less context) (show whitespace changes)
-rw-r--r--kmicromail/libetpan/generic/mailfolder.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/kmicromail/libetpan/generic/mailfolder.c b/kmicromail/libetpan/generic/mailfolder.c
index 2ddc37d..89ba891 100644
--- a/kmicromail/libetpan/generic/mailfolder.c
+++ b/kmicromail/libetpan/generic/mailfolder.c
@@ -1,82 +1,89 @@
1#include "mailfolder.h" 1#include "mailfolder.h"
2 2
3#include "maildriver.h" 3#include "maildriver.h"
4 4
5int mailfolder_noop(struct mailfolder * folder) 5int mailfolder_noop(struct mailfolder * folder)
6{ 6{
7 return mailsession_noop(folder->fld_session); 7 return mailsession_noop(folder->fld_session);
8} 8}
9 9
10int mailfolder_check(struct mailfolder * folder) 10int mailfolder_check(struct mailfolder * folder)
11{ 11{
12 return mailsession_check_folder(folder->fld_session); 12 return mailsession_check_folder(folder->fld_session);
13} 13}
14 14
15int mailfolder_expunge(struct mailfolder * folder) 15int mailfolder_expunge(struct mailfolder * folder)
16{ 16{
17 return mailsession_expunge_folder(folder->fld_session); 17 return mailsession_expunge_folder(folder->fld_session);
18} 18}
19 19
20int mailfolder_status(struct mailfolder * folder, 20int mailfolder_status(struct mailfolder * folder,
21 uint32_t * result_messages, uint32_t * result_recent, 21 uint32_t * result_messages, uint32_t * result_recent,
22 uint32_t * result_unseen) 22 uint32_t * result_unseen)
23{ 23{
24 return mailsession_status_folder(folder->fld_session, 24 return mailsession_status_folder(folder->fld_session,
25 folder->fld_pathname, result_messages, 25 folder->fld_pathname, result_messages,
26 result_recent, result_unseen); 26 result_recent, result_unseen);
27} 27}
28 28
29int mailfolder_append_message(struct mailfolder * folder, 29int mailfolder_append_message(struct mailfolder * folder,
30 char * message, size_t size) 30 char * message, size_t size)
31{ 31{
32 return mailsession_append_message(folder->fld_session, message, size); 32 return mailsession_append_message(folder->fld_session, message, size);
33} 33}
34 34
35int mailfolder_append_message_flags(struct mailfolder * folder,
36 char * message, size_t size, struct mail_flags * flags)
37{
38 return mailsession_append_message_flags(folder->fld_session, message,
39 size, flags);
40}
41
35int mailfolder_get_messages_list(struct mailfolder * folder, 42int mailfolder_get_messages_list(struct mailfolder * folder,
36 struct mailmessage_list ** result) 43 struct mailmessage_list ** result)
37{ 44{
38 int r; 45 int r;
39 struct mailmessage_list * msg_list; 46 struct mailmessage_list * msg_list;
40 unsigned int i; 47 unsigned int i;
41 48
42 r = mailsession_get_messages_list(folder->fld_session, &msg_list); 49 r = mailsession_get_messages_list(folder->fld_session, &msg_list);
43 if (r != MAIL_NO_ERROR) 50 if (r != MAIL_NO_ERROR)
44 return r; 51 return r;
45 52
46 for(i = 0 ; i < carray_count(msg_list->msg_tab) ; i ++) { 53 for(i = 0 ; i < carray_count(msg_list->msg_tab) ; i ++) {
47 mailmessage * msg; 54 mailmessage * msg;
48 55
49 msg = carray_get(msg_list->msg_tab, i); 56 msg = carray_get(msg_list->msg_tab, i);
50 msg->msg_folder = folder; 57 msg->msg_folder = folder;
51 } 58 }
52 59
53 * result = msg_list; 60 * result = msg_list;
54 61
55 return MAIL_NO_ERROR; 62 return MAIL_NO_ERROR;
56} 63}
57 64
58int mailfolder_get_envelopes_list(struct mailfolder * folder, 65int mailfolder_get_envelopes_list(struct mailfolder * folder,
59 struct mailmessage_list * result) 66 struct mailmessage_list * result)
60{ 67{
61 return mailsession_get_envelopes_list(folder->fld_session, result); 68 return mailsession_get_envelopes_list(folder->fld_session, result);
62} 69}
63 70
64int mailfolder_get_message(struct mailfolder * folder, 71int mailfolder_get_message(struct mailfolder * folder,
65 uint32_t num, mailmessage ** result) 72 uint32_t num, mailmessage ** result)
66{ 73{
67 mailmessage * msg; 74 mailmessage * msg;
68 int r; 75 int r;
69 76
70 r = mailsession_get_message(folder->fld_session, num, &msg); 77 r = mailsession_get_message(folder->fld_session, num, &msg);
71 if (r != MAIL_NO_ERROR) 78 if (r != MAIL_NO_ERROR)
72 return r; 79 return r;
73 80
74 msg->msg_folder = folder; 81 msg->msg_folder = folder;
75 82
76 * result = msg; 83 * result = msg;
77 84
78 return MAIL_NO_ERROR; 85 return MAIL_NO_ERROR;
79} 86}
80 87
81int mailfolder_get_message_by_uid(struct mailfolder * folder, 88int mailfolder_get_message_by_uid(struct mailfolder * folder,
82 const char * uid, mailmessage ** result) 89 const char * uid, mailmessage ** result)