-status_update_cb (TnyFolder *folder, const gchar *what, gint status, gint oftotal, gpointer user_data)
-{
- g_print ("%s status: %d, of total %d\n", what, status, oftotal);
-}
-
-static void
-folder_refresh_cb (TnyFolder *folder, gboolean canceled, GError **err, gpointer user_data)
-{
- ModestMailOperation *self = NULL;
- ModestMailOperationPrivate *priv = NULL;
- RefreshFolderAsyncHelper *helper;
-
- helper = (RefreshFolderAsyncHelper *) user_data;
- self = MODEST_MAIL_OPERATION (helper->mail_op);
- priv = MODEST_MAIL_OPERATION_GET_PRIVATE(self);
-
- if ((canceled && *err) || *err) {
- priv->error = g_error_copy (*err);
- helper->failed++;
- } else if (canceled) {
- helper->canceled++;
- g_set_error (&(priv->error), MODEST_MAIL_OPERATION_ERROR,
- MODEST_MAIL_OPERATION_ERROR_OPERATION_CANCELED,
- _("Error trying to refresh folder %s. Operation canceled"),
- tny_folder_get_name (folder));
- } else {
- priv->done++;
- }
-
- if (priv->done == priv->total)
- priv->status = MODEST_MAIL_OPERATION_STATUS_SUCCESS;
- else if ((priv->done + helper->canceled + helper->failed) == priv->total) {
- if (helper->failed == priv->total)
- priv->status = MODEST_MAIL_OPERATION_STATUS_FAILED;
- else if (helper->failed == priv->total)
- priv->status = MODEST_MAIL_OPERATION_STATUS_CANCELED;
- else
- priv->status = MODEST_MAIL_OPERATION_STATUS_FINISHED_WITH_ERRORS;
- }
- tny_iterator_next (helper->iter);
- if (tny_iterator_is_done (helper->iter)) {
- TnyList *list;
- list = tny_iterator_get_list (helper->iter);
- g_object_unref (G_OBJECT (helper->iter));
- g_object_unref (G_OBJECT (list));
- g_slice_free (RefreshFolderAsyncHelper, helper);
- } else {
- TnyFolder *folder = TNY_FOLDER (tny_iterator_get_current (helper->iter));
- tny_folder_refresh_async (folder, folder_refresh_cb,
- status_update_cb,
- helper);
- g_object_unref (G_OBJECT(folder));
- }
- g_signal_emit (G_OBJECT (self), signals[PROGRESS_CHANGED_SIGNAL], 0, NULL);
-}
-
-
-static void