diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2009-08-29 08:21:54 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2009-08-30 05:23:20 +0800 |
commit | 32f545cdf031ebe3718791f18e8fb6b6141fd081 (patch) | |
tree | 980723161c32da855ca91b135318d7fa67dc18c7 /plugins/bogo-junk-plugin | |
parent | e8382099228d46ebef684c5384bab6ec710283ce (diff) | |
download | gsoc2013-evolution-32f545cdf031ebe3718791f18e8fb6b6141fd081.tar gsoc2013-evolution-32f545cdf031ebe3718791f18e8fb6b6141fd081.tar.gz gsoc2013-evolution-32f545cdf031ebe3718791f18e8fb6b6141fd081.tar.bz2 gsoc2013-evolution-32f545cdf031ebe3718791f18e8fb6b6141fd081.tar.lz gsoc2013-evolution-32f545cdf031ebe3718791f18e8fb6b6141fd081.tar.xz gsoc2013-evolution-32f545cdf031ebe3718791f18e8fb6b6141fd081.tar.zst gsoc2013-evolution-32f545cdf031ebe3718791f18e8fb6b6141fd081.zip |
Simplify EPlugin loading at startup.
- Require all EPlugin and EPluginHook subtypes be registered before
loading plugins. This drastically simplifies the EPlugin/EPluginHook
negotiation.
- Turn most EPluginHook subtypes into GTypeModules and register their
types from an e_module_load() function (does not include shell hooks).
- Convert EPluginLib and the Mono and Python bindings to GTypeModules
and register their types from an e_module_load() function, and kill
EPluginTypeHook.
Diffstat (limited to 'plugins/bogo-junk-plugin')
-rw-r--r-- | plugins/bogo-junk-plugin/bf-junk-filter.c | 26 | ||||
-rw-r--r-- | plugins/bogo-junk-plugin/org-gnome-bogo-junk-plugin.eplug.xml | 13 |
2 files changed, 19 insertions, 20 deletions
diff --git a/plugins/bogo-junk-plugin/bf-junk-filter.c b/plugins/bogo-junk-plugin/bf-junk-filter.c index 3de8c30955..da384225c8 100644 --- a/plugins/bogo-junk-plugin/bf-junk-filter.c +++ b/plugins/bogo-junk-plugin/bf-junk-filter.c @@ -44,7 +44,7 @@ #include <gtk/gtk.h> #include <e-util/e-plugin.h> #include "mail/em-config.h" -#include <mail/em-junk-hook.h> +#include <mail/em-junk.h> #include <camel/camel-data-wrapper.h> #include <camel/camel-mime-message.h> #include <camel/camel-mime-parser.h> @@ -70,15 +70,15 @@ static const gchar em_junk_bf_gconf_dir[] = EM_JUNK_BF_GCONF_DIR; GtkWidget * org_gnome_bogo_convert_unicode (struct _EPlugin *epl, struct _EConfigHookItemFactoryData *data); /* plugin fonction prototypes */ -gboolean em_junk_bf_check_junk (EPlugin *ep, EMJunkHookTarget *target); -gpointer em_junk_bf_validate_binary (EPlugin *ep, EMJunkHookTarget *target); -void em_junk_bf_report_junk (EPlugin *ep, EMJunkHookTarget *target); -void em_junk_bf_report_non_junk (EPlugin *ep, EMJunkHookTarget *target); -void em_junk_bf_commit_reports (EPlugin *ep, EMJunkHookTarget *target); +gboolean em_junk_bf_check_junk (EPlugin *ep, EMJunkTarget *target); +gpointer em_junk_bf_validate_binary (EPlugin *ep, EMJunkTarget *target); +void em_junk_bf_report_junk (EPlugin *ep, EMJunkTarget *target); +void em_junk_bf_report_non_junk (EPlugin *ep, EMJunkTarget *target); +void em_junk_bf_commit_reports (EPlugin *ep, EMJunkTarget *target); static gint pipe_to_bogofilter (CamelMimeMessage *msg, const gchar **argv, GError **error); /* eplugin stuff */ -gint e_plugin_lib_enable (EPluginLib *ep, gint enable); +gint e_plugin_lib_enable (EPlugin *ep, gint enable); #define EM_JUNK_BF_GCONF_DIR_LENGTH (G_N_ELEMENTS (em_junk_bf_gconf_dir) - 1) @@ -241,7 +241,7 @@ em_junk_bf_setting_notify (GConfClient *gconf, } gboolean -em_junk_bf_check_junk (EPlugin *ep, EMJunkHookTarget *target) +em_junk_bf_check_junk (EPlugin *ep, EMJunkTarget *target) { CamelMimeMessage *msg = target->m; gint rv; @@ -266,7 +266,7 @@ em_junk_bf_check_junk (EPlugin *ep, EMJunkHookTarget *target) } void -em_junk_bf_report_junk (EPlugin *ep, EMJunkHookTarget *target) +em_junk_bf_report_junk (EPlugin *ep, EMJunkTarget *target) { CamelMimeMessage *msg = target->m; @@ -287,7 +287,7 @@ em_junk_bf_report_junk (EPlugin *ep, EMJunkHookTarget *target) } void -em_junk_bf_report_non_junk (EPlugin *ep, EMJunkHookTarget *target) +em_junk_bf_report_non_junk (EPlugin *ep, EMJunkTarget *target) { CamelMimeMessage *msg = target->m; @@ -308,18 +308,18 @@ em_junk_bf_report_non_junk (EPlugin *ep, EMJunkHookTarget *target) } void -em_junk_bf_commit_reports (EPlugin *ep, EMJunkHookTarget *target) +em_junk_bf_commit_reports (EPlugin *ep, EMJunkTarget *target) { } gpointer -em_junk_bf_validate_binary (EPlugin *ep, EMJunkHookTarget *target) +em_junk_bf_validate_binary (EPlugin *ep, EMJunkTarget *target) { return g_file_test (em_junk_bf_binary, G_FILE_TEST_EXISTS) ? (gpointer) "1" : NULL; } gint -e_plugin_lib_enable (EPluginLib *ep, gint enable) +e_plugin_lib_enable (EPlugin *ep, gint enable) { GConfClient *gconf; diff --git a/plugins/bogo-junk-plugin/org-gnome-bogo-junk-plugin.eplug.xml b/plugins/bogo-junk-plugin/org-gnome-bogo-junk-plugin.eplug.xml index e1d8cc83a0..1317b988d9 100644 --- a/plugins/bogo-junk-plugin/org-gnome-bogo-junk-plugin.eplug.xml +++ b/plugins/bogo-junk-plugin/org-gnome-bogo-junk-plugin.eplug.xml @@ -7,13 +7,12 @@ <_description>Filter junk messages using Bogofilter.</_description> <author name="Mikhail Zabaluev" email="mhz@altlinux.org"/> <hook class="org.gnome.evolution.mail.junk:1.0"> - <group id="EMJunk" > - <item name="Bogofilter" report_non_junk="em_junk_bf_report_non_junk" - report_junk="em_junk_bf_report_junk" - check_junk="em_junk_bf_check_junk" - commit_reports="em_junk_bf_commit_reports" - validate_binary="em_junk_bf_validate_binary"/> - </group> + <interface name="Bogofilter" + report_non_junk="em_junk_bf_report_non_junk" + report_junk="em_junk_bf_report_junk" + check_junk="em_junk_bf_check_junk" + commit_reports="em_junk_bf_commit_reports" + validate_binary="em_junk_bf_validate_binary"/> </hook> <!-- hook into the 'mail properties' menu --> <hook class="org.gnome.evolution.mail.config:1.0"> |