diff options
Diffstat (limited to 'mail/em-format.h')
-rw-r--r-- | mail/em-format.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/mail/em-format.h b/mail/em-format.h index cc0f6bdd75..f4cbb3fbbc 100644 --- a/mail/em-format.h +++ b/mail/em-format.h @@ -126,6 +126,9 @@ struct _EMFormatClass { GHashTable *type_handlers; + /* lookup handler, default falls back to hashtable above */ + const EMFormatHandler *(*find_handler)(EMFormat *, const char *mime_type); + /* start formatting a message */ void (*format_clone)(EMFormat *, struct _CamelMedium *, EMFormat *); /* some internel error/inconsistency */ @@ -171,7 +174,7 @@ GType em_format_get_type(void); void em_format_class_add_handler(EMFormatClass *emfc, EMFormatHandler *info); void em_format_class_remove_handler (EMFormatClass *emfc, const char *mime_type); -const EMFormatHandler *em_format_find_handler(EMFormat *emf, const char *mime_type); +#define em_format_find_handler(emf, type) ((EMFormatClass *)G_OBJECT_GET_CLASS(emf))->find_handler((emf), (type)) const EMFormatHandler *em_format_fallback_handler(EMFormat *emf, const char *mime_type); /* puri is short for pending uri ... really */ |