From 00b211b0f515d6b6d9147c1ca568d0c4b42af699 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Fri, 7 Dec 2012 09:37:37 -0500 Subject: Convert EMailFormatterExtension to an abstract class. With the previous changes, all formatter extensions derive from GObjectClass and implement the EMailFormatterExtensionInterface. Simplify things further by making EMailFormatterExtension an abstract base class so formatter extensions are now just direct subclasses and need not bother with implementing GObject interfaces. --- em-format/e-mail-formatter-headers.c | 41 +++++++++++------------------------- 1 file changed, 12 insertions(+), 29 deletions(-) (limited to 'em-format/e-mail-formatter-headers.c') diff --git a/em-format/e-mail-formatter-headers.c b/em-format/e-mail-formatter-headers.c index 855f6a6320..135b24f586 100644 --- a/em-format/e-mail-formatter-headers.c +++ b/em-format/e-mail-formatter-headers.c @@ -37,30 +37,19 @@ #include -typedef struct _EMailFormatterHeaders { - GObject parent; -} EMailFormatterHeaders; +typedef EMailFormatterExtension EMailFormatterHeaders; +typedef EMailFormatterExtensionClass EMailFormatterHeadersClass; -typedef struct _EMailFormatterHeadersClass { - GObjectClass parent_class; -} EMailFormatterHeadersClass; +G_DEFINE_TYPE ( + EMailFormatterHeaders, + e_mail_formatter_headers, + E_TYPE_MAIL_FORMATTER_EXTENSION) static const gchar *formatter_mime_types[] = { "application/vnd.evolution.headers", NULL }; -static void e_mail_formatter_formatter_extension_interface_init (EMailFormatterExtensionInterface *iface); - -G_DEFINE_TYPE_EXTENDED ( - EMailFormatterHeaders, - e_mail_formatter_headers, - G_TYPE_OBJECT, - 0, - G_IMPLEMENT_INTERFACE ( - E_TYPE_MAIL_FORMATTER_EXTENSION, - e_mail_formatter_formatter_extension_interface_init)) - static void format_short_headers (EMailFormatter *formatter, GString *buffer, @@ -583,21 +572,15 @@ emfe_headers_get_description (EMailFormatterExtension *extension) } static void -e_mail_formatter_headers_class_init (EMailFormatterHeadersClass *class) +e_mail_formatter_headers_class_init (EMailFormatterExtensionClass *class) { + class->mime_types = formatter_mime_types; + class->format = emfe_headers_format; + class->get_display_name = emfe_headers_get_display_name; + class->get_description = emfe_headers_get_description; } static void -e_mail_formatter_formatter_extension_interface_init (EMailFormatterExtensionInterface *iface) +e_mail_formatter_headers_init (EMailFormatterExtension *extension) { - iface->mime_types = formatter_mime_types; - iface->format = emfe_headers_format; - iface->get_display_name = emfe_headers_get_display_name; - iface->get_description = emfe_headers_get_description; -} - -static void -e_mail_formatter_headers_init (EMailFormatterHeaders *formatter) -{ - } -- cgit v1.2.3