* src/widgets/modest-folder-view.c:
[modest] / src / modest-mail-operation.h
index 46990ad..abbdc9a 100644 (file)
@@ -33,6 +33,7 @@
 #include <tny-transport-account.h>
 #include <tny-folder-store.h>
 #include <widgets/modest-msg-edit-window.h>
+#include <modest-tny-send-queue.h>
 
 G_BEGIN_DECLS
 
@@ -69,9 +70,13 @@ typedef enum _ModestMailOperationStatus {
 typedef enum {
        MODEST_MAIL_OPERATION_TYPE_SEND,
        MODEST_MAIL_OPERATION_TYPE_RECEIVE,
+       MODEST_MAIL_OPERATION_TYPE_SEND_AND_RECEIVE,
+       MODEST_MAIL_OPERATION_TYPE_SEND,
        MODEST_MAIL_OPERATION_TYPE_OPEN,
        MODEST_MAIL_OPERATION_TYPE_DELETE,
        MODEST_MAIL_OPERATION_TYPE_INFO,
+       MODEST_MAIL_OPERATION_TYPE_RUN_QUEUE,
+       MODEST_MAIL_OPERATION_TYPE_SYNC_FOLDER,
        MODEST_MAIL_OPERATION_TYPE_UNKNOWN,
 } ModestMailOperationTypeOperation;
 
@@ -629,6 +634,31 @@ void          modest_mail_operation_get_msgs_full   (ModestMailOperation *self,
                                                     gpointer user_data,
                                                     GDestroyNotify notify);
 
+/**
+ * modest_mail_operation_run_queue:
+ * @self: a #ModestMailOperation
+ * @queue: a #ModestTnySendQueue
+ *
+ * This mail operation is special. It should be running every time the send queue
+ * is running (after queue-start), and we should notify end of the operation
+ * after queue-end. Then, we should only set this queue on queue-start signal, and
+ * it will clean up the operation (notify end) on queue-end.
+ */
+void          modest_mail_operation_run_queue       (ModestMailOperation *self,
+                                                    ModestTnySendQueue *queue);
+
+/**
+ * modest_mail_operation_sync_folder:
+ * @self: a #ModestMailOperation
+ * @folder: a #TnyFolder
+ * @expunge: a #gboolean
+ *
+ * mail operation wrapper around tny_folder_sync () method, to keep modest
+ * running while we do that sync operation.
+ */
+void          modest_mail_operation_sync_folder     (ModestMailOperation *self,
+                                                    TnyFolder *folder, gboolean expunge);
+
 /* Functions to control mail operations */
 /**
  * modest_mail_operation_get_task_done: