static gboolean empe_msg_deliverystatus_parse (EMailParserExtension *extension, EMailParser *parser, CamelMimePart *part, GString *part_id, GCancellable *cancellable, GQueue *out_mail_parts) { GQueue work_queue = G_QUEUE_INIT; EMailPart *mail_part; gsize len; len = part_id->len; g_string_append (part_id, ".delivery-status"); mail_part = e_mail_part_new (part, part_id->str); e_mail_part_set_mime_type (mail_part, "text/plain"); g_string_truncate (part_id, len); g_queue_push_tail (&work_queue, mail_part); /* The only reason for having a separate parser for * message/delivery-status is to display the part as an attachment */ e_mail_parser_wrap_as_attachment (parser, part, part_id, &work_queue); e_queue_transfer (&work_queue, out_mail_parts); return TRUE; }
static gboolean empe_attachment_bar_parse (EMailParserExtension *extension, EMailParser *parser, CamelMimePart *part, GString *part_id, GCancellable *cancellable, GQueue *out_mail_parts) { EMailPart *mail_part; gint len; len = part_id->len; g_string_append (part_id, ".attachment-bar"); mail_part = e_mail_part_attachment_bar_new (part, part_id->str); e_mail_part_set_mime_type (mail_part, parser_mime_types[0]); g_string_truncate (part_id, len); g_queue_push_tail (out_mail_parts, mail_part); return TRUE; }