diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2012-12-08 05:30:18 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2012-12-08 06:40:28 +0800 |
commit | bf30024dd7973006bf99d0ae509a7f0022368a41 (patch) | |
tree | d6ce797885082ba6ee3878db5054bdbaa6d691f4 /em-format/e-mail-extension-registry.h | |
parent | 7c656866a2a3cf9110a8db5d57a156638c8c3fe0 (diff) | |
download | gsoc2013-evolution-bf30024dd7973006bf99d0ae509a7f0022368a41.tar gsoc2013-evolution-bf30024dd7973006bf99d0ae509a7f0022368a41.tar.gz gsoc2013-evolution-bf30024dd7973006bf99d0ae509a7f0022368a41.tar.bz2 gsoc2013-evolution-bf30024dd7973006bf99d0ae509a7f0022368a41.tar.lz gsoc2013-evolution-bf30024dd7973006bf99d0ae509a7f0022368a41.tar.xz gsoc2013-evolution-bf30024dd7973006bf99d0ae509a7f0022368a41.tar.zst gsoc2013-evolution-bf30024dd7973006bf99d0ae509a7f0022368a41.zip |
Teach EMailExtensionRegistry to find extensions.
Now we have the following extension points in the GType hierarchy:
E_TYPE_MAIL_FORMATTER_EXTENSION
E_TYPE_MAIL_FORMATTER_PRINT_EXTENSION
E_TYPE_MAIL_FORMATTER_QUOTE_EXTENSION
E_TYPE_MAIL_PARSER_EXTENSION
A registry just needs to be given one of these extension points, and it
can use g_type_children() to find and load all registered extensions.
This eliminates e-mail-format-extensions.[ch] as well as the dynamic
loaders I added a few commits back. Dynamically loaded extensions are
now easier to register, at the cost of internal extensions being a tad
more cumbersome to register. Fair tradeoff, imo.
This also makes e_mail_extension_registry_add_extension() a private
function used only by e_mail_formatter_extension_registry_load() and
e_mail_parser_extension_registry_load().
Diffstat (limited to 'em-format/e-mail-extension-registry.h')
-rw-r--r-- | em-format/e-mail-extension-registry.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/em-format/e-mail-extension-registry.h b/em-format/e-mail-extension-registry.h index 21011ef286..7002eb0385 100644 --- a/em-format/e-mail-extension-registry.h +++ b/em-format/e-mail-extension-registry.h @@ -57,10 +57,6 @@ struct _EMailExtensionRegistryClass { GType e_mail_extension_registry_get_type (void) G_GNUC_CONST; -void e_mail_extension_registry_add_extension - (EMailExtensionRegistry *registry, - const gchar **mime_types, - GType extension_type); GQueue * e_mail_extension_registry_get_for_mime_type (EMailExtensionRegistry *registry, const gchar *mime_type); @@ -108,6 +104,8 @@ struct _EMailParserExtensionRegistryClass { GType e_mail_parser_extension_registry_get_type (void) G_GNUC_CONST; +void e_mail_parser_extension_registry_load + (EMailParserExtensionRegistry *registry); G_END_DECLS @@ -149,6 +147,9 @@ struct _EMailFormatterExtensionRegistryClass { GType e_mail_formatter_extension_registry_get_type (void) G_GNUC_CONST; +void e_mail_formatter_extension_registry_load + (EMailFormatterExtensionRegistry *registry, + GType base_extension_type); G_END_DECLS |