aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2013-02-01 22:15:23 +0800
committerMatthew Barnes <mbarnes@redhat.com>2013-02-01 22:36:45 +0800
commitce3d24ef62437762e2e0b930cadb5c00580a4596 (patch)
treef026863a5fc7adf640ed49e2c45e4b8e0e24b4fe
parent9a0b1266b5686d4985fec8a0dae7fdf00b1b8dd9 (diff)
downloadgsoc2013-evolution-ce3d24ef62437762e2e0b930cadb5c00580a4596.tar.gz
gsoc2013-evolution-ce3d24ef62437762e2e0b930cadb5c00580a4596.tar.zst
gsoc2013-evolution-ce3d24ef62437762e2e0b930cadb5c00580a4596.zip
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.
-rw-r--r--em-format/e-mail-extension-registry.c47
-rw-r--r--em-format/e-mail-formatter-attachment-bar.c1
-rw-r--r--em-format/e-mail-formatter-attachment.c1
-rw-r--r--em-format/e-mail-formatter-error.c1
-rw-r--r--em-format/e-mail-formatter-extension.c1
-rw-r--r--em-format/e-mail-formatter-extension.h4
-rw-r--r--em-format/e-mail-formatter-headers.c1
-rw-r--r--em-format/e-mail-formatter-image.c1
-rw-r--r--em-format/e-mail-formatter-message-rfc822.c1
-rw-r--r--em-format/e-mail-formatter-print-headers.c1
-rw-r--r--em-format/e-mail-formatter-quote-attachment.c1
-rw-r--r--em-format/e-mail-formatter-quote-headers.c1
-rw-r--r--em-format/e-mail-formatter-quote-message-rfc822.c1
-rw-r--r--em-format/e-mail-formatter-quote-text-enriched.c1
-rw-r--r--em-format/e-mail-formatter-quote-text-html.c1
-rw-r--r--em-format/e-mail-formatter-quote-text-plain.c1
-rw-r--r--em-format/e-mail-formatter-secure-button.c1
-rw-r--r--em-format/e-mail-formatter-source.c1
-rw-r--r--em-format/e-mail-formatter-text-enriched.c1
-rw-r--r--em-format/e-mail-formatter-text-html.c1
-rw-r--r--em-format/e-mail-formatter-text-plain.c1
-rw-r--r--em-format/e-mail-parser-application-mbox.c1
-rw-r--r--em-format/e-mail-parser-application-smime.c1
-rw-r--r--em-format/e-mail-parser-attachment-bar.c1
-rw-r--r--em-format/e-mail-parser-extension.c1
-rw-r--r--em-format/e-mail-parser-extension.h4
-rw-r--r--em-format/e-mail-parser-headers.c1
-rw-r--r--em-format/e-mail-parser-image.c1
-rw-r--r--em-format/e-mail-parser-inlinepgp-encrypted.c1
-rw-r--r--em-format/e-mail-parser-inlinepgp-signed.c1
-rw-r--r--em-format/e-mail-parser-message-deliverystatus.c1
-rw-r--r--em-format/e-mail-parser-message-external.c1
-rw-r--r--em-format/e-mail-parser-message-rfc822.c1
-rw-r--r--em-format/e-mail-parser-message.c1
-rw-r--r--em-format/e-mail-parser-multipart-alternative.c1
-rw-r--r--em-format/e-mail-parser-multipart-appledouble.c1
-rw-r--r--em-format/e-mail-parser-multipart-digest.c1
-rw-r--r--em-format/e-mail-parser-multipart-encrypted.c1
-rw-r--r--em-format/e-mail-parser-multipart-mixed.c1
-rw-r--r--em-format/e-mail-parser-multipart-related.c1
-rw-r--r--em-format/e-mail-parser-multipart-signed.c1
-rw-r--r--em-format/e-mail-parser-secure-button.c1
-rw-r--r--em-format/e-mail-parser-source.c1
-rw-r--r--em-format/e-mail-parser-text-enriched.c1
-rw-r--r--em-format/e-mail-parser-text-html.c1
-rw-r--r--em-format/e-mail-parser-text-plain.c1
46 files changed, 94 insertions, 4 deletions
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;
}