summaryrefslogtreecommitdiffabout
path: root/kmicromail/libetpan/generic/mboxdriver.c
Unidiff
Diffstat (limited to 'kmicromail/libetpan/generic/mboxdriver.c') (more/less context) (ignore whitespace changes)
-rw-r--r--kmicromail/libetpan/generic/mboxdriver.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/kmicromail/libetpan/generic/mboxdriver.c b/kmicromail/libetpan/generic/mboxdriver.c
index fa3e2ea..c19a668 100644
--- a/kmicromail/libetpan/generic/mboxdriver.c
+++ b/kmicromail/libetpan/generic/mboxdriver.c
@@ -68,24 +68,27 @@ static int mboxdriver_logout(mailsession * session);
68static int mboxdriver_expunge_folder(mailsession * session); 68static int mboxdriver_expunge_folder(mailsession * session);
69 69
70static int mboxdriver_status_folder(mailsession * session, char * mb, 70static int mboxdriver_status_folder(mailsession * session, char * mb,
71 uint32_t * result_messages, uint32_t * result_recent, 71 uint32_t * result_messages, uint32_t * result_recent,
72 uint32_t * result_unseen); 72 uint32_t * result_unseen);
73 73
74static int mboxdriver_messages_number(mailsession * session, char * mb, 74static int mboxdriver_messages_number(mailsession * session, char * mb,
75 uint32_t * result); 75 uint32_t * result);
76 76
77static int mboxdriver_append_message(mailsession * session, 77static int mboxdriver_append_message(mailsession * session,
78 char * message, size_t size); 78 char * message, size_t size);
79 79
80static int mboxdriver_append_message_flags(mailsession * session,
81 char * message, size_t size, struct mail_flags * flags);
82
80static int mboxdriver_get_messages_list(mailsession * session, 83static int mboxdriver_get_messages_list(mailsession * session,
81 struct mailmessage_list ** result); 84 struct mailmessage_list ** result);
82 85
83static int 86static int
84mboxdriver_get_envelopes_list(mailsession * session, 87mboxdriver_get_envelopes_list(mailsession * session,
85 struct mailmessage_list * env_list); 88 struct mailmessage_list * env_list);
86 89
87static int mboxdriver_remove_message(mailsession * session, uint32_t num); 90static int mboxdriver_remove_message(mailsession * session, uint32_t num);
88 91
89static int mboxdriver_get_message(mailsession * session, 92static int mboxdriver_get_message(mailsession * session,
90 uint32_t num, mailmessage ** result); 93 uint32_t num, mailmessage ** result);
91 94
@@ -117,24 +120,25 @@ static mailsession_driver local_mbox_session_driver = {
117 .sess_select_folder = NULL, 120 .sess_select_folder = NULL,
118 .sess_expunge_folder = mboxdriver_expunge_folder, 121 .sess_expunge_folder = mboxdriver_expunge_folder,
119 .sess_status_folder = mboxdriver_status_folder, 122 .sess_status_folder = mboxdriver_status_folder,
120 .sess_messages_number = mboxdriver_messages_number, 123 .sess_messages_number = mboxdriver_messages_number,
121 .sess_recent_number = mboxdriver_messages_number, 124 .sess_recent_number = mboxdriver_messages_number,
122 .sess_unseen_number = mboxdriver_messages_number, 125 .sess_unseen_number = mboxdriver_messages_number,
123 .sess_list_folders = NULL, 126 .sess_list_folders = NULL,
124 .sess_lsub_folders = NULL, 127 .sess_lsub_folders = NULL,
125 .sess_subscribe_folder = NULL, 128 .sess_subscribe_folder = NULL,
126 .sess_unsubscribe_folder = NULL, 129 .sess_unsubscribe_folder = NULL,
127 130
128 .sess_append_message = mboxdriver_append_message, 131 .sess_append_message = mboxdriver_append_message,
132 .sess_append_message_flags = mboxdriver_append_message_flags,
129 .sess_copy_message = NULL, 133 .sess_copy_message = NULL,
130 .sess_move_message = NULL, 134 .sess_move_message = NULL,
131 135
132 .sess_get_messages_list = mboxdriver_get_messages_list, 136 .sess_get_messages_list = mboxdriver_get_messages_list,
133 .sess_get_envelopes_list = mboxdriver_get_envelopes_list, 137 .sess_get_envelopes_list = mboxdriver_get_envelopes_list,
134 .sess_remove_message = mboxdriver_remove_message, 138 .sess_remove_message = mboxdriver_remove_message,
135#if 0 139#if 0
136 .sess_search_messages = maildriver_generic_search_messages, 140 .sess_search_messages = maildriver_generic_search_messages,
137#endif 141#endif
138 142
139 .sess_get_message = mboxdriver_get_message, 143 .sess_get_message = mboxdriver_get_message,
140 .sess_get_message_by_uid = mboxdriver_get_message_by_uid, 144 .sess_get_message_by_uid = mboxdriver_get_message_by_uid,
@@ -335,24 +339,30 @@ static int mboxdriver_append_message(mailsession * session,
335 return MAIL_ERROR_APPEND; 339 return MAIL_ERROR_APPEND;
336 340
337 r = mailmbox_append_message(folder, message, size); 341 r = mailmbox_append_message(folder, message, size);
338 342
339 switch (r) { 343 switch (r) {
340 case MAILMBOX_ERROR_FILE: 344 case MAILMBOX_ERROR_FILE:
341 return MAIL_ERROR_DISKSPACE; 345 return MAIL_ERROR_DISKSPACE;
342 default: 346 default:
343 return mboxdriver_mbox_error_to_mail_error(r); 347 return mboxdriver_mbox_error_to_mail_error(r);
344 } 348 }
345} 349}
346 350
351static int mboxdriver_append_message_flags(mailsession * session,
352 char * message, size_t size, struct mail_flags * flags)
353{
354 return mboxdriver_append_message(session, message, size);
355}
356
347static int mboxdriver_get_messages_list(mailsession * session, 357static int mboxdriver_get_messages_list(mailsession * session,
348 struct mailmessage_list ** result) 358 struct mailmessage_list ** result)
349{ 359{
350 struct mailmbox_folder * folder; 360 struct mailmbox_folder * folder;
351 int res; 361 int res;
352 362
353 folder = get_mbox_session(session); 363 folder = get_mbox_session(session);
354 if (folder == NULL) { 364 if (folder == NULL) {
355 res = MAIL_ERROR_BAD_STATE; 365 res = MAIL_ERROR_BAD_STATE;
356 goto err; 366 goto err;
357 } 367 }
358 368