From 11ea26d0e33405490795a766406d5e065b6b9234 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Tue, 29 May 2001 17:08:53 +0000 Subject: Code for logging and replaying offline operations. * 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/camel-disco-folder.h | 47 ++++++++++++++++++++++++++++------------------ 1 file changed, 29 insertions(+), 18 deletions(-) (limited to 'camel/camel-disco-folder.h') diff --git a/camel/camel-disco-folder.h b/camel/camel-disco-folder.h index cdca5a3b52..7b0186ffc3 100644 --- a/camel/camel-disco-folder.h +++ b/camel/camel-disco-folder.h @@ -45,34 +45,45 @@ struct _CamelDiscoFolder { typedef struct { CamelFolderClass parent_class; - void (*refresh_info_online) (CamelFolder *folder, CamelException *ex); - - void (*sync_online) (CamelFolder *folder, CamelException *ex); - void (*sync_offline) (CamelFolder *folder, CamelException *ex); - - void (*expunge_uids_online) (CamelFolder *folder, GPtrArray *uids, - CamelException *ex); - void (*expunge_uids_offline) (CamelFolder *folder, GPtrArray *uids, - CamelException *ex); - - char * (*append_online) (CamelFolder *folder, - CamelMimeMessage *message, - const CamelMessageInfo *info, - CamelException *ex); - char * (*append_offline) (CamelFolder *folder, - CamelMimeMessage *message, - const CamelMessageInfo *info, - CamelException *ex); + void (*refresh_info_online) (CamelFolder *folder, CamelException *ex); + + void (*sync_online) (CamelFolder *folder, CamelException *ex); + void (*sync_offline) (CamelFolder *folder, CamelException *ex); + void (*sync_resyncing) (CamelFolder *folder, CamelException *ex); + + void (*expunge_uids_online) (CamelFolder *folder, GPtrArray *uids, + CamelException *ex); + void (*expunge_uids_offline) (CamelFolder *folder, GPtrArray *uids, + CamelException *ex); + void (*expunge_uids_resyncing) (CamelFolder *folder, GPtrArray *uids, + CamelException *ex); + + void (*append_online) (CamelFolder *folder, + CamelMimeMessage *message, + const CamelMessageInfo *info, + CamelException *ex); + void (*append_offline) (CamelFolder *folder, + CamelMimeMessage *message, + const CamelMessageInfo *info, + CamelException *ex); + void (*append_resyncing) (CamelFolder *folder, + CamelMimeMessage *message, + const CamelMessageInfo *info, + CamelException *ex); void (*copy_online) (CamelFolder *source, GPtrArray *uids, CamelFolder *destination, CamelException *ex); void (*copy_offline) (CamelFolder *source, GPtrArray *uids, CamelFolder *destination, CamelException *ex); + void (*copy_resyncing) (CamelFolder *source, GPtrArray *uids, + CamelFolder *destination, CamelException *ex); void (*move_online) (CamelFolder *source, GPtrArray *uids, CamelFolder *destination, CamelException *ex); void (*move_offline) (CamelFolder *source, GPtrArray *uids, CamelFolder *destination, CamelException *ex); + void (*move_resyncing) (CamelFolder *source, GPtrArray *uids, + CamelFolder *destination, CamelException *ex); void (*cache_message) (CamelDiscoFolder *disco_folder, const char *uid, CamelException *ex); -- cgit v1.2.3