summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOndrej Holy <oholy@redhat.com>2016-07-26 13:58:22 +0200
committerOndrej Holy <oholy@redhat.com>2017-11-28 14:51:56 +0100
commit50a95d6219ec3ba333074834ea96049371b8c51c (patch)
tree658aaa5127a999ef8b763edf020366adf92084a1
parent7e663df0e3113e932631429598befe42f2b0f756 (diff)
downloadgvfs-50a95d6219ec3ba333074834ea96049371b8c51c.tar.gz
afp: Port GVfsBackendAfpBrowse to GTask
GSimpleAsyncResult is deprecated in favour of GTask and should be replaced. https://bugzilla.gnome.org/show_bug.cgi?id=747412
-rw-r--r--daemon/gvfsbackendafpbrowse.c44
1 files changed, 17 insertions, 27 deletions
diff --git a/daemon/gvfsbackendafpbrowse.c b/daemon/gvfsbackendafpbrowse.c
index c614aeeb..ee6d0ad9 100644
--- a/daemon/gvfsbackendafpbrowse.c
+++ b/daemon/gvfsbackendafpbrowse.c
@@ -70,28 +70,27 @@ static void
get_volumes_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
{
GVfsAfpServer *server = G_VFS_AFP_SERVER (source_object);
- GSimpleAsyncResult *simple = user_data;
-
+ GTask *task = G_TASK (user_data);
GVfsBackendAfpBrowse *afp_backend;
GPtrArray *volumes;
GError *err = NULL;
-
- afp_backend = G_VFS_BACKEND_AFP_BROWSE (g_async_result_get_source_object (G_ASYNC_RESULT (simple)));
-
+
+ afp_backend = G_VFS_BACKEND_AFP_BROWSE (g_task_get_source_object (task));
+
volumes = g_vfs_afp_server_get_volumes_finish (server, res, &err);
if (!volumes)
{
- g_simple_async_result_take_error (simple, err);
- goto done;
+ g_task_return_error (task, err);
+ g_object_unref (task);
+ return;
}
if (afp_backend->volumes)
g_ptr_array_unref (afp_backend->volumes);
afp_backend->volumes = volumes;
-done:
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_return_boolean (task, TRUE);
+ g_object_unref (task);
}
static void
@@ -100,13 +99,12 @@ update_cache (GVfsBackendAfpBrowse *afp_backend,
GAsyncReadyCallback callback,
gpointer user_data)
{
- GSimpleAsyncResult *simple;
-
- simple = g_simple_async_result_new (G_OBJECT (afp_backend), callback,
- user_data, update_cache);
+ GTask *task;
+
+ task = g_task_new (afp_backend, cancellable, callback, user_data);
+ g_task_set_source_tag (task, update_cache);
- g_vfs_afp_server_get_volumes (afp_backend->server, cancellable, get_volumes_cb,
- simple);
+ g_vfs_afp_server_get_volumes (afp_backend->server, cancellable, get_volumes_cb, task);
}
static gboolean
@@ -114,18 +112,10 @@ update_cache_finish (GVfsBackendAfpBrowse *afp_backend,
GAsyncResult *res,
GError **error)
{
- GSimpleAsyncResult *simple;
-
- g_return_val_if_fail (g_simple_async_result_is_valid (res, G_OBJECT (afp_backend),
- update_cache),
- FALSE);
+ g_return_val_if_fail (g_task_is_valid (res, afp_backend), FALSE);
+ g_return_val_if_fail (g_async_result_is_tagged (res, update_cache), FALSE);
- simple = (GSimpleAsyncResult *)res;
-
- if (g_simple_async_result_propagate_error (simple, error))
- return FALSE;
-
- return TRUE;
+ return g_task_propagate_boolean (G_TASK (res), error);
}
static GVfsAfpVolumeData *