Modified webpage: now tinymail repository is in gitorious.
[modest] / src / modest-tny-send-queue.h
index 0e6a1de..51e1fef 100644 (file)
@@ -51,6 +51,7 @@ typedef struct _ModestTnySendQueue      ModestTnySendQueue;
 typedef struct _ModestTnySendQueueClass ModestTnySendQueueClass;
 
 typedef enum {
+       MODEST_TNY_SEND_QUEUE_UNKNOWN,
        MODEST_TNY_SEND_QUEUE_WAITING,
        MODEST_TNY_SEND_QUEUE_SUSPENDED,
        MODEST_TNY_SEND_QUEUE_SENDING,
@@ -64,6 +65,7 @@ struct _ModestTnySendQueue {
 struct _ModestTnySendQueueClass {
        TnyCamelSendQueueClass parent_class;
 
+       /* Signals */
        void (*status_changed)(ModestTnySendQueue *self, const gchar *msg_id, ModestTnySendQueueStatus status);
 };
 
@@ -89,18 +91,6 @@ GType        modest_tny_send_queue_get_type    (void) G_GNUC_CONST;
 ModestTnySendQueue*    modest_tny_send_queue_new        (TnyCamelTransportAccount *account);
 
 
-
-/**
- * modest_tny_send_queue_try_to_send:
- * @self: a valid #ModestTnySendQueue instance
- * 
- * Try to send the messages that are in the queue's outbox folder.
- * This is not always necessary because the queue tries to send 
- * messages as soon as a message is added, and as soon as the queue 
- * is instantiated.
- */
-void modest_tny_send_queue_try_to_send (ModestTnySendQueue* self);
-
 /**
  * modest_tny_send_queue_sending_in_progress:
  * @self: a valid #ModestTnySendQueue instance
@@ -109,7 +99,6 @@ void modest_tny_send_queue_try_to_send (ModestTnySendQueue* self);
  */
 gboolean modest_tny_send_queue_sending_in_progress (ModestTnySendQueue* self);
 
-#if 0
 /**
  * modest_tny_send_queue_msg_is_being_sent:
  * @self: a valid #ModestTnySendQueue instance
@@ -118,7 +107,6 @@ gboolean modest_tny_send_queue_sending_in_progress (ModestTnySendQueue* self);
  * Checks if message identifies with @msg_id is currently being sent.
  */
 gboolean modest_tny_send_queue_msg_is_being_sent (ModestTnySendQueue* self, const gchar *msg_id);
-#endif
 
 /**
  * modest_tny_send_queue_get_msg_status:
@@ -132,6 +120,68 @@ gboolean modest_tny_send_queue_msg_is_being_sent (ModestTnySendQueue* self, cons
 ModestTnySendQueueStatus
 modest_tny_send_queue_get_msg_status (ModestTnySendQueue *self, const gchar *msg_id);
 
+gchar *
+modest_tny_send_queue_get_msg_id (TnyHeader *header);
+
+/**
+ * modest_tny_all_send_queues_get_msg_status:
+ * @header: a #TnyHeader
+ *
+ * obtain status of message (searching for it in all queues)
+ *
+ * Returns: a #ModestTnySendQueueStatus
+ */
+ModestTnySendQueueStatus
+modest_tny_all_send_queues_get_msg_status (TnyHeader *header);
+
+
+/**
+ * modest_tny_send_queue_to_string:
+ * @self: a valid #ModestTnySendQueue instance
+ *
+ * get a string representation of a send queue (for debugging)
+ *
+ * Returns: a newly allocated string, or NULL in case of error
+ */
+gchar* modest_tny_send_queue_to_string (ModestTnySendQueue *self);
+
+typedef void (*ModestTnySendQueueWakeupFunc) (ModestTnySendQueue *self, gboolean cancelled, GError *err, gpointer userdata);
+
+/**
+ * modest_tny_send_queue_wakeup:
+ * @self: a valid #ModestTnySendQueue instance
+ *
+ * Wakes up all suspended messages in the send queue. This means that
+ * the send queue will try to send them again. Note that you'd
+ * probably need a tny_send_queue_flush to force it
+ */
+void   modest_tny_send_queue_wakeup (ModestTnySendQueue *self, 
+                                    ModestTnySendQueueWakeupFunc callback,
+                                    gpointer userdata);
+
+/**
+ * modest_tny_send_queue_get_requested_send_receive:
+ * @self: a #ModestTnySendQueue
+ *
+ * gets if the last request to send queue was an interactive send
+ * receive or not.
+ *
+ * Returns: %TRUE if last request was an interactive send receive,
+ * %FALSE otherwise.
+ */
+gboolean modest_tny_send_queue_get_requested_send_receive (ModestTnySendQueue *self);
+
+/**
+ * modest_tny_send_queue_set_requested_send_receive:
+ * @self: a #ModestTnySendQueue
+ * @requested_send_receive: mode.
+ *
+ * this should be called on each call to process the queue, to distinguish if the
+ * action was an interactive send receive.
+ */
+void modest_tny_send_queue_set_requested_send_receive (ModestTnySendQueue *self, gboolean requested_send_receive);
+
+
 G_END_DECLS
 
 #endif /* __MODEST_TNY_SEND_QUEUE_H__ */