* cache the modest-conf keynames, so we don't have to re-calculate
[modest] / src / modest-mail-operation.h
index 2894a09..eac5235 100644 (file)
@@ -32,6 +32,7 @@
 
 #include <tny-transport-account.h>
 #include <tny-folder-store.h>
+#include <widgets/modest-msg-edit-window.h>
 
 G_BEGIN_DECLS
 
@@ -103,7 +104,19 @@ typedef void (*GetMsgAsyncUserCallback) (ModestMailOperation *mail_op,
                                         gpointer user_data);
 
 /**
- * XferMsgAsynUserCallback:
+ * GetMimePartSizeCallback:
+ *
+ * @mail_op: the current #ModestMailOperation.
+ * @size: size of the attachment
+ * @user_data: generic data passed to user defined function.
+ *
+ */
+typedef void (*GetMimePartSizeCallback) (ModestMailOperation *mail_op, 
+                                        gssize size,
+                                        gpointer user_data);
+
+/**
+ * XferAsyncUserCallback:
  *
  * @obj: a #GObject generic object which has created current mail operation.
  * @user_data: generic data passed to user defined function.
@@ -112,7 +125,7 @@ typedef void (*GetMsgAsyncUserCallback) (ModestMailOperation *mail_op,
  * used as tinymail operation callback. The private function fills private 
  * fields of mail operation and calls user defined callback if it exists.
  */
-typedef void (*XferMsgsAsynUserCallback) (const GObject *obj, gpointer user_data);
+typedef void (*XferAsyncUserCallback) (ModestMailOperation *mail_op, gpointer user_data);
 
 
 /**
@@ -134,7 +147,7 @@ typedef void (*RefreshAsyncUserCallback) (ModestMailOperation *mail_op,
  * UpdateAccountCallback:
  *
  * @obj: a #GObject generic object which has created current mail operation.
- * @new_messages: the amount of new messages received
+ * @new_headers: the list of new headers received
  * @user_data: generic data passed to user defined function.
  *
  * This is the callback of the update_account operation. It informs
@@ -142,7 +155,7 @@ typedef void (*RefreshAsyncUserCallback) (ModestMailOperation *mail_op,
  * downloaded
  */
 typedef void (*UpdateAccountCallback) (ModestMailOperation *self, 
-                                      gint new_messages,
+                                      TnyList *new_headers,
                                       gpointer user_data);
 
 /* This struct represents the internal state of a mail operation in a
@@ -316,19 +329,21 @@ void    modest_mail_operation_send_new_mail   (ModestMailOperation *self,
  * #TnyTransportAccount. This operation is synchronous, so the
  * #ModestMailOperation should not be added to any
  * #ModestMailOperationQueue
+ *
   **/
-void    modest_mail_operation_save_to_drafts   (ModestMailOperation *self,
-                                               TnyTransportAccount *transport_account,
-                                               TnyMsg *draft_msg,
-                                               const gchar *from,
-                                               const gchar *to,
-                                               const gchar *cc,
-                                               const gchar *bcc,
-                                               const gchar *subject,
-                                               const gchar *plain_body,
-                                               const gchar *html_body,
-                                               const GList *attachments_list,
-                                               TnyHeaderFlags priority_flags);
+void modest_mail_operation_save_to_drafts   (ModestMailOperation *self,
+                                            TnyTransportAccount *transport_account,
+                                            TnyMsg *draft_msg,
+                                            ModestMsgEditWindow *edit_window,
+                                            const gchar *from,
+                                            const gchar *to,
+                                            const gchar *cc,
+                                            const gchar *bcc,
+                                            const gchar *subject,
+                                            const gchar *plain_body,
+                                            const gchar *html_body,
+                                            const GList *attachments_list,
+                                            TnyHeaderFlags priority_flags);
 /**
  * modest_mail_operation_update_account:
  * @self: a #ModestMailOperation
@@ -415,7 +430,7 @@ void          modest_mail_operation_rename_folder  (ModestMailOperation *self,
  * @folder: a #TnyFolder
  * @parent: the new parent of the folder as #TnyFolderStore
  * @delete_original: wheter or not delete the original folder
- * @user_callback: a #XferMsgsAsynUserCallback function to call after tinymail callback execution.
+ * @user_callback: a #XferAsyncUserCallback function to call after tinymail callback execution.
  * @user_data: generic user data which will be passed to @user_callback function.
  * 
  * Sets the given @folder as child of a provided #TnyFolderStore. This
@@ -432,7 +447,7 @@ void          modest_mail_operation_xfer_folder    (ModestMailOperation *self,
                                                    TnyFolder *folder,
                                                    TnyFolderStore *parent,
                                                    gboolean delete_original,
-                                                   XferMsgsAsynUserCallback user_callback,
+                                                   XferAsyncUserCallback user_callback,
                                                    gpointer user_data);
                                                    
 
@@ -444,7 +459,7 @@ void          modest_mail_operation_xfer_folder    (ModestMailOperation *self,
  * @header_list: a #TnyList of #TnyHeader to transfer
  * @folder: the #TnyFolder where the messages will be transferred
  * @delete_original: whether or not delete the source messages
- * @user_callback: a #XferMsgsAsynUserCallback function to call after tinymail callback execution.
+ * @user_callback: a #XferAsyncUserCallback function to call after tinymail callback execution.
  * @user_data: generic user data which will be passed to @user_callback function.
  * 
  * Asynchronously transfers messages from their current folder to
@@ -472,7 +487,7 @@ void          modest_mail_operation_xfer_msgs      (ModestMailOperation *self,
                                                    TnyList *header_list, 
                                                    TnyFolder *folder,
                                                    gboolean delete_original,
-                                                   XferMsgsAsynUserCallback user_callback,
+                                                   XferAsyncUserCallback user_callback,
                                                    gpointer user_data);
 
 /**
@@ -491,6 +506,21 @@ void          modest_mail_operation_remove_msg     (ModestMailOperation *self,
                                                    gboolean remove_to_trash);
 
 /**
+ * modest_mail_operation_remove_msg:
+ * @self: a #ModestMailOperation
+ * @headers: the #TnyList of the messages to delete
+ * @remove_to_trash: TRUE to move it to trash or FALSE to delete it
+ * permanently
+ * 
+ * Deletes a list of messages. This operation is synchronous, so the
+ * #ModestMailOperation should not be added to any
+ * #ModestMailOperationQueue
+ **/
+void          modest_mail_operation_remove_msgs     (ModestMailOperation *self,
+                                                    TnyList *headers,
+                                                    gboolean remove_to_trash);
+
+/**
  * modest_mail_operation_get_msg:
  * @self: a #ModestMailOperation
  * @header_list: the #TnyHeader of the message to get