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,
+ MODEST_TNY_SEND_QUEUE_FAILED
+} ModestTnySendQueueStatus;
+
struct _ModestTnySendQueue {
TnyCamelSendQueue parent;
};
struct _ModestTnySendQueueClass {
TnyCamelSendQueueClass parent_class;
+
+ void (*status_changed)(ModestTnySendQueue *self, const gchar *msg_id, ModestTnySendQueueStatus status);
};
/**
/**
+ * modest_tny_send_queue_ADD:
+ * @self: a valid #ModestTnySendQueue instance
+ * @msg: a valid #TnyMsg instance to send
+ *
+ * Add @msg to outbox folder waiting to be sent by
+ * its account send queue.
+ */
+void modest_tny_send_queue_add (ModestTnySendQueue *self, TnyMsg *msg, GError **err);
+
+/**
* modest_tny_send_queue_try_to_send:
* @self: a valid #ModestTnySendQueue instance
*
*/
void modest_tny_send_queue_try_to_send (ModestTnySendQueue* self);
-
/**
* modest_tny_send_queue_sending_in_progress:
* @self: a valid #ModestTnySendQueue instance
*/
gboolean modest_tny_send_queue_msg_is_being_sent (ModestTnySendQueue* self, const gchar *msg_id);
+/**
+ * modest_tny_send_queue_get_msg_status:
+ * @self: a valid #ModestTnySendQueue instance
+ * @msg_id: The message id to check
+ *
+ * Returns the status of the message identified with @msg_id. The status tells
+ * whether the message is currently being sent, is waiting for being sent or
+ * sending the message failed.
+ */
+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);
G_END_DECLS