From 5effb957e90226a4c99e9f9bbbf6b27378d943c8 Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Thu, 6 Jan 2005 22:12:57 +0000 Subject: Handle the CamelOfflineStore case just like the CamelDiscoStore case. 2005-01-06 Jeffrey Stedfast * 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 --- mail/mail-ops.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'mail/mail-ops.c') 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 #include #include +#include +#include #include #include #include @@ -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) -- cgit v1.2.3