aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-ops.c
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@novell.com>2005-01-07 06:12:57 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2005-01-07 06:12:57 +0800
commit5effb957e90226a4c99e9f9bbbf6b27378d943c8 (patch)
tree3e13d2c695953472661b536ff24334ebbdcceb61 /mail/mail-ops.c
parent2c781417e6356ca0b5ce223ef2e3297b52396fea (diff)
downloadgsoc2013-evolution-5effb957e90226a4c99e9f9bbbf6b27378d943c8.tar.gz
gsoc2013-evolution-5effb957e90226a4c99e9f9bbbf6b27378d943c8.tar.zst
gsoc2013-evolution-5effb957e90226a4c99e9f9bbbf6b27378d943c8.zip
Handle the CamelOfflineStore case just like the CamelDiscoStore case.
2005-01-06 Jeffrey Stedfast <fejj@novell.com> * mail-folder-cache.c (mail_note_store): Handle the CamelOfflineStore case just like the CamelDiscoStore case. * mail-ops.c (prep_offline_do): Since we can't kill off CamelDisco* (groupwise is using it), we have to handle both CamelOfflineFolder and CamelDiscoFolder for now. (set_offline_do): Same. svn path=/trunk/; revision=28256
Diffstat (limited to 'mail/mail-ops.c')
-rw-r--r--mail/mail-ops.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/mail/mail-ops.c b/mail/mail-ops.c
index 1d7c7b710d..76fe6a5533 100644
--- a/mail/mail-ops.c
+++ b/mail/mail-ops.c
@@ -42,6 +42,8 @@
#include <camel/camel-stream-filter.h>
#include <camel/camel-stream-fs.h>
#include <camel/camel-mime-filter-charset.h>
+#include <camel/camel-offline-folder.h>
+#include <camel/camel-offline-store.h>
#include <camel/camel-disco-folder.h>
#include <camel/camel-disco-store.h>
#include <camel/camel-operation.h>
@@ -2107,6 +2109,8 @@ static void prep_offline_do(struct _mail_msg *mm)
camel_disco_folder_prepare_for_offline((CamelDiscoFolder *)folder,
"(match-all)",
&mm->ex);
+ } else if (CAMEL_IS_OFFLINE_FOLDER (folder)) {
+ camel_offline_folder_downsync ((CamelOfflineFolder *) folder, "(match-all)", &mm->ex);
}
/* prepare_for_offline should do this? */
/* of course it should all be atomic, but ... */
@@ -2200,6 +2204,18 @@ static void set_offline_do(struct _mail_msg *mm)
&mm->ex);
return;
}
+ } else if (CAMEL_IS_OFFLINE_STORE (m->store)) {
+ if (!m->offline) {
+ camel_offline_store_set_network_state (CAMEL_OFFLINE_STORE (m->store),
+ CAMEL_OFFLINE_STORE_NETWORK_AVAIL,
+ &mm->ex);
+ return;
+ } else {
+ camel_offline_store_set_network_state (CAMEL_OFFLINE_STORE (m->store),
+ CAMEL_OFFLINE_STORE_NETWORK_UNAVAIL,
+ &mm->ex);
+ return;
+ }
}
if (m->offline)