diff options
Diffstat (limited to 'camel/providers/imap/camel-imap-folder.c')
-rw-r--r-- | camel/providers/imap/camel-imap-folder.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/camel/providers/imap/camel-imap-folder.c b/camel/providers/imap/camel-imap-folder.c index d0828ccac9..852280127a 100644 --- a/camel/providers/imap/camel-imap-folder.c +++ b/camel/providers/imap/camel-imap-folder.c @@ -73,6 +73,7 @@ static void imap_sync_offline (CamelFolder *folder, CamelException *ex); static const char *imap_get_full_name (CamelFolder *folder); static void imap_expunge_uids_online (CamelFolder *folder, GPtrArray *uids, CamelException *ex); static void imap_expunge_uids_offline (CamelFolder *folder, GPtrArray *uids, CamelException *ex); +static void imap_cache_message (CamelDiscoFolder *disco_folder, const char *uid, CamelException *ex); /* message manipulation */ static CamelMimeMessage *imap_get_message (CamelFolder *folder, const gchar *uid, @@ -118,6 +119,7 @@ camel_imap_folder_class_init (CamelImapFolderClass *camel_imap_folder_class) camel_disco_folder_class->append_offline = imap_append_offline; camel_disco_folder_class->copy_online = imap_copy_online; camel_disco_folder_class->copy_offline = imap_copy_offline; + camel_disco_folder_class->cache_message = imap_cache_message; } static void @@ -1081,6 +1083,18 @@ imap_get_message (CamelFolder *folder, const char *uid, CamelException *ex) } static void +imap_cache_message (CamelDiscoFolder *disco_folder, const char *uid, + CamelException *ex) +{ + CamelImapFolder *imap_folder = CAMEL_IMAP_FOLDER (disco_folder); + CamelStream *stream; + + stream = camel_imap_folder_fetch_data (imap_folder, uid, "", FALSE, ex); + if (stream) + camel_object_unref (CAMEL_OBJECT (stream)); +} + +static void imap_update_summary (CamelFolder *folder, CamelFolderChangeInfo *changes, CamelException *ex) |