aboutsummaryrefslogtreecommitdiffstats
path: root/mail/e-mail-backend.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2011-08-18 10:20:50 +0800
committerMatthew Barnes <mbarnes@redhat.com>2011-08-18 10:27:46 +0800
commitef929f26973d8d5712a6962c804b1dc0b439d0a9 (patch)
tree2dec2dc401b93010d354bbf4c62bc5bf38bc8562 /mail/e-mail-backend.c
parentdd57574c0427b4571c1daac42b6ffa636a8c80c1 (diff)
downloadgsoc2013-evolution-ef929f26973d8d5712a6962c804b1dc0b439d0a9.tar
gsoc2013-evolution-ef929f26973d8d5712a6962c804b1dc0b439d0a9.tar.gz
gsoc2013-evolution-ef929f26973d8d5712a6962c804b1dc0b439d0a9.tar.bz2
gsoc2013-evolution-ef929f26973d8d5712a6962c804b1dc0b439d0a9.tar.lz
gsoc2013-evolution-ef929f26973d8d5712a6962c804b1dc0b439d0a9.tar.xz
gsoc2013-evolution-ef929f26973d8d5712a6962c804b1dc0b439d0a9.tar.zst
gsoc2013-evolution-ef929f26973d8d5712a6962c804b1dc0b439d0a9.zip
e_mail_store_foreach(): Take an EMailSession parameter.
Use camel_session_list_services() instead of the internal store table. The store table serves little purpose nowadays and could probably be removed. I'll look into that later.
Diffstat (limited to 'mail/e-mail-backend.c')
-rw-r--r--mail/e-mail-backend.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/mail/e-mail-backend.c b/mail/e-mail-backend.c
index 479b92ed59..647edf8257 100644
--- a/mail/e-mail-backend.c
+++ b/mail/e-mail-backend.c
@@ -140,7 +140,7 @@ mail_backend_prepare_for_offline_cb (EShell *shell,
}
e_mail_store_foreach (
- (GFunc) mail_store_prepare_for_offline_cb, activity);
+ session, (GFunc) mail_store_prepare_for_offline_cb, activity);
}
/* Helper for mail_backend_prepare_for_online_cb() */
@@ -166,7 +166,7 @@ mail_backend_prepare_for_online_cb (EShell *shell,
camel_session_set_online (CAMEL_SESSION (session), TRUE);
e_mail_store_foreach (
- (GFunc) mail_store_prepare_for_online_cb, activity);
+ session, (GFunc) mail_store_prepare_for_online_cb, activity);
}
/* Helper for mail_backend_prepare_for_quit_cb() */
@@ -241,6 +241,7 @@ mail_backend_prepare_for_quit_cb (EShell *shell,
EMailBackend *backend)
{
EAccountList *account_list;
+ EMailSession *session;
gboolean delete_junk;
gboolean empty_trash;
@@ -249,6 +250,8 @@ mail_backend_prepare_for_quit_cb (EShell *shell,
gboolean empty_trash;
} sync_data;
+ session = e_mail_backend_get_session (backend);
+
delete_junk = e_mail_backend_delete_junk_policy_decision (backend);
empty_trash = e_mail_backend_empty_trash_policy_decision (backend);
@@ -264,12 +267,13 @@ mail_backend_prepare_for_quit_cb (EShell *shell,
if (delete_junk)
e_mail_store_foreach (
- (GFunc) mail_backend_delete_junk, backend);
+ session, (GFunc) mail_backend_delete_junk, backend);
sync_data.activity = activity;
sync_data.empty_trash = empty_trash;
- e_mail_store_foreach ((GFunc) mail_backend_final_sync, &sync_data);
+ e_mail_store_foreach (
+ session, (GFunc) mail_backend_final_sync, &sync_data);
/* Now we poll until all activities are actually cancelled or finished.
* Reffing the activity delays quitting; the reference count