aboutsummaryrefslogtreecommitdiffstats
path: root/em-format/e-mail-extension-registry.h
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2012-12-08 05:30:18 +0800
committerMatthew Barnes <mbarnes@redhat.com>2012-12-08 06:40:28 +0800
commitbf30024dd7973006bf99d0ae509a7f0022368a41 (patch)
treed6ce797885082ba6ee3878db5054bdbaa6d691f4 /em-format/e-mail-extension-registry.h
parent7c656866a2a3cf9110a8db5d57a156638c8c3fe0 (diff)
downloadgsoc2013-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.h9
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