* @self: a #ModestFormatter
* @part: a non-NULL #TnyMimePart with the body of the original message
* @header: a non-NULL #TnyHeader of the original message
+ * @attachments: a #GList of attachments in original message
*
* Creates a new message with a text body made from the body of the
* original message quoted. This function is locale-sensitive.
* Quoted message
* -------------
* Body:
- * On 1970/01/01 somemailATmodest.org wrote:
+ * ------ Original message -----
* > This is the body of the text
+ * > Attachment: file1.txt
* </para></programlisting>
*
* Returns: a newly formatted #TnyMsg or NULL in case of error
**/
-TnyMsg * modest_formatter_quote (ModestFormatter *self, TnyMimePart *part, TnyHeader *header);
+TnyMsg * modest_formatter_quote (ModestFormatter *self, TnyMimePart *part, TnyHeader *header, GList *attachments);
/**
* @self: a #ModestFormatter
* @part: a non-NULL #TnyMimePart with the body of the original message
* @header: a non-NULL #TnyHeader of the original message
+ * @attachments: a #GList of attachments
*
* Creates a new message with a text body made from the body of the
* original message inlined ready to be forwarded. This function is
*
* Returns: a newly formatted #TnyMsg or NULL in case of error
**/
-TnyMsg * modest_formatter_inline (ModestFormatter *self, TnyMimePart *part, TnyHeader *header);
+TnyMsg * modest_formatter_inline (ModestFormatter *self, TnyMimePart *part, TnyHeader *header, GList *attachments);
/**
* modest_formatter_attach:
**/
TnyMsg * modest_formatter_attach (ModestFormatter *self, TnyMimePart *part, TnyHeader *header);
+/**
+ * modest_formatter_create_message:
+ * @self: a #ModestFormatter
+ * @single_body: a #gboolean
+ * @has_attachments: a #gboolean
+ *
+ * Creates an empty #TnyMsg with the expected parts for Modest
+ * formatters and body embedders.
+ *
+ * If @has_attachments is %TRUE, the mail will be formatted as
+ * "multipart/mixed", and attachments will be stored as parts
+ * of it. The body will be just another multipart. If %FALSE,
+ * the bodies will be stored directly as the message.
+ *
+ * If @single_body is %TRUE, the body will be stored as a
+ * "multipart/alternative", and the parts will be the different
+ * alternatives. If %FALSE, this body will be stored directly.
+ */
+TnyMsg * modest_formatter_create_message (ModestFormatter *self, gboolean single_body, gboolean has_attachments);
+
+/**
+ * modest_formatter_create_body_part:
+ * @self: a #ModestFormatter
+ *
+ * Obtains a new formatted body part for @msg, or
+ * @msg itself if the body is intended to be stored directly
+ * in it.
+ */
+TnyMimePart * modest_formatter_create_body_part (ModestFormatter *self, TnyMsg *msg);
G_END_DECLS