aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-disco-folder.h
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2001-05-10 05:57:32 +0800
committerDan Winship <danw@src.gnome.org>2001-05-10 05:57:32 +0800
commit630241d74b1a6dede97380c8ed70c74641399e0f (patch)
tree2a5642e69cf0bf563cd6c26176ac80633c9c82e0 /camel/camel-disco-folder.h
parentc76080568db894f538f5b4d89293295b29fcc214 (diff)
downloadgsoc2013-evolution-630241d74b1a6dede97380c8ed70c74641399e0f.tar.gz
gsoc2013-evolution-630241d74b1a6dede97380c8ed70c74641399e0f.tar.zst
gsoc2013-evolution-630241d74b1a6dede97380c8ed70c74641399e0f.zip
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
Diffstat (limited to 'camel/camel-disco-folder.h')
-rw-r--r--camel/camel-disco-folder.h12
1 files changed, 12 insertions, 0 deletions
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);