## EMailExtensionRegistry

EMailExtensionRegistry

## Synopsis

    struct              EMailExtensionRegistry;
    GQueue *            e_mail_extension_registry_get_for_mime_type
                                                            (EMailExtensionRegistry *registry,
                                                             const gchar *mime_type);
    GQueue *            e_mail_extension_registry_get_fallback
                                                            (EMailExtensionRegistry *registry,
                                                             const gchar *mime_type);
    struct              EMailParserExtensionRegistry;
    void                e_mail_parser_extension_registry_load
                                                            (EMailParserExtensionRegistry *registry);
    struct              EMailFormatterExtensionRegistry;
    void                e_mail_formatter_extension_registry_load
                                                            (EMailFormatterExtensionRegistry *registry,
                                                             GType base_extension_type);

## Object Hierarchy

      GObject
       +----EMailExtensionRegistry
             +----EMailFormatterExtensionRegistry
             +----EMailParserExtensionRegistry

      GObject
       +----EMailExtensionRegistry
             +----EMailParserExtensionRegistry

      GObject
       +----EMailExtensionRegistry
             +----EMailFormatterExtensionRegistry

## Implemented Interfaces

EMailParserExtensionRegistry implements EExtensible.

EMailFormatterExtensionRegistry implements EExtensible.

## Description

## Details

### struct EMailExtensionRegistry

    struct EMailExtensionRegistry;

The EMailExtensionRegistry is an abstract class representing a registry for EMailExtension<!-//>s.

EMailParser and EMailFormatter both have internally a registry object based on the EMailExtensionRegistry.

One extension can registry itself for more mime-types.

### e_mail_extension_registry_get_for_mime_type ()

    GQueue *            e_mail_extension_registry_get_for_mime_type
                                                            (EMailExtensionRegistry *registry,
                                                             const gchar *mime_type);

Tries to lookup list of EMailExtension<!-//>s that has registryed themselves as handlers for the `mime_type`.

`registry` : | An EMailExtensionRegistry
`mime_type` : | A string with mime-type to look up
Returns : | Returns GQueue of EMailExtension<!-//>s or `NULL` when there are no extension registryed for given `mime_type`.

### e_mail_extension_registry_get_fallback ()

    GQueue *            e_mail_extension_registry_get_fallback
                                                            (EMailExtensionRegistry *registry,
                                                             const gchar *mime_type);

Tries to lookup fallback parsers for given mime type. For instance, for multipart/alternative, it will try to lookup multipart/ * parser.

`registry` : | An EMailExtensionRegistry
`mime_type` : | A string with mime-type whose fallback to look up
Returns : | Returns QGueue of EMailExtension<!-//>>s or `NULL` when there are no extensions registryed for the fallback type.

### struct EMailParserExtensionRegistry

    struct EMailParserExtensionRegistry;

### e_mail_parser_extension_registry_load ()

    void                e_mail_parser_extension_registry_load
                                                            (EMailParserExtensionRegistry *registry);

### struct EMailFormatterExtensionRegistry

    struct EMailFormatterExtensionRegistry;

### e_mail_formatter_extension_registry_load ()

    void                e_mail_formatter_extension_registry_load
                                                            (EMailFormatterExtensionRegistry *registry,
                                                             GType base_extension_type);