Modified webpage: now tinymail repository is in gitorious.
[modest] / src / modest-tny-msg.h
index 14133b5..c6f2d92 100644 (file)
@@ -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
@@ -70,14 +70,18 @@ typedef enum _ModestTnyMsgReplyMode {
  * @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,
-                           GList *attachments);
+                           const gchar *bcc, const gchar* subject, 
+                           const gchar *references, const gchar *in_reply_to,
+                           const gchar *body,
+                           GList *attachments, gint *attached, TnyList *header_pairs, GError **err);
 
 /**
  * modest_tny_msg_new_html_plain:
@@ -88,16 +92,20 @@ TnyMsg* modest_tny_msg_new (const gchar* mailto, const gchar* mailfrom, const gc
  * @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,
-                                      GList *attachments);
+                                      GList *attachments, GList *images, gint *attached, TnyList *header_pairs, GError **err);
 
 /**
  * modest_tny_msg_find_body_part:
@@ -111,10 +119,20 @@ TnyMsg* modest_tny_msg_new_html_plain (const gchar* mailto, const gchar* mailfro
  */     
 TnyMimePart*  modest_tny_msg_find_body_part  (TnyMsg * self, gboolean want_html);
 
+/**
+ * modest_tny_msg_find_calendar_part:
+ * @self: a message
+ * 
+ * search a message for the calendar part.
+ * 
+ * Returns: the TnyMimePart for the found part, or NULL if no matching part is found
+ */     
+TnyMimePart* modest_tny_msg_find_calendar (TnyMsg *self);
+
 
 /**
  * modest_tny_msg_find_body:
- * @self: 
+ * @self: some #TnyMsg
  * @want_html: 
  * @is_html: if the original body was html or plain text
  * 
@@ -127,6 +145,8 @@ TnyMimePart*  modest_tny_msg_find_body_part  (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
@@ -144,8 +164,27 @@ TnyMsg*       modest_tny_msg_create_forward_msg   (TnyMsg *msg,
                                                   ModestTnyMsgForwardType forward_type);
 
 /**
+ * modest_tny_msg_create_reply_calendar_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
+ * @headers: #TnyList of #TnyPair with the headers to add
+ * 
+ * Creates a new message to reply to a calendar event
+ * 
+ * Returns: Returns: a new #TnyMsg, or NULL in case of error
+ **/
+TnyMsg*       modest_tny_msg_create_reply_calendar_msg     (TnyMsg *msg,
+                                                           TnyHeader *header,
+                                                           const gchar *from,
+                                                           const gchar *signature,
+                                                           TnyList *headers);
+
+/**
  * 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
@@ -155,11 +194,83 @@ TnyMsg*       modest_tny_msg_create_forward_msg   (TnyMsg *msg,
  * 
  * 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__ */