| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* camel-disco-diary.c: Code for logging and replaying offline
operations.
* camel-disco-store.c (disco_construct): Set disco->status here
(where we can base it on the session's offline status) rather than
at init time.
(disco_connect): If we connect online and have a non-empty diary,
switch to RESYNCING mode and replay the diary to the server.
(disco_get_folder, disco_get_folder_info): Add _resyncing
variants.
* camel-disco-folder.c (disco_sync, disco_expunge_uids,
disco_append_message, disco_copy_messages_to,
disco_move_messages_to): Add _resyncing variants to switches.
(disco_expunge_uids, disco_append_message, disco_copy_messages_to,
disco_move_messages_to): Remove #ifdef'ed out diary code: let the
provider do it.
(disco_append_message): Redo the append methods to no longer
return the UID, since we're no longer doing the logging from here.
svn path=/trunk/; revision=10040
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
| |
* providers/imap/camel-imap-store.c (get_folder_online): Fix up
refcounting on current_folder.
* camel-disco-folder.c, camel-disco-store.h: Remove
CamelDiscoDiary refs that weren't supposed to escape yet.
svn path=/trunk/; revision=9667
|
|
* camel-disco-store.c: new abstract class for disconnectable
remote stores
* camel-disco-folder.c: new abstract class for folders on
disconnectable stores.
* Makefile.am: Add camel-disco-folder.[ch] and
camel-disco-store.[ch].
* providers/imap/camel-imap-store.c: Make this a subclass of
CamelDiscoStore, and fix up the offline interfaces for the changes
since they were first written (particularly the fact that some
IMAP stores don't just use subscribed folders).
* providers/imap/camel-imap-folder.c: Make this a subclass of
CamelDiscoFolder, although most ops still fail in disconnected
mode.
* camel-store.c (camel_store_get_folder_info): Change gboolean,
gboolean, gboolean to guint32 in the prototype for this function.
* providers/local/camel-local-store.c (get_folder_info): Update
for prototype change.
svn path=/trunk/; revision=9659
|