diff options
Diffstat (limited to 'modules/itip-formatter/e-mail-parser-itip.c')
-rw-r--r-- | modules/itip-formatter/e-mail-parser-itip.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/modules/itip-formatter/e-mail-parser-itip.c b/modules/itip-formatter/e-mail-parser-itip.c index 9e5ff46e45..5d2cb458f1 100644 --- a/modules/itip-formatter/e-mail-parser-itip.c +++ b/modules/itip-formatter/e-mail-parser-itip.c @@ -50,12 +50,18 @@ typedef EExtension EMailParserItipLoader; typedef EExtensionClass EMailParserItipLoaderClass; GType e_mail_parser_itip_get_type (void); +GType e_mail_parser_itip_loader_get_type (void); G_DEFINE_DYNAMIC_TYPE ( EMailParserItip, e_mail_parser_itip, E_TYPE_MAIL_PARSER_EXTENSION) +G_DEFINE_DYNAMIC_TYPE ( + EMailParserItipLoader, + e_mail_parser_itip_loader, + E_TYPE_EXTENSION) + static const gchar *parser_mime_types[] = { "text/calendar", "application/ics", @@ -259,9 +265,44 @@ e_mail_parser_itip_init (EMailParserExtension *class) { } +static void +mail_parser_itip_loader_constructed (GObject *object) +{ + EExtensible *extensible; + + extensible = e_extension_get_extensible (E_EXTENSION (object)); + + e_mail_extension_registry_add_extension ( + E_MAIL_EXTENSION_REGISTRY (extensible), + parser_mime_types, + e_mail_parser_itip_get_type ()); +} + +static void +e_mail_parser_itip_loader_class_init (EExtensionClass *class) +{ + GObjectClass *object_class; + + object_class = G_OBJECT_CLASS (class); + object_class->constructed = mail_parser_itip_loader_constructed; + + class->extensible_type = E_TYPE_MAIL_PARSER_EXTENSION_REGISTRY; +} + +static void +e_mail_parser_itip_loader_class_finalize (EExtensionClass *class) +{ +} + +static void +e_mail_parser_itip_loader_init (EExtension *extension) +{ +} + void e_mail_parser_itip_type_register (GTypeModule *type_module) { e_mail_parser_itip_register_type (type_module); + e_mail_parser_itip_loader_register_type (type_module); } |