|  |  |  | Evolution Mail Formatter Reference Manual |  | 
|---|---|---|---|---|
| Top | Description | Object Hierarchy | ||||
struct EMailParserExtension; enum EMailParserExtensionFlags; gboolean e_mail_parser_extension_parse (EMailParserExtension *extension,EMailParser *parser,CamelMimePart *mime_part,GString *part_id,GCancellable *cancellable,GQueue *out_mail_parts);
struct EMailParserExtension;
The EMailParserExtension is an abstract interface for all extensions for EMailParser.
typedef enum {
 /*< flags >*/
	E_MAIL_PARSER_EXTENSION_INLINE = 1 << 0,
	E_MAIL_PARSER_EXTENSION_INLINE_DISPOSITION = 1 << 1,
	E_MAIL_PARSER_EXTENSION_COMPOUND_TYPE = 1 << 2
} EMailParserExtensionFlags;
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.
| 
 | an EMailParserExtension | 
| 
 | a EMailParser | 
| 
 | (allow-none) a CamelMimePart to parse | 
| 
 | a GString to which parser will append ID of the parsed part. | 
| 
 | (allow-none) A GCancellable | 
| 
 | a GQueue to deposit EMailPart instances | 
| Returns : | TRUEif themime_partwas handled (even if no
EMailPart<!-//>s were added toout_mail_parts), orFALSEif themime_partwas not handled |