diff options
Diffstat (limited to 'modules/vcard-inline/e-mail-formatter-vcard-inline.c')
-rw-r--r-- | modules/vcard-inline/e-mail-formatter-vcard-inline.c | 79 |
1 files changed, 44 insertions, 35 deletions
diff --git a/modules/vcard-inline/e-mail-formatter-vcard-inline.c b/modules/vcard-inline/e-mail-formatter-vcard-inline.c index 7d2abfc626..8c88729455 100644 --- a/modules/vcard-inline/e-mail-formatter-vcard-inline.c +++ b/modules/vcard-inline/e-mail-formatter-vcard-inline.c @@ -36,30 +36,30 @@ #define d(x) -typedef struct _EMailFormatterVCardInline { - EExtension parent; -} EMailFormatterVCardInline; +typedef GObject EMailFormatterVCardInline; +typedef GObjectClass EMailFormatterVCardInlineClass; -typedef struct _EMailFormatterVCardInlineClass { - EExtensionClass parent_class; -} EMailFormatterVCardInlineClass; +typedef EExtension EMailFormatterVCardInlineLoader; +typedef EExtensionClass EMailFormatterVCardInlineLoaderClass; GType e_mail_formatter_vcard_inline_get_type (void); +GType e_mail_formatter_vcard_inline_loader_get_type (void); static void e_mail_formatter_formatter_extension_interface_init (EMailFormatterExtensionInterface *iface); -static void e_mail_formatter_mail_extension_interface_init (EMailExtensionInterface *iface); G_DEFINE_DYNAMIC_TYPE_EXTENDED ( EMailFormatterVCardInline, e_mail_formatter_vcard_inline, - E_TYPE_EXTENSION, + G_TYPE_OBJECT, 0, G_IMPLEMENT_INTERFACE_DYNAMIC ( - E_TYPE_MAIL_EXTENSION, - e_mail_formatter_mail_extension_interface_init) - G_IMPLEMENT_INTERFACE_DYNAMIC ( E_TYPE_MAIL_FORMATTER_EXTENSION, e_mail_formatter_formatter_extension_interface_init)); +G_DEFINE_DYNAMIC_TYPE ( + EMailFormatterVCardInlineLoader, + e_mail_formatter_vcard_inline_loader, + E_TYPE_EXTENSION) + static const gchar *formatter_mime_types[] = { "text/vcard", "text/x-vcard", @@ -212,58 +212,67 @@ emfe_vcard_inline_get_description (EMailFormatterExtension *extension) } static void -e_mail_formatter_vcard_inline_constructed (GObject *object) +e_mail_formatter_vcard_inline_class_init (EMailFormatterVCardInlineClass *class) { - EExtensible *extensible; - EMailExtensionRegistry *reg; - - extensible = e_extension_get_extensible (E_EXTENSION (object)); - reg = E_MAIL_EXTENSION_REGISTRY (extensible); - - e_mail_extension_registry_add_extension (reg, E_MAIL_EXTENSION (object)); } static void -e_mail_formatter_vcard_inline_class_init (EMailFormatterVCardInlineClass *class) +e_mail_formatter_vcard_inline_class_finalize (EMailFormatterVCardInlineClass *class) { - GObjectClass *object_class; - EExtensionClass *extension_class; - - object_class = G_OBJECT_CLASS (class); - object_class->constructed = e_mail_formatter_vcard_inline_constructed; - - extension_class = E_EXTENSION_CLASS (class); - extension_class->extensible_type = E_TYPE_MAIL_FORMATTER_EXTENSION_REGISTRY; } static void e_mail_formatter_formatter_extension_interface_init (EMailFormatterExtensionInterface *iface) { + iface->mime_types = formatter_mime_types; iface->format = emfe_vcard_inline_format; iface->get_display_name = emfe_vcard_inline_get_display_name; iface->get_description = emfe_vcard_inline_get_description; } static void -e_mail_formatter_mail_extension_interface_init (EMailExtensionInterface *iface) +e_mail_formatter_vcard_inline_init (EMailFormatterVCardInline *formatter) { - iface->mime_types = formatter_mime_types; } static void -e_mail_formatter_vcard_inline_init (EMailFormatterVCardInline *formatter) +mail_formatter_vcard_inline_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), + formatter_mime_types, + e_mail_formatter_vcard_inline_get_type ()); } -void -e_mail_formatter_vcard_inline_type_register (GTypeModule *type_module) +static void +e_mail_formatter_vcard_inline_loader_class_init (EExtensionClass *class) { - e_mail_formatter_vcard_inline_register_type (type_module); + GObjectClass *object_class; + + object_class = G_OBJECT_CLASS (class); + object_class->constructed = mail_formatter_vcard_inline_loader_constructed; + + class->extensible_type = E_TYPE_MAIL_FORMATTER_EXTENSION_REGISTRY; } static void -e_mail_formatter_vcard_inline_class_finalize (EMailFormatterVCardInlineClass *class) +e_mail_formatter_vcard_inline_loader_class_finalize (EExtensionClass *class) { +} +static void +e_mail_formatter_vcard_inline_loader_init (EExtension *extension) +{ } + +void +e_mail_formatter_vcard_inline_type_register (GTypeModule *type_module) +{ + e_mail_formatter_vcard_inline_register_type (type_module); + e_mail_formatter_vcard_inline_loader_register_type (type_module); +} + |