-/* Copyright (c) 2006, Nokia Corporation
+/* Copyright (c) 2006, 2007, 2008 Nokia Corporation
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* @subject: subject for the messdage
* @body: body for the message
* @attachments: a list of attachments (local URIs)
+ * @attached: a #gint pointer, returns the number of attachments really included.
+ * @error: a pointer for errors in message creation
*
* create a new TnyMsg with the given parameters
*
* Returns: a new TnyMsg (free with g_object_unref)
*/
TnyMsg* modest_tny_msg_new (const gchar* mailto, const gchar* mailfrom, const gchar *cc,
- const gchar *bcc, const gchar* subject, const gchar *body,
- GSList *attachments);
+ const gchar *bcc, const gchar* subject,
+ const gchar *references, const gchar *in_reply_to,
+ const gchar *body,
+ GList *attachments, gint *attached, GError **err);
/**
* modest_tny_msg_new_html_plain:
* @subject: subject for the message
* @html_body: body for the message in HTML
* @plain_body: body for the message in plain text
- * @attachments: a list of attachments (local URIs)
+ * @attachments: a list of attachments (mime parts)
+ * @images: a list of images (mime parts)
+ * @attached: a #gint pointer, returns the number of attachments really included.
+ * @error: a pointer for errors in message creation
*
* create a new TnyMsg with the given parameters
*
* Returns: a new TnyMsg (free with g_object_unref)
*/
TnyMsg* modest_tny_msg_new_html_plain (const gchar* mailto, const gchar* mailfrom, const gchar *cc,
- const gchar *bcc, const gchar* subject,
+ const gchar *bcc, const gchar* subject,
+ const gchar *references, const gchar *in_reply_to,
const gchar *html_body, const gchar *plain_body,
- GSList *attachments);
+ GList *attachments, GList *images, gint *attached, GError **err);
/**
* modest_tny_msg_find_body_part:
/**
* modest_tny_msg_find_body:
- * @self:
+ * @self: some #TnyMsg
* @want_html:
+ * @is_html: if the original body was html or plain text
*
* gets the body of a message as text, if @want_html is true, try HTML mail
* first.
* Returns: the body of the message as text, or NULL if it is not found
* the text should be freed with
**/
-gchar* modest_tny_msg_get_body (TnyMsg *self, gboolean want_html);
+gchar* modest_tny_msg_get_body (TnyMsg *self, gboolean want_html, gboolean *is_html);
+
+
/**
/**
* modest_tny_msg_create_reply_msg:
- * @msg: a valid #TnyMsg instance
+ * @msg: a valid #TnyMsg instance, or %NULL
+ * @header: a valid #TnyHeader instance, or %NULL
* @from: the sender of the forwarded mail
* @signature: signature to add to the reply message
* @reply_type: the type of formatting used to create the reply message
*
* Returns: Returns: a new #TnyMsg, or NULL in case of error
**/
-TnyMsg* modest_tny_msg_create_reply_msg (TnyMsg *msg,
+TnyMsg* modest_tny_msg_create_reply_msg (TnyMsg *msg,
+ TnyHeader *header,
const gchar *from,
const gchar *signature,
ModestTnyMsgReplyType reply_type,
ModestTnyMsgReplyMode reply_mode);
+/**
+ * modest_tny_msg_get_parent_unique_id
+ * @msg: a valid #TnyMsg instance, or %NULL
+ *
+ * gets the unique ID of the 'parent' (the original msg replied to or forward)
+ *
+ * Returns: Returns: a the parent uid, or NULL if there is none.
+ **/
+const gchar* modest_tny_msg_get_parent_uid (TnyMsg *msg);
+
+
+/**
+ * modest_tny_msg_estimate_size:
+ * @plain_body: a string
+ * @html_body: a string
+ * @parts_number: a gint (number of additional parts)
+ * @parts_size: a guint64 (sum of size of the additional parts)
+ *
+ * Estimates the size of the resulting message obtained from the size of the body
+ * parts, and adding the estimation of size headers.
+ */
+guint64
+modest_tny_msg_estimate_size (const gchar *plain_body, const gchar *html_body,
+ guint64 parts_count,
+ guint64 parts_size);
+
+/**
+ * modest_tny_msg_get_all_recipients_list:
+ * @header: a #TnyHeader
+ *
+ * Obtains a list of all the addresses available in @header.
+ *
+ * Returns: a newly allocated #GSList of strings. Caller should free strings and list.
+ */
+GSList *
+modest_tny_msg_header_get_all_recipients_list (TnyHeader *header);
+
+/**
+ * modest_tny_msg_get_all_recipients_list:
+ * @msg: a #TnyMsg
+ *
+ * Obtains a list of all the addresses available in a message header.
+ *
+ * Returns: a newly allocated #GSList of strings. Caller should free strings and list.
+ */
+GSList *
+modest_tny_msg_get_all_recipients_list (TnyMsg *msg);
+
+/**
+ * modest_tny_msg_get_references:
+ * @msg: a #TnyMsg
+ * @message_id: a pointer to a string
+ * @references: a pointer to a string
+ * @in_reply_to: a pointer to a string
+ *
+ * obtains the Message-ID, References and In-Reply-To fields of a
+ * message
+ */
+void modest_tny_msg_get_references (TnyMsg *msg, gchar **message_id, gchar **references, gchar **in_reply_to);
+
+/**
+ * modest_tny_msg_get_attachments_parent:
+ * @msg: a #TnyMsg
+ *
+ * the mime part of the message attachments should be below
+ *
+ * Returns: the mime part (ref owned by caller)
+ */
+TnyMimePart *modest_tny_msg_get_attachments_parent (TnyMsg *msg);
+
+
#endif /* __MODEST_TNY_MSG_H__ */