Modified webpage: now tinymail repository is in gitorious.
[modest] / src / modest-tny-msg.h
index 09eeaa3..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:
@@ -89,16 +93,19 @@ TnyMsg* modest_tny_msg_new (const gchar* mailto, const gchar* mailfrom, const gc
  * @html_body: body for the message in HTML
  * @plain_body: body for the message in plain text
  * @attachments: a list of attachments (mime parts)
- * @attachments: a list of images (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 *images);
+                                      GList *attachments, GList *images, gint *attached, TnyList *header_pairs, GError **err);
 
 /**
  * modest_tny_msg_find_body_part:
@@ -112,6 +119,16 @@ 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:
@@ -129,35 +146,6 @@ gchar*        modest_tny_msg_get_body        (TnyMsg *self, gboolean want_html,
 
 
 
-/**
- * modest_tny_mime_part_get_header_value:
- * @self: some #TnyMimePart
- * @header: the header to get the value for
- * 
- * gets the mail header value for a #TnyMimePart as a newly allocated string,
- * or NULL if it cannot be found
- * 
- * NOTE: this function should be part of tinymail, or maybe modest-tny-mime-part....
- *
- * Returns: the header value or NULL
- **/
-gchar*       modest_tny_mime_part_get_header_value (TnyMimePart *part, const gchar *header);
-
-
-/**
- * modest_tny_mime_part_is_attachment_for_modest:
- * @self: some #TnyMimePart
- *
- * determine whether the given mime part is an attachment; note modest considers
- * more things attachments than tinymail does; in particular, modest considers
- * non-image 'inline' things to be attachments; check the source for details
- * 
- * NOTE: this function should maybe in modest-tny-mime-part....
- *
- * Returns: TRUE if it's attachment for modest, or FALSE otherwise
- **/
-gboolean     modest_tny_mime_part_is_attachment_for_modest (TnyMimePart *part);
-
 
 /**
  * modest_tny_msg_create_forward_msg:
@@ -176,6 +164,24 @@ 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, or %NULL
  * @header: a valid #TnyHeader instance, or %NULL
@@ -207,6 +213,64 @@ TnyMsg*       modest_tny_msg_create_reply_msg     (TnyMsg *msg,
 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__ */