summaryrefslogtreecommitdiffabout
path: root/kmicromail/libetpan/generic/imapdriver_cached.c
Unidiff
Diffstat (limited to 'kmicromail/libetpan/generic/imapdriver_cached.c') (more/less context) (show whitespace changes)
-rw-r--r--kmicromail/libetpan/generic/imapdriver_cached.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/kmicromail/libetpan/generic/imapdriver_cached.c b/kmicromail/libetpan/generic/imapdriver_cached.c
index e6af8e8..04044ae 100644
--- a/kmicromail/libetpan/generic/imapdriver_cached.c
+++ b/kmicromail/libetpan/generic/imapdriver_cached.c
@@ -102,12 +102,14 @@ static int imapdriver_cached_lsub_folders(mailsession * session, char * mb,
102static int imapdriver_cached_subscribe_folder(mailsession * session, 102static int imapdriver_cached_subscribe_folder(mailsession * session,
103 char * mb); 103 char * mb);
104static int imapdriver_cached_unsubscribe_folder(mailsession * session, 104static int imapdriver_cached_unsubscribe_folder(mailsession * session,
105 char * mb); 105 char * mb);
106static int imapdriver_cached_append_message(mailsession * session, 106static int imapdriver_cached_append_message(mailsession * session,
107 char * message, size_t size); 107 char * message, size_t size);
108static int imapdriver_cached_append_message_flags(mailsession * session,
109 char * message, size_t size, struct mail_flags * flags);
108static int imapdriver_cached_copy_message(mailsession * session, 110static int imapdriver_cached_copy_message(mailsession * session,
109 uint32_t num, char * mb); 111 uint32_t num, char * mb);
110 112
111static int imapdriver_cached_get_messages_list(mailsession * session, 113static int imapdriver_cached_get_messages_list(mailsession * session,
112 struct mailmessage_list ** 114 struct mailmessage_list **
113 result); 115 result);
@@ -162,12 +164,13 @@ static mailsession_driver local_imap_cached_session_driver = {
162 .sess_list_folders = imapdriver_cached_list_folders, 164 .sess_list_folders = imapdriver_cached_list_folders,
163 .sess_lsub_folders = imapdriver_cached_lsub_folders, 165 .sess_lsub_folders = imapdriver_cached_lsub_folders,
164 .sess_subscribe_folder = imapdriver_cached_subscribe_folder, 166 .sess_subscribe_folder = imapdriver_cached_subscribe_folder,
165 .sess_unsubscribe_folder = imapdriver_cached_unsubscribe_folder, 167 .sess_unsubscribe_folder = imapdriver_cached_unsubscribe_folder,
166 168
167 .sess_append_message = imapdriver_cached_append_message, 169 .sess_append_message = imapdriver_cached_append_message,
170 .sess_append_message_flags = imapdriver_cached_append_message_flags,
168 .sess_copy_message = imapdriver_cached_copy_message, 171 .sess_copy_message = imapdriver_cached_copy_message,
169 .sess_move_message = NULL, 172 .sess_move_message = NULL,
170 173
171 .sess_get_messages_list = imapdriver_cached_get_messages_list, 174 .sess_get_messages_list = imapdriver_cached_get_messages_list,
172 .sess_get_envelopes_list = imapdriver_cached_get_envelopes_list, 175 .sess_get_envelopes_list = imapdriver_cached_get_envelopes_list,
173 .sess_remove_message = imapdriver_cached_remove_message, 176 .sess_remove_message = imapdriver_cached_remove_message,
@@ -773,12 +776,25 @@ static int imapdriver_cached_append_message(mailsession * session,
773 776
774 check_for_uid_cache(session); 777 check_for_uid_cache(session);
775 778
776 return r; 779 return r;
777} 780}
778 781
782static int imapdriver_cached_append_message_flags(mailsession * session,
783 char * message, size_t size, struct mail_flags * flags)
784{
785 int r;
786
787 r = mailsession_append_message_flags(get_ancestor(session),
788 message, size, flags);
789
790 check_for_uid_cache(session);
791
792 return r;
793}
794
779static int imapdriver_cached_copy_message(mailsession * session, 795static int imapdriver_cached_copy_message(mailsession * session,
780 uint32_t num, char * mb) 796 uint32_t num, char * mb)
781{ 797{
782 int r; 798 int r;
783 799
784 r = mailsession_copy_message(get_ancestor(session), num, mb); 800 r = mailsession_copy_message(get_ancestor(session), num, mb);