X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmodest-tny-msg.h;h=a15372b0723f2bc8269f8f36128974a8cfd73d4a;hp=edfcdd5b09104cd9a064afcd768312329f553495;hb=e45958deaf9701399c552ea0d84c2447efacd4ca;hpb=4acb405a5f486a979865804a475f6159ac74c32a diff --git a/src/modest-tny-msg.h b/src/modest-tny-msg.h index edfcdd5..a15372b 100644 --- a/src/modest-tny-msg.h +++ b/src/modest-tny-msg.h @@ -1,4 +1,4 @@ -/* 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 @@ -31,35 +31,97 @@ #define __MODEST_TNY_MSG_H__ /** - * modest_tny_msg_find_body_part: - * @self: a message - * @want_html: prefer HTML-part when there are multiple body parts? + * ModestTnyMsgForwardType: + * + * How the original message will be forwarded to the recipient + */ +typedef enum _ModestTnyMsgForwardType { + MODEST_TNY_MSG_FORWARD_TYPE_INLINE = 1, + MODEST_TNY_MSG_FORWARD_TYPE_ATTACHMENT +} ModestTnyMsgForwardType; + +/** + * ModestTnyMsgReplyType: + * + * How the original message will be forwarded to the recipient + */ +typedef enum _ModestTnyMsgReplyType { + MODEST_TNY_MSG_REPLY_TYPE_CITE = 1, + MODEST_TNY_MSG_REPLY_TYPE_QUOTE +} ModestTnyMsgReplyType; + +/** + * ModestTnyMsgReplyMode: + * + * Who will be the recipients of the replied message + */ +typedef enum _ModestTnyMsgReplyMode { + MODEST_TNY_MSG_REPLY_MODE_SENDER, + MODEST_TNY_MSG_REPLY_MODE_LIST, + MODEST_TNY_MSG_REPLY_MODE_ALL +} ModestTnyMsgReplyMode; + +/** + * modest_tny_msg_new: + * @mailto: recipient for the message + * @mailfrom: sender of this message + * @cc: Cc: address for the message + * @bcc: Bcc: address for the message + * @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 * - * search a message for the body part. if @want_html is true, try HTML mail - * first. + * create a new TnyMsg with the given parameters * - * Returns: the TnyMsgMimePart for the found part, or NULL if no matching part is found + * Returns: a new TnyMsg (free with g_object_unref) */ -TnyMimePart *modest_tny_msg_find_body_part (TnyMsg * self, gboolean want_html); +TnyMsg* modest_tny_msg_new (const gchar* mailto, const gchar* mailfrom, const gchar *cc, + const gchar *bcc, const gchar* subject, const gchar *body, + GList *attachments, gint *attached, GError **err); +/** + * modest_tny_msg_new_html_plain: + * @mailto: recipient for the message + * @mailfrom: sender of this message + * @cc: Cc: address for the message + * @bcc: Bcc: address for the message + * @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 (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 *html_body, const gchar *plain_body, + GList *attachments, GList *images, gint *attached, GError **err); /** - * modest_tny_msg_get_nth_part: + * modest_tny_msg_find_body_part: * @self: a message - * @index: number (1-based) of the part to retrieve + * @want_html: prefer HTML-part when there are multiple body parts? * - * search for the nth (mime) part in the message + * search a message for the body part. if @want_html is true, try HTML mail + * first. * - * Returns: the TnyMsgMimePart for the found part, or NULL if no - * matching part is foundi; must be unref'd - */ -TnyMimePart* modest_tny_msg_find_nth_part (TnyMsg *msg, gint index); + * Returns: the TnyMsgMimePart for the found part, or NULL if no matching part is found + */ +TnyMimePart* modest_tny_msg_find_body_part (TnyMsg * self, gboolean want_html); /** * 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. @@ -67,6 +129,72 @@ TnyMimePart* modest_tny_msg_find_nth_part (TnyMsg *msg, gint index); * 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_forward_msg: + * @msg: a valid #TnyMsg instance + * @from: the sender of the forwarded mail + * @signature: signature to attach to the reply + * @forward_type: the type of formatting used to create the forwarded message + * + * Creates a forwarded message from an existing one + * + * Returns: a new #TnyMsg, or NULL in case of error + **/ +TnyMsg* modest_tny_msg_create_forward_msg (TnyMsg *msg, + const gchar *from, + const gchar *signature, + ModestTnyMsgForwardType forward_type); + +/** + * modest_tny_msg_create_reply_msg: + * @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 + * @reply_mode: the mode of reply: to the sender only, to a mail list or to all + * + * Creates a new message to reply to an existing one + * + * Returns: Returns: a new #TnyMsg, or NULL in case of error + **/ +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); #endif /* __MODEST_TNY_MSG_H__ */