EMailParserExtension

EMailParserExtension

Types and Values

Object Hierarchy

    GObject
    ╰── EMailParserExtension

Description

Functions

e_mail_parser_extension_parse ()

gboolean
e_mail_parser_extension_parse (EMailParserExtension *extension,
                               EMailParser *parser,
                               CamelMimePart *mime_part,
                               GString *part_id,
                               GCancellable *cancellable,
                               GQueue *out_mail_parts);

A virtual function reimplemented in all mail parser extensions. The function decodes and parses the mime_part , appending one or more EMailPart<!-//>s to the out_mail_parts queue.

When the function is unable to parse the mime_part (either because it's broken or because it is a different MIME type then the extension is specialized for), the function will return FALSE to indicate to the EMailParser that it should pick another extension.

When the mime_part contains for example multipart/mixed of one RFC822 message with an attachment and of one image, then parser must make sure that parts are appeded to out_mail_parts in the correct order.

part1.rfc822.plain_text part1.rfc822.attachment part2.image

Implementation of this function must be thread-safe.

Parameters

extension

an EMailParserExtension

 

parser

a EMailParser

 

mime_part

(allow-none) a CamelMimePart to parse

 

part_id

a GString to which parser will append ID of the parsed part.

 

cancellable

(allow-none) A GCancellable

 

out_mail_parts

a GQueue to deposit EMailPart instances

 

Returns

TRUE if the mime_part was handled (even if no EMailPart<!-//>s were added to out_mail_parts ), or FALSE if the mime_part was not handled

Types and Values

struct EMailParserExtension

struct EMailParserExtension;

The EMailParserExtension is an abstract interface for all extensions for EMailParser.