*/
static int
-on_modest_tny_send_queue_compare_id(gconstpointer info, gconstpointer msg_id)
+on_modest_tny_send_queue_compare_id (gconstpointer info, gconstpointer msg_id)
{
g_return_val_if_fail (info && ((SendInfo*)info)->msg_id && msg_id, -1);
}
static void
-modest_tny_send_queue_info_free(SendInfo *info)
+modest_tny_send_queue_info_free (SendInfo *info)
{
g_free(info->msg_id);
g_slice_free(SendInfo, info);
}
+static GList*
+modest_tny_send_queue_lookup_info (ModestTnySendQueue *self, const gchar *msg_id)
+{
+ ModestTnySendQueuePrivate *priv;
+ priv = MODEST_TNY_SEND_QUEUE_GET_PRIVATE (self);
+
+ return g_queue_find_custom (priv->queue, msg_id, on_modest_tny_send_queue_compare_id);
+}
+
+
static void
-print_queue_item (gpointer data, gpointer user_data)
+queue_item_to_string (gpointer data, gchar **user_data)
{
SendInfo *info = (SendInfo*)data;
const gchar *status;
+ gchar *tmp;
+
+ if (!(user_data && *user_data))
+ return;
switch (info->status) {
case MODEST_TNY_SEND_QUEUE_UNKNOWN: status = "UNKNOWN"; break;
default: status= "UNEXPECTED"; break;
}
- g_debug ("\"%s\" => [%s]", info->msg_id, status);
+ tmp = g_strdup_printf ("%s\"%s\" => [%s]\n",
+ *user_data, info->msg_id, status);
+ g_free (*user_data);
+ *user_data = tmp;
}
-static GList*
-modest_tny_send_queue_lookup_info (ModestTnySendQueue *self, const gchar *msg_id)
+gchar*
+modest_tny_send_queue_to_string (ModestTnySendQueue *self)
{
+ gchar *str;
ModestTnySendQueuePrivate *priv;
+
+ g_return_val_if_fail (MODEST_IS_TNY_SEND_QUEUE(self), NULL);
priv = MODEST_TNY_SEND_QUEUE_GET_PRIVATE (self);
- MODEST_DEBUG_BLOCK (
- g_debug ("items in the send queue (%d):",
- g_queue_get_length (priv->queue));
- g_queue_foreach (priv->queue, print_queue_item, NULL);
- );
+ str = g_strdup_printf ("items in the send queue: %d\n",
+ g_queue_get_length (priv->queue));
- return g_queue_find_custom (priv->queue, msg_id, on_modest_tny_send_queue_compare_id);
+ g_queue_foreach (priv->queue, (GFunc)queue_item_to_string, &str);
+
+ return str;
}
static void
}
static void
-_on_added_to_outbox (TnySendQueue *self, gboolean cancelled, TnyMsg *msg, GError *err, gpointer user_data)
+_on_added_to_outbox (TnySendQueue *self, gboolean cancelled, TnyMsg *msg, GError *err,
+ gpointer user_data)
{
ModestTnySendQueuePrivate *priv = MODEST_TNY_SEND_QUEUE_GET_PRIVATE(self);
TnyHeader *header = NULL;
SendInfo *info = NULL;
GList* existing = NULL;
- const gchar* msg_id = NULL;
+ gchar* msg_id = NULL;
g_return_if_fail (TNY_IS_SEND_QUEUE(self));
g_return_if_fail (TNY_IS_CAMEL_MSG(msg));
/* Put newly added message in WAITING state */
existing = modest_tny_send_queue_lookup_info (MODEST_TNY_SEND_QUEUE(self), msg_id);
- if(existing != NULL)
- {
+ if(existing != NULL) {
info = existing->data;
info->status = MODEST_TNY_SEND_QUEUE_WAITING;
- }
- else
- {
-
+ } else {
info = g_slice_new (SendInfo);
-
- info->msg_id = strdup(msg_id);
+ info->msg_id = msg_id;
info->status = MODEST_TNY_SEND_QUEUE_WAITING;
g_queue_push_tail (priv->queue, info);
}
TnyHeader *header = NULL;
GError *err = NULL;
+ g_return_if_fail (MODEST_IS_TNY_SEND_QUEUE(self));
+
outbox = modest_tny_send_queue_get_outbox (TNY_SEND_QUEUE(self));
if (!outbox)
return;
modest_tny_send_queue_sending_in_progress (ModestTnySendQueue* self)
{
ModestTnySendQueuePrivate *priv;
+
+ g_return_val_if_fail (MODEST_IS_TNY_SEND_QUEUE(self), FALSE);
+
priv = MODEST_TNY_SEND_QUEUE_GET_PRIVATE (self);
return priv->current != NULL;
ModestTnySendQueueStatus
modest_tny_send_queue_get_msg_status (ModestTnySendQueue *self, const gchar *msg_id)
{
- GList *item;
- item = modest_tny_send_queue_lookup_info (self, msg_id);
- if(item == NULL) return MODEST_TNY_SEND_QUEUE_UNKNOWN;
- return ((SendInfo*)item->data)->status;
+ GList *item;
+
+ g_return_val_if_fail (MODEST_IS_TNY_SEND_QUEUE(self), MODEST_TNY_SEND_QUEUE_UNKNOWN);
+ g_return_val_if_fail (msg_id, MODEST_TNY_SEND_QUEUE_UNKNOWN);
+
+ item = modest_tny_send_queue_lookup_info (self, msg_id);
+ if (!item)
+ return MODEST_TNY_SEND_QUEUE_UNKNOWN;
+ else
+ return ((SendInfo*)item->data)->status;
}
gchar *
const gchar *subject;
time_t date_received;
+ g_return_val_if_fail (header && TNY_IS_HEADER(header), NULL);
+
/* Get message uid */
subject = tny_header_get_subject (header);
date_received = tny_header_get_date_received (header);
ModestTnySendQueuePrivate *priv;
gchar *msg_id = NULL;
GList *item;
+
priv = MODEST_TNY_SEND_QUEUE_GET_PRIVATE (self);
/* Get message uid */
gchar *msg_uid = NULL;
ModestTnySendQueue *send_queue = NULL;
+ g_return_val_if_fail (TNY_IS_HEADER(header), MODEST_TNY_SEND_QUEUE_UNKNOWN);
+
msg_uid = modest_tny_send_queue_get_msg_id (header);
cache_mgr = modest_runtime_get_cache_mgr ();
send_queue_cache = modest_cache_mgr_get_cache (cache_mgr,