Diffstat (limited to 'kmicromail/libetpan/generic/mboxdriver.c') (more/less context) (show whitespace changes)
-rw-r--r-- | kmicromail/libetpan/generic/mboxdriver.c | 10 |
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); | |||
68 | static int mboxdriver_expunge_folder(mailsession * session); | 68 | static int mboxdriver_expunge_folder(mailsession * session); |
69 | 69 | ||
70 | static int mboxdriver_status_folder(mailsession * session, char * mb, | 70 | static 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 | ||
74 | static int mboxdriver_messages_number(mailsession * session, char * mb, | 74 | static int mboxdriver_messages_number(mailsession * session, char * mb, |
75 | uint32_t * result); | 75 | uint32_t * result); |
76 | 76 | ||
77 | static int mboxdriver_append_message(mailsession * session, | 77 | static int mboxdriver_append_message(mailsession * session, |
78 | char * message, size_t size); | 78 | char * message, size_t size); |
79 | 79 | ||
80 | static int mboxdriver_append_message_flags(mailsession * session, | ||
81 | char * message, size_t size, struct mail_flags * flags); | ||
82 | |||
80 | static int mboxdriver_get_messages_list(mailsession * session, | 83 | static int mboxdriver_get_messages_list(mailsession * session, |
81 | struct mailmessage_list ** result); | 84 | struct mailmessage_list ** result); |
82 | 85 | ||
83 | static int | 86 | static int |
84 | mboxdriver_get_envelopes_list(mailsession * session, | 87 | mboxdriver_get_envelopes_list(mailsession * session, |
85 | struct mailmessage_list * env_list); | 88 | struct mailmessage_list * env_list); |
86 | 89 | ||
87 | static int mboxdriver_remove_message(mailsession * session, uint32_t num); | 90 | static int mboxdriver_remove_message(mailsession * session, uint32_t num); |
88 | 91 | ||
89 | static int mboxdriver_get_message(mailsession * session, | 92 | static 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 | ||
351 | static 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 | |||
347 | static int mboxdriver_get_messages_list(mailsession * session, | 357 | static 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 | ||