From 630241d74b1a6dede97380c8ed70c74641399e0f Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Wed, 9 May 2001 21:57:32 +0000 Subject: Set the disconnected status. (camel_disco_store_can_work_offline): Return * camel-disco-store.c (camel_disco_set_status): Set the disconnected status. (camel_disco_store_can_work_offline): Return whether or not a given CamelDiscoStore can work offline or not. * camel-disco-folder.c (camel_disco_folder_cache_message): Explicitly tell a folder to cache a message. (Better than using get_message, because for IMAP that doesn't guarantee you'll get all the message parts.) (camel_disco_folder_prepare_for_offline): Prepare a folder for offline use by caching all messages meeting given search criteria (and doing anything else the particular folder implementation needs). * camel-session.c (camel_session_set_online, camel_session_is_online): A session-wide online/offline toggle. (camel_session_init): Set online to TRUE. * providers/imap/camel-imap-store.c (can_work_offline): Implementation of CamelDiscoStore::can_work_offline. (Checks that the store has been used online at least once.) (imap_get_folder_online, imap_get_folder_offline): Deal with request for "inbox" properly. ("Don't you mean... 'INBOX'?"). * providers/imap/camel-imap-folder.c (imap_cache_message): Implementation of CamelDiscoFolder::cache_message. * camel.h: Add camel-disco-store.h and camel-disco-folder.h svn path=/trunk/; revision=9738 --- camel/camel-disco-folder.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'camel/camel-disco-folder.h') diff --git a/camel/camel-disco-folder.h b/camel/camel-disco-folder.h index 23e9d24923..cdca5a3b52 100644 --- a/camel/camel-disco-folder.h +++ b/camel/camel-disco-folder.h @@ -74,6 +74,12 @@ typedef struct { void (*move_offline) (CamelFolder *source, GPtrArray *uids, CamelFolder *destination, CamelException *ex); + void (*cache_message) (CamelDiscoFolder *disco_folder, + const char *uid, CamelException *ex); + void (*prepare_for_offline) (CamelDiscoFolder *disco_folder, + const char *expression, + CamelException *ex); + void (*update_uid) (CamelFolder *folder, const char *old_uid, const char *new_uid); } CamelDiscoFolderClass; @@ -83,6 +89,12 @@ typedef struct { void camel_disco_folder_expunge_uids (CamelFolder *folder, GPtrArray *uids, CamelException *ex); +void camel_disco_folder_cache_message (CamelDiscoFolder *disco_folder, + const char *uid, + CamelException *ex); +void camel_disco_folder_prepare_for_offline (CamelDiscoFolder *disco_folder, + const char *expression, + CamelException *ex); /* Standard Camel function */ CamelType camel_disco_folder_get_type (void); -- cgit v1.2.3