#include <tny-transport-account.h>
#include <tny-folder-store.h>
-#include <widgets/modest-msg-edit-window.h>
#include <modest-tny-send-queue.h>
#include <modest-tny-account-store.h>
TnyFolder *new_folder,
gpointer user_data);
+/**
+ * SyncFolderCallback:
+ *
+ * @self: a #ModestMailOperation
+ * @folder: the #TnyFolder to sync
+ * @user_data: generic data passed to user defined function.
+ *
+ * This is the callback of the sync_folder operation.
+ */
+typedef void (*SyncFolderCallback) (ModestMailOperation *self,
+ TnyFolder *folder,
+ gpointer user_data);
+
+
/* This struct represents the internal state of a mail operation in a
given time */
typedef struct {
const gchar *account_name,
gboolean poke_all,
gboolean interactive,
- RetrieveAllCallback retrieve_all_cb,
UpdateAccountCallback callback,
gpointer user_data);
gpointer user_data);
/**
- * modest_mail_operation_remove_msg:
+ * modest_mail_operation_remove_msgs:
* @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
gboolean remove_to_trash);
/**
+ * modest_mail_operation_get_msg_and_parts:
+ * @self: a #ModestMailOperation
+ * @header_list: the #TnyHeader of the message to get
+ * @progress_feedback: a #gboolean. If %TRUE, we'll get progress bar feedback.
+ * @user_callback: a #GetMsgAsyncUserCallback function to call after tinymail callback execution.
+ * @user_data: generic user data which will be passed to @user_callback function.
+ *
+ * Gets a message from header using an user defined @callback function
+ * pased as argument. This operation is asynchronous, so the
+ * #ModestMailOperation should be added to #ModestMailOperationQueue
+ *
+ * This operation also retrieves to cache all parts of the message. This is needed for
+ * forward operation.
+ **/
+void modest_mail_operation_get_msg_and_parts (ModestMailOperation *self,
+ TnyHeader *header,
+ TnyList *parts,
+ gboolean progress_feedback,
+ GetMsgAsyncUserCallback user_callback,
+ gpointer user_data);
+/**
* modest_mail_operation_get_msg:
* @self: a #ModestMailOperation
* @header_list: the #TnyHeader of the message to get
GetMsgAsyncUserCallback user_callback,
gpointer user_data);
/**
+ * modest_mail_operation_find_msg:
+ * @self: a #ModestMailOperation
+ * @msg_uid: a string
+ * @progress_feedback: a #gboolean. If %TRUE, we'll get progress bar feedback.
+ * @user_callback: a #GetMsgAsyncUserCallback function to call after tinymail callback execution.
+ * @user_data: generic user data which will be passed to @user_callback function.
+ *
+ * Gets a message from a uid using an user defined @callback function
+ * pased as argument. This operation is asynchronous, so the
+ * #ModestMailOperation should be added to #ModestMailOperationQueue
+ **/
+void modest_mail_operation_find_msg (ModestMailOperation *self,
+ TnyFolder *folder,
+ const gchar *msg_uid,
+ gboolean progress_feedback,
+ GetMsgAsyncUserCallback user_callback,
+ gpointer user_data);
+
+/**
* modest_mail_operation_get_msgs_full:
* @self: a #ModestMailOperation
* @header_list: a #TnyList of #TnyHeader objects to get and process
* running while we do that sync operation.
*/
void modest_mail_operation_sync_folder (ModestMailOperation *self,
- TnyFolder *folder, gboolean expunge);
+ TnyFolder *folder,
+ gboolean expunge,
+ SyncFolderCallback callback,
+ gpointer user_data);
/**
* modest_mail_operation_shutdown: