diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2010-10-07 11:38:52 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2010-10-13 01:58:59 +0800 |
commit | a06e4484b8df804124b5bcf88d94dec5acfba270 (patch) | |
tree | 4fa42793d7dc461f2b3767296d76592182c48222 /modules/mail/e-mail-junk-hook.c | |
parent | 5e0758bb6934a7859b1d8a247c8fb21c156772cf (diff) | |
download | gsoc2013-evolution-a06e4484b8df804124b5bcf88d94dec5acfba270.tar.gz gsoc2013-evolution-a06e4484b8df804124b5bcf88d94dec5acfba270.tar.zst gsoc2013-evolution-a06e4484b8df804124b5bcf88d94dec5acfba270.zip |
Give MailSession a permanent home.
Global variables in shared libraries are a bad idea. EMailBackend now
owns the MailSession instance, which is actually now EMailSession.
Move the blocking utility functions in mail-tools.c to e-mail-session.c
and add asynchronous variants. Same approach as Camel.
Replace EMailReader.get_shell_backend() with EMailReader.get_backend(),
which returns an EMailBackend. Easier access to the EMailSession.
Diffstat (limited to 'modules/mail/e-mail-junk-hook.c')
-rw-r--r-- | modules/mail/e-mail-junk-hook.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/modules/mail/e-mail-junk-hook.c b/modules/mail/e-mail-junk-hook.c index ae87df1b30..ac88f1ea4c 100644 --- a/modules/mail/e-mail-junk-hook.c +++ b/modules/mail/e-mail-junk-hook.c @@ -28,7 +28,7 @@ #include "mail/em-junk.h" #include "mail/em-utils.h" -#include "mail/mail-session.h" +#include "mail/e-mail-session.h" #define E_MAIL_JUNK_HOOK_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE \ @@ -209,6 +209,10 @@ mail_junk_hook_construct (EPluginHook *hook, xmlNodePtr node) { EMailJunkHookPrivate *priv; + EShell *shell; + EShellBackend *shell_backend; + EMailBackend *backend; + EMailSession *session; gchar *property; priv = E_MAIL_JUNK_HOOK_GET_PRIVATE (hook); @@ -258,8 +262,15 @@ mail_junk_hook_construct (EPluginHook *hook, if (priv->interface.commit_reports == NULL) return -1; + shell = e_shell_get_default (); + shell_backend = e_shell_get_backend_by_name (shell, "mail"); + + backend = E_MAIL_BACKEND (shell_backend); + session = e_mail_backend_get_session (backend); + mail_session_add_junk_plugin ( - priv->interface.plugin_name, &priv->interface.camel); + session, priv->interface.plugin_name, + &priv->interface.camel); return 0; } |