aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-disco-folder.h
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2001-05-30 01:08:53 +0800
committerDan Winship <danw@src.gnome.org>2001-05-30 01:08:53 +0800
commit11ea26d0e33405490795a766406d5e065b6b9234 (patch)
treebe249f7528c0a8b17cdd0890d40684f12eeb50e5 /camel/camel-disco-folder.h
parentefabbb93c9f61e583d835d1735834cc5bd0ce63c (diff)
downloadgsoc2013-evolution-11ea26d0e33405490795a766406d5e065b6b9234.tar.gz
gsoc2013-evolution-11ea26d0e33405490795a766406d5e065b6b9234.tar.zst
gsoc2013-evolution-11ea26d0e33405490795a766406d5e065b6b9234.zip
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
Diffstat (limited to 'camel/camel-disco-folder.h')
-rw-r--r--camel/camel-disco-folder.h47
1 files changed, 29 insertions, 18 deletions
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);