summaryrefslogtreecommitdiffabout
path: root/kmicromail/libetpan/generic/imapdriver_cached.c
Unidiff
Diffstat (limited to 'kmicromail/libetpan/generic/imapdriver_cached.c') (more/less context) (ignore 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
@@ -96,24 +96,26 @@ static int imapdriver_cached_recent_number(mailsession * session, char * mb,
96static int imapdriver_cached_unseen_number(mailsession * session, char * mb, 96static int imapdriver_cached_unseen_number(mailsession * session, char * mb,
97 uint32_t * result); 97 uint32_t * result);
98static int imapdriver_cached_list_folders(mailsession * session, char * mb, 98static int imapdriver_cached_list_folders(mailsession * session, char * mb,
99 struct mail_list ** result); 99 struct mail_list ** result);
100static int imapdriver_cached_lsub_folders(mailsession * session, char * mb, 100static int imapdriver_cached_lsub_folders(mailsession * session, char * mb,
101 struct mail_list ** result); 101 struct mail_list ** result);
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);
114static int 116static int
115imapdriver_cached_get_envelopes_list(mailsession * session, 117imapdriver_cached_get_envelopes_list(mailsession * session,
116 struct mailmessage_list * env_list); 118 struct mailmessage_list * env_list);
117static int imapdriver_cached_remove_message(mailsession * session, 119static int imapdriver_cached_remove_message(mailsession * session,
118 uint32_t num); 120 uint32_t num);
119 121
@@ -156,24 +158,25 @@ static mailsession_driver local_imap_cached_session_driver = {
156 .sess_select_folder = imapdriver_cached_select_folder, 158 .sess_select_folder = imapdriver_cached_select_folder,
157 .sess_expunge_folder = imapdriver_cached_expunge_folder, 159 .sess_expunge_folder = imapdriver_cached_expunge_folder,
158 .sess_status_folder = imapdriver_cached_status_folder, 160 .sess_status_folder = imapdriver_cached_status_folder,
159 .sess_messages_number = imapdriver_cached_messages_number, 161 .sess_messages_number = imapdriver_cached_messages_number,
160 .sess_recent_number = imapdriver_cached_recent_number, 162 .sess_recent_number = imapdriver_cached_recent_number,
161 .sess_unseen_number = imapdriver_cached_unseen_number, 163 .sess_unseen_number = imapdriver_cached_unseen_number,
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,
174#if 0 177#if 0
175 .sess_search_messages = imapdriver_cached_search_messages, 178 .sess_search_messages = imapdriver_cached_search_messages,
176#endif 179#endif
177 180
178 .sess_get_message = imapdriver_cached_get_message, 181 .sess_get_message = imapdriver_cached_get_message,
179 .sess_get_message_by_uid = imapdriver_cached_get_message_by_uid, 182 .sess_get_message_by_uid = imapdriver_cached_get_message_by_uid,
@@ -767,24 +770,37 @@ static int imapdriver_cached_unsubscribe_folder(mailsession * session,
767static int imapdriver_cached_append_message(mailsession * session, 770static int imapdriver_cached_append_message(mailsession * session,
768 char * message, size_t size) 771 char * message, size_t size)
769{ 772{
770 int r; 773 int r;
771 774
772 r = mailsession_append_message(get_ancestor(session), message, size); 775 r = mailsession_append_message(get_ancestor(session), message, size);
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);
785 801
786 check_for_uid_cache(session); 802 check_for_uid_cache(session);
787 803
788 return r; 804 return r;
789} 805}
790 806