From ce3d24ef62437762e2e0b930cadb5c00580a4596 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Fri, 1 Feb 2013 09:15:23 -0500 Subject: Add a priority field for mail formatter and parser extensions. Add a priority field to EMailFormatterExtension and EMailParserExtension class structs. Extension classes can then explicitly specify a priority with respect to other extension classes with the same MIME type, so that the order of extension registration doesn't matter. Priority field defaults to G_PRIORITY_DEFAULT. Built-in formatters and extensions will use G_PRIORITY_LOW. We can get more sophisticated with priority values if we need to, but this should suffice for now. --- em-format/e-mail-extension-registry.c | 47 +++++++++++++++++++++-- em-format/e-mail-formatter-attachment-bar.c | 1 + em-format/e-mail-formatter-attachment.c | 1 + em-format/e-mail-formatter-error.c | 1 + em-format/e-mail-formatter-extension.c | 1 + em-format/e-mail-formatter-extension.h | 4 ++ em-format/e-mail-formatter-headers.c | 1 + em-format/e-mail-formatter-image.c | 1 + em-format/e-mail-formatter-message-rfc822.c | 1 + em-format/e-mail-formatter-print-headers.c | 1 + em-format/e-mail-formatter-quote-attachment.c | 1 + em-format/e-mail-formatter-quote-headers.c | 1 + em-format/e-mail-formatter-quote-message-rfc822.c | 1 + em-format/e-mail-formatter-quote-text-enriched.c | 1 + em-format/e-mail-formatter-quote-text-html.c | 1 + em-format/e-mail-formatter-quote-text-plain.c | 1 + em-format/e-mail-formatter-secure-button.c | 1 + em-format/e-mail-formatter-source.c | 1 + em-format/e-mail-formatter-text-enriched.c | 1 + em-format/e-mail-formatter-text-html.c | 1 + em-format/e-mail-formatter-text-plain.c | 1 + em-format/e-mail-parser-application-mbox.c | 1 + em-format/e-mail-parser-application-smime.c | 1 + em-format/e-mail-parser-attachment-bar.c | 1 + em-format/e-mail-parser-extension.c | 1 + em-format/e-mail-parser-extension.h | 4 ++ em-format/e-mail-parser-headers.c | 1 + em-format/e-mail-parser-image.c | 1 + em-format/e-mail-parser-inlinepgp-encrypted.c | 1 + em-format/e-mail-parser-inlinepgp-signed.c | 1 + em-format/e-mail-parser-message-deliverystatus.c | 1 + em-format/e-mail-parser-message-external.c | 1 + em-format/e-mail-parser-message-rfc822.c | 1 + em-format/e-mail-parser-message.c | 1 + em-format/e-mail-parser-multipart-alternative.c | 1 + em-format/e-mail-parser-multipart-appledouble.c | 1 + em-format/e-mail-parser-multipart-digest.c | 1 + em-format/e-mail-parser-multipart-encrypted.c | 1 + em-format/e-mail-parser-multipart-mixed.c | 1 + em-format/e-mail-parser-multipart-related.c | 1 + em-format/e-mail-parser-multipart-signed.c | 1 + em-format/e-mail-parser-secure-button.c | 1 + em-format/e-mail-parser-source.c | 1 + em-format/e-mail-parser-text-enriched.c | 1 + em-format/e-mail-parser-text-html.c | 1 + em-format/e-mail-parser-text-plain.c | 1 + 46 files changed, 94 insertions(+), 4 deletions(-) (limited to 'em-format') diff --git a/em-format/e-mail-extension-registry.c b/em-format/e-mail-extension-registry.c index 7e5f3a9b0b..3d5e7baa7c 100644 --- a/em-format/e-mail-extension-registry.c +++ b/em-format/e-mail-extension-registry.c @@ -59,7 +59,8 @@ destroy_queue (GQueue *queue) static void mail_extension_registry_add_extension (EMailExtensionRegistry *registry, const gchar **mime_types, - GType extension_type) + GType extension_type, + GCompareDataFunc compare_func) { GObject *extension; gint ii; @@ -86,7 +87,9 @@ mail_extension_registry_add_extension (EMailExtensionRegistry *registry, queue); } - g_queue_push_head (queue, g_object_ref (extension)); + g_queue_insert_sorted ( + queue, g_object_ref (extension), + compare_func, NULL); if (camel_debug ("emformat:registry")) { printf ( @@ -217,6 +220,23 @@ e_mail_parser_extension_registry_init (EMailParserExtensionRegistry *registry) { } +static gint +mail_parser_extension_registry_compare (gconstpointer extension1, + gconstpointer extension2, + gpointer user_data) +{ + EMailParserExtensionClass *class1; + EMailParserExtensionClass *class2; + + class1 = E_MAIL_PARSER_EXTENSION_GET_CLASS (extension1); + class2 = E_MAIL_PARSER_EXTENSION_GET_CLASS (extension2); + + if (class1->priority == class2->priority) + return 0; + + return (class1->priority < class2->priority) ? -1 : 1; +} + void e_mail_parser_extension_registry_load (EMailParserExtensionRegistry *registry) { @@ -239,7 +259,8 @@ e_mail_parser_extension_registry_load (EMailParserExtensionRegistry *registry) mail_extension_registry_add_extension ( E_MAIL_EXTENSION_REGISTRY (registry), - class->mime_types, children[ii]); + class->mime_types, children[ii], + mail_parser_extension_registry_compare); g_type_class_unref (class); } @@ -265,6 +286,23 @@ e_mail_formatter_extension_registry_init (EMailFormatterExtensionRegistry *regis { } +static gint +mail_formatter_extension_registry_compare (gconstpointer extension1, + gconstpointer extension2, + gpointer user_data) +{ + EMailFormatterExtensionClass *class1; + EMailFormatterExtensionClass *class2; + + class1 = E_MAIL_FORMATTER_EXTENSION_GET_CLASS (extension1); + class2 = E_MAIL_FORMATTER_EXTENSION_GET_CLASS (extension2); + + if (class1->priority == class2->priority) + return 0; + + return (class1->priority < class2->priority) ? -1 : 1; +} + void e_mail_formatter_extension_registry_load (EMailFormatterExtensionRegistry *registry, GType base_extension_type) @@ -286,7 +324,8 @@ e_mail_formatter_extension_registry_load (EMailFormatterExtensionRegistry *regis mail_extension_registry_add_extension ( E_MAIL_EXTENSION_REGISTRY (registry), - class->mime_types, children[ii]); + class->mime_types, children[ii], + mail_formatter_extension_registry_compare); g_type_class_unref (class); } diff --git a/em-format/e-mail-formatter-attachment-bar.c b/em-format/e-mail-formatter-attachment-bar.c index 4591501331..f91500ed1d 100644 --- a/em-format/e-mail-formatter-attachment-bar.c +++ b/em-format/e-mail-formatter-attachment-bar.c @@ -102,6 +102,7 @@ static void e_mail_formatter_attachment_bar_class_init (EMailFormatterExtensionClass *class) { class->mime_types = formatter_mime_types; + class->priority = G_PRIORITY_LOW; class->format = emfe_attachment_bar_format; class->get_widget = emfe_attachment_bar_get_widget; } diff --git a/em-format/e-mail-formatter-attachment.c b/em-format/e-mail-formatter-attachment.c index f800ca2994..b573aa10d0 100644 --- a/em-format/e-mail-formatter-attachment.c +++ b/em-format/e-mail-formatter-attachment.c @@ -363,6 +363,7 @@ e_mail_formatter_attachment_class_init (EMailFormatterExtensionClass *class) class->display_name = _("Attachment"); class->description = _("Display as attachment"); class->mime_types = formatter_mime_types; + class->priority = G_PRIORITY_LOW; class->format = emfe_attachment_format; class->get_widget = emfe_attachment_get_widget; } diff --git a/em-format/e-mail-formatter-error.c b/em-format/e-mail-formatter-error.c index 3adaab90be..6decb6409b 100644 --- a/em-format/e-mail-formatter-error.c +++ b/em-format/e-mail-formatter-error.c @@ -107,6 +107,7 @@ static void e_mail_formatter_error_class_init (EMailFormatterExtensionClass *class) { class->mime_types = formatter_mime_types; + class->priority = G_PRIORITY_LOW; class->format = emfe_error_format; } diff --git a/em-format/e-mail-formatter-extension.c b/em-format/e-mail-formatter-extension.c index 9390d77a15..bbac4069c8 100644 --- a/em-format/e-mail-formatter-extension.c +++ b/em-format/e-mail-formatter-extension.c @@ -26,6 +26,7 @@ G_DEFINE_ABSTRACT_TYPE ( static void e_mail_formatter_extension_class_init (EMailFormatterExtensionClass *class) { + class->priority = G_PRIORITY_DEFAULT; } static void diff --git a/em-format/e-mail-formatter-extension.h b/em-format/e-mail-formatter-extension.h index 9c7e4b95b7..1da4069ec8 100644 --- a/em-format/e-mail-formatter-extension.h +++ b/em-format/e-mail-formatter-extension.h @@ -74,6 +74,10 @@ struct _EMailFormatterExtensionClass { * wildcard (e.g. "text/ *"). */ const gchar **mime_types; + /* This is used to prioritize extensions with identical MIME + * types. Lower values win. Defaults to G_PRIORITY_DEFAULT. */ + gint priority; + gboolean (*format) (EMailFormatterExtension *extension, EMailFormatter *formatter, EMailFormatterContext *context, diff --git a/em-format/e-mail-formatter-headers.c b/em-format/e-mail-formatter-headers.c index 3161d88db9..b7862d9a38 100644 --- a/em-format/e-mail-formatter-headers.c +++ b/em-format/e-mail-formatter-headers.c @@ -560,6 +560,7 @@ static void e_mail_formatter_headers_class_init (EMailFormatterExtensionClass *class) { class->mime_types = formatter_mime_types; + class->priority = G_PRIORITY_LOW; class->format = emfe_headers_format; } diff --git a/em-format/e-mail-formatter-image.c b/em-format/e-mail-formatter-image.c index 4cdd8443e6..82c635827a 100644 --- a/em-format/e-mail-formatter-image.c +++ b/em-format/e-mail-formatter-image.c @@ -143,6 +143,7 @@ e_mail_formatter_image_class_init (EMailFormatterExtensionClass *class) class->display_name = _("Regular Image"); class->description = _("Display part as an image"); class->mime_types = formatter_mime_types; + class->priority = G_PRIORITY_LOW; class->format = emfe_image_format; } diff --git a/em-format/e-mail-formatter-message-rfc822.c b/em-format/e-mail-formatter-message-rfc822.c index 9e88986e98..f6e1a18cfc 100644 --- a/em-format/e-mail-formatter-message-rfc822.c +++ b/em-format/e-mail-formatter-message-rfc822.c @@ -242,6 +242,7 @@ e_mail_formatter_message_rfc822_class_init (EMailFormatterExtensionClass *class) class->display_name = _("RFC822 message"); class->description = _("Format part as an RFC822 message"); class->mime_types = formatter_mime_types; + class->priority = G_PRIORITY_LOW; class->format = emfe_message_rfc822_format; } diff --git a/em-format/e-mail-formatter-print-headers.c b/em-format/e-mail-formatter-print-headers.c index c3f683f6b3..fb19559e49 100644 --- a/em-format/e-mail-formatter-print-headers.c +++ b/em-format/e-mail-formatter-print-headers.c @@ -209,6 +209,7 @@ static void e_mail_formatter_print_headers_class_init (EMailFormatterExtensionClass *class) { class->mime_types = formatter_mime_types; + class->priority = G_PRIORITY_LOW; class->format = emfpe_headers_format; } diff --git a/em-format/e-mail-formatter-quote-attachment.c b/em-format/e-mail-formatter-quote-attachment.c index 628ef97ab0..325f70fb83 100644 --- a/em-format/e-mail-formatter-quote-attachment.c +++ b/em-format/e-mail-formatter-quote-attachment.c @@ -112,6 +112,7 @@ static void e_mail_formatter_quote_attachment_class_init (EMailFormatterExtensionClass *class) { class->mime_types = formatter_mime_types; + class->priority = G_PRIORITY_LOW; class->format = emfqe_attachment_format; } diff --git a/em-format/e-mail-formatter-quote-headers.c b/em-format/e-mail-formatter-quote-headers.c index 8fed82d480..20e97fdc69 100644 --- a/em-format/e-mail-formatter-quote-headers.c +++ b/em-format/e-mail-formatter-quote-headers.c @@ -235,6 +235,7 @@ static void e_mail_formatter_quote_headers_class_init (EMailFormatterExtensionClass *class) { class->mime_types = formatter_mime_types; + class->priority = G_PRIORITY_LOW; class->format = emqfe_headers_format; } diff --git a/em-format/e-mail-formatter-quote-message-rfc822.c b/em-format/e-mail-formatter-quote-message-rfc822.c index 42b3ba5af8..675d305981 100644 --- a/em-format/e-mail-formatter-quote-message-rfc822.c +++ b/em-format/e-mail-formatter-quote-message-rfc822.c @@ -138,6 +138,7 @@ static void e_mail_formatter_quote_message_rfc822_class_init (EMailFormatterExtensionClass *class) { class->mime_types = formatter_mime_types; + class->priority = G_PRIORITY_LOW; class->format = emfqe_message_rfc822_format; } diff --git a/em-format/e-mail-formatter-quote-text-enriched.c b/em-format/e-mail-formatter-quote-text-enriched.c index 031cc664db..b279d96c8a 100644 --- a/em-format/e-mail-formatter-quote-text-enriched.c +++ b/em-format/e-mail-formatter-quote-text-enriched.c @@ -88,6 +88,7 @@ e_mail_formatter_quote_text_enriched_class_init (EMailFormatterExtensionClass *c class->display_name = _("Richtext"); class->description = _("Display part as enriched text"); class->mime_types = formatter_mime_types; + class->priority = G_PRIORITY_LOW; class->format = emqfe_text_enriched_format; } diff --git a/em-format/e-mail-formatter-quote-text-html.c b/em-format/e-mail-formatter-quote-text-html.c index 71c7d63554..0febedb12a 100644 --- a/em-format/e-mail-formatter-quote-text-html.c +++ b/em-format/e-mail-formatter-quote-text-html.c @@ -90,6 +90,7 @@ e_mail_formatter_quote_text_html_class_init (EMailFormatterExtensionClass *class class->display_name = _("HTML"); class->description = _("Format part as HTML"); class->mime_types = formatter_mime_types; + class->priority = G_PRIORITY_LOW; class->format = emqfe_text_html_format; } diff --git a/em-format/e-mail-formatter-quote-text-plain.c b/em-format/e-mail-formatter-quote-text-plain.c index 71f1762991..95d7b54539 100644 --- a/em-format/e-mail-formatter-quote-text-plain.c +++ b/em-format/e-mail-formatter-quote-text-plain.c @@ -110,6 +110,7 @@ e_mail_formatter_quote_text_plain_class_init (EMailFormatterExtensionClass *clas class->display_name = _("Plain Text"); class->description = _("Format part as plain text"); class->mime_types = formatter_mime_types; + class->priority = G_PRIORITY_LOW; class->format = emqfe_text_plain_format; } diff --git a/em-format/e-mail-formatter-secure-button.c b/em-format/e-mail-formatter-secure-button.c index 8f66b2ee42..571b90d220 100644 --- a/em-format/e-mail-formatter-secure-button.c +++ b/em-format/e-mail-formatter-secure-button.c @@ -464,6 +464,7 @@ static void e_mail_formatter_secure_button_class_init (EMailFormatterExtensionClass *class) { class->mime_types = formatter_mime_types; + class->priority = G_PRIORITY_LOW; class->format = emfe_secure_button_format; class->get_widget = emfe_secure_button_get_widget; } diff --git a/em-format/e-mail-formatter-source.c b/em-format/e-mail-formatter-source.c index e4ee288261..fed444e0f1 100644 --- a/em-format/e-mail-formatter-source.c +++ b/em-format/e-mail-formatter-source.c @@ -126,6 +126,7 @@ e_mail_formatter_source_class_init (EMailFormatterExtensionClass *class) class->display_name = _("Source"); class->description = _("Display source of a MIME part"); class->mime_types = formatter_mime_types; + class->priority = G_PRIORITY_LOW; class->format = emfe_source_format; } diff --git a/em-format/e-mail-formatter-text-enriched.c b/em-format/e-mail-formatter-text-enriched.c index 1ea46e8138..988579e7cd 100644 --- a/em-format/e-mail-formatter-text-enriched.c +++ b/em-format/e-mail-formatter-text-enriched.c @@ -102,6 +102,7 @@ e_mail_formatter_text_enriched_class_init (EMailFormatterExtensionClass *class) class->display_name = _("Richtext"); class->description = _("Display part as enriched text"); class->mime_types = formatter_mime_types; + class->priority = G_PRIORITY_LOW; class->format = emfe_text_enriched_format; } diff --git a/em-format/e-mail-formatter-text-html.c b/em-format/e-mail-formatter-text-html.c index a70ec2b2f2..8e9a6a6d0e 100644 --- a/em-format/e-mail-formatter-text-html.c +++ b/em-format/e-mail-formatter-text-html.c @@ -353,6 +353,7 @@ e_mail_formatter_text_html_class_init (EMailFormatterExtensionClass *class) class->display_name = _("HTML"); class->description = _("Format part as HTML"); class->mime_types = formatter_mime_types; + class->priority = G_PRIORITY_LOW; class->format = emfe_text_html_format; } diff --git a/em-format/e-mail-formatter-text-plain.c b/em-format/e-mail-formatter-text-plain.c index 278353b40b..78b1919e6e 100644 --- a/em-format/e-mail-formatter-text-plain.c +++ b/em-format/e-mail-formatter-text-plain.c @@ -186,6 +186,7 @@ e_mail_formatter_text_plain_class_init (EMailFormatterExtensionClass *class) class->display_name = _("Plain Text"); class->description = _("Format part as plain text"); class->mime_types = formatter_mime_types; + class->priority = G_PRIORITY_LOW; class->format = emfe_text_plain_format; } diff --git a/em-format/e-mail-parser-application-mbox.c b/em-format/e-mail-parser-application-mbox.c index b0fde83b2e..73c86a7a57 100644 --- a/em-format/e-mail-parser-application-mbox.c +++ b/em-format/e-mail-parser-application-mbox.c @@ -160,6 +160,7 @@ static void e_mail_parser_application_mbox_class_init (EMailParserExtensionClass *class) { class->mime_types = parser_mime_types; + class->priority = G_PRIORITY_LOW; class->flags = E_MAIL_PARSER_EXTENSION_INLINE | E_MAIL_PARSER_EXTENSION_COMPOUND_TYPE; diff --git a/em-format/e-mail-parser-application-smime.c b/em-format/e-mail-parser-application-smime.c index 13c3d739c1..e84e1e948e 100644 --- a/em-format/e-mail-parser-application-smime.c +++ b/em-format/e-mail-parser-application-smime.c @@ -150,6 +150,7 @@ static void e_mail_parser_application_smime_class_init (EMailParserExtensionClass *class) { class->mime_types = parser_mime_types; + class->priority = G_PRIORITY_LOW; class->flags = E_MAIL_PARSER_EXTENSION_INLINE; class->parse = empe_app_smime_parse; } diff --git a/em-format/e-mail-parser-attachment-bar.c b/em-format/e-mail-parser-attachment-bar.c index 44fbb9cc82..5e36b83b6f 100644 --- a/em-format/e-mail-parser-attachment-bar.c +++ b/em-format/e-mail-parser-attachment-bar.c @@ -82,6 +82,7 @@ static void e_mail_parser_attachment_bar_class_init (EMailParserExtensionClass *class) { class->mime_types = parser_mime_types; + class->priority = G_PRIORITY_LOW; class->parse = empe_attachment_bar_parse; } diff --git a/em-format/e-mail-parser-extension.c b/em-format/e-mail-parser-extension.c index 28b3be3133..69992a6020 100644 --- a/em-format/e-mail-parser-extension.c +++ b/em-format/e-mail-parser-extension.c @@ -26,6 +26,7 @@ G_DEFINE_ABSTRACT_TYPE ( static void e_mail_parser_extension_class_init (EMailParserExtensionClass *class) { + class->priority = G_PRIORITY_DEFAULT; } static void diff --git a/em-format/e-mail-parser-extension.h b/em-format/e-mail-parser-extension.h index 2b486a6dda..c011df62ab 100644 --- a/em-format/e-mail-parser-extension.h +++ b/em-format/e-mail-parser-extension.h @@ -81,6 +81,10 @@ struct _EMailParserExtensionClass { * wildcard (e.g. "text/ *"). */ const gchar **mime_types; + /* This is used to prioritize extensions with identical MIME + * types. Lower values win. Defaults to G_PRIORITY_DEFAULT. */ + gint priority; + /* See the flag descriptions above. */ EMailParserExtensionFlags flags; diff --git a/em-format/e-mail-parser-headers.c b/em-format/e-mail-parser-headers.c index f2900945d1..49b7509484 100644 --- a/em-format/e-mail-parser-headers.c +++ b/em-format/e-mail-parser-headers.c @@ -101,6 +101,7 @@ static void e_mail_parser_headers_class_init (EMailParserExtensionClass *class) { class->mime_types = parser_mime_types; + class->priority = G_PRIORITY_LOW; class->parse = empe_headers_parse; } diff --git a/em-format/e-mail-parser-image.c b/em-format/e-mail-parser-image.c index 741daa7454..4fc57de101 100644 --- a/em-format/e-mail-parser-image.c +++ b/em-format/e-mail-parser-image.c @@ -113,6 +113,7 @@ static void e_mail_parser_image_class_init (EMailParserExtensionClass *class) { class->mime_types = parser_mime_types; + class->priority = G_PRIORITY_LOW; class->parse = empe_image_parse; } diff --git a/em-format/e-mail-parser-inlinepgp-encrypted.c b/em-format/e-mail-parser-inlinepgp-encrypted.c index 624452c8b0..b73b2011f7 100644 --- a/em-format/e-mail-parser-inlinepgp-encrypted.c +++ b/em-format/e-mail-parser-inlinepgp-encrypted.c @@ -168,6 +168,7 @@ static void e_mail_parser_inline_pgp_encrypted_class_init (EMailParserExtensionClass *class) { class->mime_types = parser_mime_types; + class->priority = G_PRIORITY_LOW; class->parse = empe_inlinepgp_encrypted_parse; } diff --git a/em-format/e-mail-parser-inlinepgp-signed.c b/em-format/e-mail-parser-inlinepgp-signed.c index fb65e5c447..8f5f38c9dc 100644 --- a/em-format/e-mail-parser-inlinepgp-signed.c +++ b/em-format/e-mail-parser-inlinepgp-signed.c @@ -191,6 +191,7 @@ static void e_mail_parser_inline_pgp_signed_class_init (EMailParserExtensionClass *class) { class->mime_types = parser_mime_types; + class->priority = G_PRIORITY_LOW; class->parse = empe_inlinepgp_signed_parse; } diff --git a/em-format/e-mail-parser-message-deliverystatus.c b/em-format/e-mail-parser-message-deliverystatus.c index d02bbf9149..8e7fc8002f 100644 --- a/em-format/e-mail-parser-message-deliverystatus.c +++ b/em-format/e-mail-parser-message-deliverystatus.c @@ -77,6 +77,7 @@ static void e_mail_parser_message_delivery_status_class_init (EMailParserExtensionClass *class) { class->mime_types = parser_mime_types; + class->priority = G_PRIORITY_LOW; class->parse = empe_msg_deliverystatus_parse; } diff --git a/em-format/e-mail-parser-message-external.c b/em-format/e-mail-parser-message-external.c index d24bb657e1..32ba0515dd 100644 --- a/em-format/e-mail-parser-message-external.c +++ b/em-format/e-mail-parser-message-external.c @@ -169,6 +169,7 @@ static void e_mail_parser_message_external_class_init (EMailParserExtensionClass *class) { class->mime_types = parser_mime_types; + class->priority = G_PRIORITY_LOW; class->parse = empe_msg_external_parse; } diff --git a/em-format/e-mail-parser-message-rfc822.c b/em-format/e-mail-parser-message-rfc822.c index ca9dd67df9..31bca87dbf 100644 --- a/em-format/e-mail-parser-message-rfc822.c +++ b/em-format/e-mail-parser-message-rfc822.c @@ -123,6 +123,7 @@ static void e_mail_parser_message_rfc822_class_init (EMailParserExtensionClass *class) { class->mime_types = parser_mime_types; + class->priority = G_PRIORITY_LOW; class->flags = E_MAIL_PARSER_EXTENSION_INLINE | E_MAIL_PARSER_EXTENSION_COMPOUND_TYPE; diff --git a/em-format/e-mail-parser-message.c b/em-format/e-mail-parser-message.c index 9cd0a2d76c..ad91e426e6 100644 --- a/em-format/e-mail-parser-message.c +++ b/em-format/e-mail-parser-message.c @@ -98,6 +98,7 @@ static void e_mail_parser_message_class_init (EMailParserExtensionClass *class) { class->mime_types = parser_mime_types; + class->priority = G_PRIORITY_LOW; class->parse = empe_message_parse; } diff --git a/em-format/e-mail-parser-multipart-alternative.c b/em-format/e-mail-parser-multipart-alternative.c index cc1c8724db..1ecb7789ce 100644 --- a/em-format/e-mail-parser-multipart-alternative.c +++ b/em-format/e-mail-parser-multipart-alternative.c @@ -148,6 +148,7 @@ static void e_mail_parser_multipart_alternative_class_init (EMailParserExtensionClass *class) { class->mime_types = parser_mime_types; + class->priority = G_PRIORITY_LOW; class->parse = empe_mp_alternative_parse; } diff --git a/em-format/e-mail-parser-multipart-appledouble.c b/em-format/e-mail-parser-multipart-appledouble.c index a866363717..bc79348783 100644 --- a/em-format/e-mail-parser-multipart-appledouble.c +++ b/em-format/e-mail-parser-multipart-appledouble.c @@ -85,6 +85,7 @@ static void e_mail_parser_multipart_apple_double_class_init (EMailParserExtensionClass *class) { class->mime_types = parser_mime_types; + class->priority = G_PRIORITY_LOW; class->parse = empe_mp_appledouble_parse; } diff --git a/em-format/e-mail-parser-multipart-digest.c b/em-format/e-mail-parser-multipart-digest.c index 64d4882a8c..5d33103b1e 100644 --- a/em-format/e-mail-parser-multipart-digest.c +++ b/em-format/e-mail-parser-multipart-digest.c @@ -119,6 +119,7 @@ static void e_mail_parser_multipart_digest_class_init (EMailParserExtensionClass *class) { class->mime_types = parser_mime_types; + class->priority = G_PRIORITY_LOW; class->flags = E_MAIL_PARSER_EXTENSION_COMPOUND_TYPE; class->parse = empe_mp_digest_parse; } diff --git a/em-format/e-mail-parser-multipart-encrypted.c b/em-format/e-mail-parser-multipart-encrypted.c index c815ab543c..85bcb9f41f 100644 --- a/em-format/e-mail-parser-multipart-encrypted.c +++ b/em-format/e-mail-parser-multipart-encrypted.c @@ -173,6 +173,7 @@ static void e_mail_parser_multipart_encrypted_class_init (EMailParserExtensionClass *class) { class->mime_types = parser_mime_types; + class->priority = G_PRIORITY_LOW; class->parse = empe_mp_encrypted_parse; } diff --git a/em-format/e-mail-parser-multipart-mixed.c b/em-format/e-mail-parser-multipart-mixed.c index 9e876eef4e..1fdfb3cc33 100644 --- a/em-format/e-mail-parser-multipart-mixed.c +++ b/em-format/e-mail-parser-multipart-mixed.c @@ -117,6 +117,7 @@ static void e_mail_parser_multipart_mixed_class_init (EMailParserExtensionClass *class) { class->mime_types = parser_mime_types; + class->priority = G_PRIORITY_LOW; class->flags = E_MAIL_PARSER_EXTENSION_COMPOUND_TYPE; class->parse = empe_mp_mixed_parse; } diff --git a/em-format/e-mail-parser-multipart-related.c b/em-format/e-mail-parser-multipart-related.c index a1cbbf7a41..96cca60bb6 100644 --- a/em-format/e-mail-parser-multipart-related.c +++ b/em-format/e-mail-parser-multipart-related.c @@ -142,6 +142,7 @@ static void e_mail_parser_multipart_related_class_init (EMailParserExtensionClass *class) { class->mime_types = parser_mime_types; + class->priority = G_PRIORITY_LOW; class->parse = empe_mp_related_parse; } diff --git a/em-format/e-mail-parser-multipart-signed.c b/em-format/e-mail-parser-multipart-signed.c index 514d40fafb..440d791f6a 100644 --- a/em-format/e-mail-parser-multipart-signed.c +++ b/em-format/e-mail-parser-multipart-signed.c @@ -207,6 +207,7 @@ static void e_mail_parser_multipart_signed_class_init (EMailParserExtensionClass *class) { class->mime_types = parser_mime_types; + class->priority = G_PRIORITY_LOW; class->parse = empe_mp_signed_parse; } diff --git a/em-format/e-mail-parser-secure-button.c b/em-format/e-mail-parser-secure-button.c index 38368592c7..865bceca49 100644 --- a/em-format/e-mail-parser-secure-button.c +++ b/em-format/e-mail-parser-secure-button.c @@ -67,6 +67,7 @@ static void e_mail_parser_secure_button_class_init (EMailParserExtensionClass *class) { class->mime_types = parser_mime_types; + class->priority = G_PRIORITY_LOW; class->parse = empe_secure_button_parse; } diff --git a/em-format/e-mail-parser-source.c b/em-format/e-mail-parser-source.c index ff8355db15..b13d34b92c 100644 --- a/em-format/e-mail-parser-source.c +++ b/em-format/e-mail-parser-source.c @@ -68,6 +68,7 @@ static void e_mail_parser_source_class_init (EMailParserExtensionClass *class) { class->mime_types = parser_mime_types; + class->priority = G_PRIORITY_LOW; class->parse = empe_source_parse; } diff --git a/em-format/e-mail-parser-text-enriched.c b/em-format/e-mail-parser-text-enriched.c index 024d160196..f2b26c2d5f 100644 --- a/em-format/e-mail-parser-text-enriched.c +++ b/em-format/e-mail-parser-text-enriched.c @@ -88,6 +88,7 @@ static void e_mail_parser_text_enriched_class_init (EMailParserExtensionClass *class) { class->mime_types = parser_mime_types; + class->priority = G_PRIORITY_LOW; class->parse = empe_text_enriched_parse; } diff --git a/em-format/e-mail-parser-text-html.c b/em-format/e-mail-parser-text-html.c index ccfc5d6eb3..ae97858a11 100644 --- a/em-format/e-mail-parser-text-html.c +++ b/em-format/e-mail-parser-text-html.c @@ -98,6 +98,7 @@ static void e_mail_parser_text_html_class_init (EMailParserExtensionClass *class) { class->mime_types = parser_mime_types; + class->priority = G_PRIORITY_LOW; class->parse = empe_text_html_parse; } diff --git a/em-format/e-mail-parser-text-plain.c b/em-format/e-mail-parser-text-plain.c index f0b34e4b2c..b6cd0ec6ca 100644 --- a/em-format/e-mail-parser-text-plain.c +++ b/em-format/e-mail-parser-text-plain.c @@ -226,6 +226,7 @@ static void e_mail_parser_text_plain_class_init (EMailParserExtensionClass *class) { class->mime_types = parser_mime_types; + class->priority = G_PRIORITY_LOW; class->parse = empe_text_plain_parse; } -- cgit v1.2.3