## EMailFormatterExtension EMailFormatterExtension |

## Functions

gboolean | e_mail_formatter_extension_format ()

## Types and Values

struct | EMailFormatterExtension

## Object Hierarchy

        GObject
        ╰── EMailFormatterExtension
            ├── EMailFormatterPrintExtension
            ╰── EMailFormatterQuoteExtension

## Description

## Functions

### e_mail_formatter_extension_format ()

    gboolean
    e_mail_formatter_extension_format (EMailFormatterExtension *extension,
                                       EMailFormatter *formatter,
                                       EMailFormatterContext *context,
                                       EMailPart *part,
                                       GOutputStream *stream,
                                       GCancellable *cancellable);

A virtual function reimplemented in all mail formatter extensions. The function formats `part` , generated HTML (or other format that can be displayed to user) and writes it to the `stream` .

When the function is unable to format the `part` (either because it's broken or because it is a different mimetype then the extension is specialized for), the function will return `FALSE` indicating the EMailFormatter, that it should pick another extension.

Implementation of this function must be thread-safe.

#### Parameters

extension | an EMailFormatterExtension |
formatter | an EMailFormatter |
context | an EMailFormatterContext |
part | a EMailPart to be formatter |
stream | a GOutputStream to which the output should be written |
cancellable | (allow-none) a GCancellable |

#### Returns

Returns `TRUE` when the `part` was successfully formatted and data were written to the `stream` , `FALSE` otherwise.

## Types and Values

### struct EMailFormatterExtension

    struct EMailFormatterExtension;

The EMailFormatterExtension is an abstract class for all extensions for EMailFormatter.