X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fmodest-mail-operation-queue.c;h=f00e992e36d55c1069b37de11c431db7bf726ea8;hb=2b1c5fd803436d4b0149fd531702f5246fbee3c0;hp=02b1f1a3016c296d837feb632c44c5479dc5319b;hpb=8b08d2fd3eebc0584a5c49abdcd26c52b65737f0;p=modest diff --git a/src/modest-mail-operation-queue.c b/src/modest-mail-operation-queue.c index 02b1f1a..f00e992 100644 --- a/src/modest-mail-operation-queue.c +++ b/src/modest-mail-operation-queue.c @@ -441,3 +441,34 @@ modest_mail_operation_queue_get_by_source ( return found_operations; } + +static void +accumulate_mail_op_strings (ModestMailOperation *op, gchar **str) +{ + *str = g_strdup_printf ("%s\n%s", *str, modest_mail_operation_to_string (op)); +} + + +gchar* +modest_mail_operation_queue_to_string (ModestMailOperationQueue *self) +{ + gchar *str; + guint len; + ModestMailOperationQueuePrivate *priv; + + g_return_val_if_fail (MODEST_IS_MAIL_OPERATION_QUEUE (self), NULL); + + priv = MODEST_MAIL_OPERATION_QUEUE_GET_PRIVATE(self); + + len = g_queue_get_length (priv->op_queue); + str = g_strdup_printf ("mail operation queue (%02d)\n-------------------------", len); + if (len == 0) + str = g_strdup_printf ("%s\n%s", str, ""); + else { + g_mutex_lock (priv->queue_lock); + g_queue_foreach (priv->op_queue, (GFunc)accumulate_mail_op_strings, &str); + g_mutex_unlock (priv->queue_lock); + } + + return str; +}