Set the disconnected status. (camel_disco_store_can_work_offline): Return
authorDan Winship <danw@src.gnome.org>
Wed, 9 May 2001 21:57:32 +0000 (21:57 +0000)
committerDan Winship <danw@src.gnome.org>
Wed, 9 May 2001 21:57:32 +0000 (21:57 +0000)
commite11c34828b29dea939fae284b51b5e969d5cfbcb
tree78286788ba4a1ffb6ace2d09556b214db842f739
parent27c2ea83816f91b6150905100f9f380e6aae1063
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
camel/ChangeLog
camel/camel-disco-folder.c
camel/camel-disco-folder.h
camel/camel-disco-store.c
camel/camel-disco-store.h
camel/camel-session.c
camel/camel-session.h
camel/camel.h
camel/providers/imap/camel-imap-folder.c
camel/providers/imap/camel-imap-store.c