Diffstat (limited to 'kmicromail/libetpan/generic/imapdriver_cached.c') (more/less context) (ignore whitespace changes)
-rw-r--r-- | kmicromail/libetpan/generic/imapdriver_cached.c | 16 |
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, | |||
96 | static int imapdriver_cached_unseen_number(mailsession * session, char * mb, | 96 | static int imapdriver_cached_unseen_number(mailsession * session, char * mb, |
97 | uint32_t * result); | 97 | uint32_t * result); |
98 | static int imapdriver_cached_list_folders(mailsession * session, char * mb, | 98 | static int imapdriver_cached_list_folders(mailsession * session, char * mb, |
99 | struct mail_list ** result); | 99 | struct mail_list ** result); |
100 | static int imapdriver_cached_lsub_folders(mailsession * session, char * mb, | 100 | static int imapdriver_cached_lsub_folders(mailsession * session, char * mb, |
101 | struct mail_list ** result); | 101 | struct mail_list ** result); |
102 | static int imapdriver_cached_subscribe_folder(mailsession * session, | 102 | static int imapdriver_cached_subscribe_folder(mailsession * session, |
103 | char * mb); | 103 | char * mb); |
104 | static int imapdriver_cached_unsubscribe_folder(mailsession * session, | 104 | static int imapdriver_cached_unsubscribe_folder(mailsession * session, |
105 | char * mb); | 105 | char * mb); |
106 | static int imapdriver_cached_append_message(mailsession * session, | 106 | static int imapdriver_cached_append_message(mailsession * session, |
107 | char * message, size_t size); | 107 | char * message, size_t size); |
108 | static int imapdriver_cached_append_message_flags(mailsession * session, | ||
109 | char * message, size_t size, struct mail_flags * flags); | ||
108 | static int imapdriver_cached_copy_message(mailsession * session, | 110 | static int imapdriver_cached_copy_message(mailsession * session, |
109 | uint32_t num, char * mb); | 111 | uint32_t num, char * mb); |
110 | 112 | ||
111 | static int imapdriver_cached_get_messages_list(mailsession * session, | 113 | static int imapdriver_cached_get_messages_list(mailsession * session, |
112 | struct mailmessage_list ** | 114 | struct mailmessage_list ** |
113 | result); | 115 | result); |
114 | static int | 116 | static int |
115 | imapdriver_cached_get_envelopes_list(mailsession * session, | 117 | imapdriver_cached_get_envelopes_list(mailsession * session, |
116 | struct mailmessage_list * env_list); | 118 | struct mailmessage_list * env_list); |
117 | static int imapdriver_cached_remove_message(mailsession * session, | 119 | static 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, | |||
767 | static int imapdriver_cached_append_message(mailsession * session, | 770 | static 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 | ||
782 | static 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 | |||
779 | static int imapdriver_cached_copy_message(mailsession * session, | 795 | static 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 | ||