EMailFormatterExtension

EMailFormatterExtension

Synopsis

struct              EMailFormatterExtension;
gboolean            e_mail_formatter_extension_format   (EMailFormatterExtension *extension,
                                                         EMailFormatter *formatter,
                                                         EMailFormatterContext *context,
                                                         EMailPart *part,
                                                         GOutputStream *stream,
                                                         GCancellable *cancellable);
gboolean            e_mail_formatter_extension_has_widget
                                                        (EMailFormatterExtension *extension);
GtkWidget *         e_mail_formatter_extension_get_widget
                                                        (EMailFormatterExtension *extension,
                                                         EMailPartList *context,
                                                         EMailPart *part,
                                                         GHashTable *params);

Object Hierarchy

  GObject
   +----EMailFormatterExtension
         +----EMailFormatterPrintExtension
         +----EMailFormatterQuoteExtension

Description

Details

struct EMailFormatterExtension

struct EMailFormatterExtension;

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


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.

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.

e_mail_formatter_extension_has_widget ()

gboolean            e_mail_formatter_extension_has_widget
                                                        (EMailFormatterExtension *extension);

Returns whether the extension can provide a GtkWidget.

extension :

an EMailFormatterExtension

Returns :

Returns TRUE when extension reimplements get_widget(), FALSE otherwise.

e_mail_formatter_extension_get_widget ()

GtkWidget *         e_mail_formatter_extension_get_widget
                                                        (EMailFormatterExtension *extension,
                                                         EMailPartList *context,
                                                         EMailPart *part,
                                                         GHashTable *params);

A virtual function reimplemented in some mail formatter extensions. The function should construct a GtkWidget for given part. The params hash table can contain additional parameters listed in the <object> HTML element that has requested the widget.

When bind_dom_func is not NULL, the callee will set a callback function which should be called when the webpage is completely rendered to setup bindings between DOM events and the widget.

extension :

an EMailFormatterExtension

part :

an EMailPart

params :

a GHashTable

Returns :

Returns a GtkWidget or NULL, when error occurs or given extension does not reimplement this method.