From 2b7bb054f06797c93e0b82dd78e1a2c0b6ad9659 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Wed, 26 Oct 2011 12:31:33 -0400 Subject: e-mail-store.c: Take EMailSession instead of EMailBackend. My apologies for flip-flopping the API again. e-mail-store.c functions used to take an EMailSession, then I changed it to take an EMailBackend in preparation for my account-mgmt branch. Having rethought some API decisions on the branch, however, the first flip-flop proved to be unnecessary. And now Srini needs the API to use EMailSession for his mail-factory branch, so I'm flip-flopping again. --- modules/mail/e-mail-shell-backend.c | 13 ++++++++++--- modules/mail/e-mail-shell-view-actions.c | 8 ++++++-- modules/mail/em-account-prefs.c | 15 +++++++++++---- 3 files changed, 27 insertions(+), 9 deletions(-) (limited to 'modules/mail') diff --git a/modules/mail/e-mail-shell-backend.c b/modules/mail/e-mail-shell-backend.c index ba812c1440..ce563124c6 100644 --- a/modules/mail/e-mail-shell-backend.c +++ b/modules/mail/e-mail-shell-backend.c @@ -234,6 +234,8 @@ mail_shell_backend_mail_sync (EMailShellBackend *mail_shell_backend) { EShell *shell; EShellBackend *shell_backend; + EMailBackend *backend; + EMailSession *session; shell_backend = E_SHELL_BACKEND (mail_shell_backend); shell = e_shell_backend_get_shell (shell_backend); @@ -246,9 +248,12 @@ mail_shell_backend_mail_sync (EMailShellBackend *mail_shell_backend) if (mail_shell_backend->priv->mail_sync_in_progress) goto exit; + backend = E_MAIL_BACKEND (mail_shell_backend); + session = e_mail_backend_get_session (backend); + e_mail_store_foreach ( - E_MAIL_BACKEND (mail_shell_backend), - (GFunc) mail_shell_backend_sync_store_cb, + session, (GFunc) + mail_shell_backend_sync_store_cb, mail_shell_backend); exit: @@ -442,6 +447,7 @@ mail_shell_backend_start (EShellBackend *shell_backend) EShell *shell; EShellSettings *shell_settings; EMailBackend *backend; + EMailSession *session; gboolean enable_search_folders; const gchar *data_dir; @@ -451,9 +457,10 @@ mail_shell_backend_start (EShellBackend *shell_backend) shell_settings = e_shell_get_shell_settings (shell); backend = E_MAIL_BACKEND (shell_backend); + session = e_mail_backend_get_session (backend); data_dir = e_shell_backend_get_data_dir (shell_backend); - e_mail_store_init (backend, data_dir); + e_mail_store_init (session, data_dir); enable_search_folders = e_shell_settings_get_boolean ( shell_settings, "mail-enable-search-folders"); diff --git a/modules/mail/e-mail-shell-view-actions.c b/modules/mail/e-mail-shell-view-actions.c index 6d9b3a4252..f752506306 100644 --- a/modules/mail/e-mail-shell-view-actions.c +++ b/modules/mail/e-mail-shell-view-actions.c @@ -85,6 +85,7 @@ action_mail_account_disable_cb (GtkAction *action, EShellBackend *shell_backend; EShellView *shell_view; EMailBackend *backend; + EMailSession *session; EMFolderTree *folder_tree; CamelService *service; CamelStore *store; @@ -98,6 +99,7 @@ action_mail_account_disable_cb (GtkAction *action, shell_backend = e_shell_view_get_shell_backend (shell_view); backend = E_MAIL_BACKEND (shell_backend); + session = e_mail_backend_get_session (backend); folder_tree = e_mail_shell_sidebar_get_folder_tree (mail_shell_sidebar); store = em_folder_tree_get_selected_store (folder_tree); @@ -115,7 +117,7 @@ action_mail_account_disable_cb (GtkAction *action, account->enabled = !account->enabled; e_account_list_change (account_list, account); - e_mail_store_remove_by_account (backend, account); + e_mail_store_remove_by_account (session, account); if (account->parent_uid != NULL) e_account_list_remove (account_list, account); @@ -225,15 +227,17 @@ action_mail_download_cb (GtkAction *action, EMailView *mail_view; EMailReader *reader; EMailBackend *backend; + EMailSession *session; mail_shell_content = mail_shell_view->priv->mail_shell_content; mail_view = e_mail_shell_content_get_mail_view (mail_shell_content); reader = E_MAIL_READER (mail_view); backend = e_mail_reader_get_backend (reader); + session = e_mail_backend_get_session (backend); e_mail_store_foreach ( - backend, (GFunc) action_mail_download_foreach_cb, reader); + session, (GFunc) action_mail_download_foreach_cb, reader); } static void diff --git a/modules/mail/em-account-prefs.c b/modules/mail/em-account-prefs.c index 0dc93bea1f..ddf51d815e 100644 --- a/modules/mail/em-account-prefs.c +++ b/modules/mail/em-account-prefs.c @@ -98,6 +98,7 @@ account_prefs_enable_account_cb (EAccountTreeView *tree_view, EMAccountPrefs *prefs) { EAccount *account; + EMailSession *session; account = e_account_tree_view_get_selected (tree_view); if (!account) { @@ -107,7 +108,8 @@ account_prefs_enable_account_cb (EAccountTreeView *tree_view, g_return_if_fail (account != NULL); - e_mail_store_add_by_account (prefs->priv->backend, account); + session = e_mail_backend_get_session (prefs->priv->backend); + e_mail_store_add_by_account (session, account); } static void @@ -116,6 +118,7 @@ account_prefs_disable_account_cb (EAccountTreeView *tree_view, { EAccountList *account_list; EAccount *account; + EMailSession *session; gpointer parent; gint response; @@ -127,11 +130,13 @@ account_prefs_disable_account_cb (EAccountTreeView *tree_view, g_return_if_fail (account != NULL); + session = e_mail_backend_get_session (prefs->priv->backend); + account_list = e_account_tree_view_get_account_list (tree_view); g_return_if_fail (account_list != NULL); if (!e_account_list_account_has_proxies (account_list, account)) { - e_mail_store_remove_by_account (prefs->priv->backend, account); + e_mail_store_remove_by_account (session, account); return; } @@ -148,7 +153,7 @@ account_prefs_disable_account_cb (EAccountTreeView *tree_view, e_account_list_remove_account_proxies (account_list, account); - e_mail_store_remove_by_account (prefs->priv->backend, account); + e_mail_store_remove_by_account (session, account); } static void @@ -321,11 +326,13 @@ account_prefs_delete_account (EAccountManager *manager) EAccountTreeView *tree_view; EAccountList *account_list; EAccount *account; + EMailSession *session; gboolean has_proxies; gpointer parent; gint response; priv = EM_ACCOUNT_PREFS (manager)->priv; + session = e_mail_backend_get_session (priv->backend); account_list = e_account_manager_get_account_list (manager); tree_view = e_account_manager_get_tree_view (manager); @@ -354,7 +361,7 @@ account_prefs_delete_account (EAccountManager *manager) /* Remove the account from the folder tree. */ if (account->enabled) - e_mail_store_remove_by_account (priv->backend, account); + e_mail_store_remove_by_account (session, account); /* Remove all the proxies the account has created. */ if (has_proxies) -- cgit v1.2.3