[libgovirt] Drop deprecated GSympleAsyncResult in favor of GTask



commit 51225ce900519278ec5ce2398ab85d55fbb37fd4
Author: Fabiano FidĂȘncio <fidencio redhat com>
Date:   Fri May 13 16:27:39 2016 +0200

    Drop deprecated GSympleAsyncResult in favor of GTask
    
    According to the docs, GTask API is simpler, is available since Glib
    version 2.36 and definitely deprecates the former in version 2.46.
    
    Patch-by: Fabiano Fidencio <fidencio redhat com>
    Signed-off-by: Eduardo Lima (Etrunko) <etrunko redhat com>

 govirt/ovirt-cdrom.c            |  15 +++---
 govirt/ovirt-collection.c       |  19 +++----
 govirt/ovirt-proxy-deprecated.c |  11 +++--
 govirt/ovirt-proxy-private.h    |   4 +-
 govirt/ovirt-proxy.c            | 107 ++++++++++++++++++----------------------
 govirt/ovirt-resource.c         |  57 +++++++++++----------
 6 files changed, 100 insertions(+), 113 deletions(-)
---
diff --git a/govirt/ovirt-cdrom.c b/govirt/ovirt-cdrom.c
index 59e8fac..542158d 100644
--- a/govirt/ovirt-cdrom.c
+++ b/govirt/ovirt-cdrom.c
@@ -214,23 +214,24 @@ void ovirt_cdrom_update_async(OvirtCdrom *cdrom,
                               gpointer user_data)
 {
 
-    GSimpleAsyncResult *result;
+    GTask *task;
     OvirtResourceRestCall *call;
 
     g_return_if_fail(OVIRT_IS_CDROM(cdrom));
     g_return_if_fail(OVIRT_IS_PROXY(proxy));
     g_return_if_fail((cancellable == NULL) || G_IS_CANCELLABLE(cancellable));
 
-    result = g_simple_async_result_new(G_OBJECT(cdrom), callback,
-                                       user_data,
-                                       ovirt_cdrom_update_async);
+    task = g_task_new(G_OBJECT(cdrom),
+                      cancellable,
+                      callback,
+                      user_data);
 
     call = ovirt_resource_rest_call_new(REST_PROXY(proxy), OVIRT_RESOURCE(cdrom));
     rest_proxy_call_set_method(REST_PROXY_CALL(call), "PUT");
     if (current) {
         rest_proxy_call_add_param(REST_PROXY_CALL(call), "current", NULL);
     }
-    ovirt_rest_call_async(OVIRT_REST_CALL(call), result, cancellable,
+    ovirt_rest_call_async(OVIRT_REST_CALL(call), task, cancellable,
                           NULL, NULL, NULL);
     g_object_unref(G_OBJECT(call));
 }
@@ -241,9 +242,7 @@ gboolean ovirt_cdrom_update_finish(OvirtCdrom *cdrom,
                                    GError **err)
 {
     g_return_val_if_fail(OVIRT_IS_CDROM(cdrom), FALSE);
-    g_return_val_if_fail(g_simple_async_result_is_valid(result, G_OBJECT(cdrom),
-                                                        ovirt_cdrom_update_async),
-                         FALSE);
+    g_return_val_if_fail(g_task_is_valid(G_TASK(result), cdrom), FALSE);
     g_return_val_if_fail((err == NULL) || (*err == NULL), FALSE);
 
     return ovirt_rest_call_finish(result, err);
diff --git a/govirt/ovirt-collection.c b/govirt/ovirt-collection.c
index 9ebe230..7e62329 100644
--- a/govirt/ovirt-collection.c
+++ b/govirt/ovirt-collection.c
@@ -432,17 +432,18 @@ void ovirt_collection_fetch_async(OvirtCollection *collection,
                                   GAsyncReadyCallback callback,
                                   gpointer user_data)
 {
-    GSimpleAsyncResult *result;
+    GTask *task;
 
     g_return_if_fail(OVIRT_IS_COLLECTION(collection));
     g_return_if_fail(OVIRT_IS_PROXY(proxy));
     g_return_if_fail((cancellable == NULL) || G_IS_CANCELLABLE(cancellable));
 
-    result = g_simple_async_result_new (G_OBJECT(collection), callback,
-                                        user_data,
-                                        ovirt_collection_fetch_async);
+    task = g_task_new(G_OBJECT(collection),
+                      cancellable,
+                      callback,
+                      user_data);
     ovirt_proxy_get_collection_xml_async(proxy, collection->priv->href,
-                                         result, cancellable,
+                                         task, cancellable,
                                          ovirt_collection_fetch_async_cb,
                                          collection, NULL);
 }
@@ -460,14 +461,10 @@ gboolean ovirt_collection_fetch_finish(OvirtCollection *collection,
                                        GError **err)
 {
     g_return_val_if_fail(OVIRT_IS_COLLECTION(collection), FALSE);
-    g_return_val_if_fail(g_simple_async_result_is_valid(result, G_OBJECT(collection),
-                                                        ovirt_collection_fetch_async),
+    g_return_val_if_fail(g_task_is_valid(G_TASK(result), collection),
                          FALSE);
 
-    if (g_simple_async_result_propagate_error(G_SIMPLE_ASYNC_RESULT(result), err))
-        return FALSE;
-
-    return g_simple_async_result_get_op_res_gboolean(G_SIMPLE_ASYNC_RESULT(result));
+    return g_task_propagate_boolean(G_TASK(result), err);
 }
 
 
diff --git a/govirt/ovirt-proxy-deprecated.c b/govirt/ovirt-proxy-deprecated.c
index 34394bc..b7412d4 100644
--- a/govirt/ovirt-proxy-deprecated.c
+++ b/govirt/ovirt-proxy-deprecated.c
@@ -62,10 +62,11 @@ static void fetch_api_async_cb(GObject *source_object,
 
     api = ovirt_proxy_fetch_api_finish(proxy, result, &error);
     if (api == NULL) {
-        g_simple_async_report_error_in_idle(source_object,
-                                            data->callback, data->user_data,
-                                            OVIRT_ERROR, OVIRT_ERROR_FAILED,
-                                            "Could not fetch API endpoint");
+        g_task_report_new_error(source_object,
+                                data->callback, data->user_data,
+                                fetch_api_async_cb,
+                                OVIRT_ERROR, OVIRT_ERROR_FAILED,
+                                "Could not fetch API endpoint");
     } else {
         OvirtCollection *vms;
 
@@ -131,7 +132,7 @@ ovirt_proxy_fetch_vms_finish(OvirtProxy *proxy,
 {
     g_return_val_if_fail(OVIRT_IS_PROXY(proxy), NULL);
 
-    if (g_simple_async_result_propagate_error(G_SIMPLE_ASYNC_RESULT(result), err))
+    if (g_task_had_error(G_TASK(result)))
         return NULL;
 
     return ovirt_proxy_get_vms_internal(proxy);
diff --git a/govirt/ovirt-proxy-private.h b/govirt/ovirt-proxy-private.h
index 8adae76..7bc8dd0 100644
--- a/govirt/ovirt-proxy-private.h
+++ b/govirt/ovirt-proxy-private.h
@@ -56,7 +56,7 @@ typedef gboolean (*OvirtProxyGetCollectionAsyncCb)(OvirtProxy* proxy,
                                                    GError **error);
 void ovirt_proxy_get_collection_xml_async(OvirtProxy *proxy,
                                           const char *href,
-                                          GSimpleAsyncResult *result,
+                                          GTask *task,
                                           GCancellable *cancellable,
                                           OvirtProxyGetCollectionAsyncCb callback,
                                           gpointer user_data,
@@ -67,7 +67,7 @@ typedef gboolean (*OvirtProxyCallAsyncCb)(OvirtProxy *proxy,
                                           gpointer user_data,
                                           GError **error);
 void ovirt_rest_call_async(OvirtRestCall *call,
-                           GSimpleAsyncResult *result,
+                           GTask *task,
                            GCancellable *cancellable,
                            OvirtProxyCallAsyncCb callback,
                            gpointer user_data,
diff --git a/govirt/ovirt-proxy.c b/govirt/ovirt-proxy.c
index 97830be..acfc196 100644
--- a/govirt/ovirt-proxy.c
+++ b/govirt/ovirt-proxy.c
@@ -194,7 +194,7 @@ RestXmlNode *ovirt_proxy_get_collection_xml(OvirtProxy *proxy,
 
 typedef struct {
     OvirtProxy *proxy;
-    GSimpleAsyncResult *result;
+    GTask *task;
     GCancellable *cancellable;
     gulong cancellable_cb_id;
     OvirtProxyCallAsyncCb call_async_cb;
@@ -209,7 +209,7 @@ static void ovirt_proxy_call_async_data_free(OvirtProxyCallAsyncData *data)
     }
 
     g_clear_object(&data->proxy);
-    g_clear_object(&data->result);
+    g_clear_object(&data->task);
 
     if ((data->cancellable != NULL) && (data->cancellable_cb_id != 0)) {
         if (g_cancellable_is_cancelled(data->cancellable)) {
@@ -234,17 +234,17 @@ call_async_cancelled_cb (G_GNUC_UNUSED GCancellable *cancellable,
 }
 
 
-static void rest_call_async_set_error(RestProxyCall *call, GSimpleAsyncResult *result, const GError *error)
+static void rest_call_async_set_error(RestProxyCall *call, GTask *task, const GError *error)
 {
     GError *local_error = NULL;
     RestXmlNode *root = ovirt_rest_xml_node_from_call(call);
 
     if (root != NULL && ovirt_utils_gerror_from_xml_fault(root, &local_error)) {
         g_debug("ovirt_rest_call_async(): %s", local_error->message);
-        g_simple_async_result_set_from_error(result, local_error);
+        g_task_return_error(task, local_error);
         g_clear_error(&local_error);
     } else {
-        g_simple_async_result_set_from_error(result, error);
+        g_task_return_error(task, (GError *) error);
     }
 
     if (root != NULL) {
@@ -258,33 +258,34 @@ call_async_cb(RestProxyCall *call, const GError *error,
               gpointer user_data)
 {
     OvirtProxyCallAsyncData *data = user_data;
-    GSimpleAsyncResult *result = data->result;
+    GTask *task = data->task;
+    gboolean callback_result = TRUE;
 
     if (error != NULL) {
-        rest_call_async_set_error(call, result, error);
-    } else {
+        rest_call_async_set_error(call, task, error);
+        goto exit;
+    }
+
+    if (data->call_async_cb != NULL) {
         GError *call_error = NULL;
-        gboolean callback_result = TRUE;
-
-        if (data->call_async_cb != NULL) {
-            callback_result = data->call_async_cb(data->proxy, call,
-                                                  data->call_user_data,
-                                                  &call_error);
-            if (call_error != NULL) {
-                rest_call_async_set_error(call, result, call_error);
-            }
+        callback_result = data->call_async_cb(data->proxy, call,
+                                              data->call_user_data,
+                                              &call_error);
+        if (call_error != NULL) {
+            rest_call_async_set_error(call, task, error);
+            goto exit;
         }
-
-        g_simple_async_result_set_op_res_gboolean(result, callback_result);
     }
 
-    g_simple_async_result_complete (result);
+    g_task_return_boolean(task, callback_result);
+
+exit:
     ovirt_proxy_call_async_data_free(data);
 }
 
 
 void ovirt_rest_call_async(OvirtRestCall *call,
-                           GSimpleAsyncResult *result,
+                           GTask *task,
                            GCancellable *cancellable,
                            OvirtProxyCallAsyncCb callback,
                            gpointer user_data,
@@ -300,7 +301,7 @@ void ovirt_rest_call_async(OvirtRestCall *call,
 
     data = g_slice_new0(OvirtProxyCallAsyncData);
     data->proxy = proxy;
-    data->result = result;
+    data->task = task;
     data->call_async_cb = callback;
     data->call_user_data = user_data;
     data->destroy_call_data = destroy_func;
@@ -314,8 +315,7 @@ void ovirt_rest_call_async(OvirtRestCall *call,
     if (!rest_proxy_call_async(REST_PROXY_CALL(call), call_async_cb, NULL,
                                data, &error)) {
         g_warning("Error while getting collection XML");
-        g_simple_async_result_set_from_error(result, error);
-        g_simple_async_result_complete(result);
+        g_task_return_error(task, error);
         ovirt_proxy_call_async_data_free(data);
     }
 }
@@ -323,13 +323,7 @@ void ovirt_rest_call_async(OvirtRestCall *call,
 
 gboolean ovirt_rest_call_finish(GAsyncResult *result, GError **err)
 {
-    GSimpleAsyncResult *simple;
-
-    simple = G_SIMPLE_ASYNC_RESULT(result);
-    if (g_simple_async_result_propagate_error(simple, err))
-        return FALSE;
-
-    return g_simple_async_result_get_op_res_gboolean(simple);
+    return g_task_propagate_boolean(G_TASK(result), err);
 }
 
 typedef struct {
@@ -385,7 +379,7 @@ end:
  */
 void ovirt_proxy_get_collection_xml_async(OvirtProxy *proxy,
                                           const char *href,
-                                          GSimpleAsyncResult *result,
+                                          GTask *task,
                                           GCancellable *cancellable,
                                           OvirtProxyGetCollectionAsyncCb callback,
                                           gpointer user_data,
@@ -401,7 +395,7 @@ void ovirt_proxy_get_collection_xml_async(OvirtProxy *proxy,
 
     call = ovirt_rest_call_new(proxy, "GET", href);
 
-    ovirt_rest_call_async(OVIRT_REST_CALL(call), result, cancellable,
+    ovirt_rest_call_async(OVIRT_REST_CALL(call), task, cancellable,
                           get_collection_xml_async_cb, data,
                           (GDestroyNotify)ovirt_proxy_get_collection_async_data_destroy);
     g_object_unref(call);
@@ -647,33 +641,32 @@ static void ca_file_loaded_cb(GObject *source_object,
                               GAsyncResult *res,
                               gpointer user_data)
 {
-    GSimpleAsyncResult *fetch_result;
+    GTask *task;
     GObject *proxy;
     GError *error = NULL;
     char *cert_data;
     gsize cert_length;
 
-    fetch_result = G_SIMPLE_ASYNC_RESULT(user_data);
+    task = G_TASK(user_data);
     g_file_load_contents_finish(G_FILE(source_object), res,
                                 &cert_data, &cert_length,
                                 NULL, &error);
     if (error != NULL) {
-        g_simple_async_result_take_error(fetch_result, error);
+        g_task_return_error(task, error);
         goto end;
     }
 
-    proxy = g_async_result_get_source_object(G_ASYNC_RESULT(fetch_result));
+    proxy = g_async_result_get_source_object(G_ASYNC_RESULT(task));
 
     set_ca_cert_from_data(OVIRT_PROXY(proxy), cert_data, cert_length);
     /* takes ownership of cert_data */
     set_display_ca_cert_from_data(OVIRT_PROXY(proxy),
                                   cert_data, cert_length);
     g_object_unref(proxy);
-    g_simple_async_result_set_op_res_gboolean(fetch_result, TRUE);
+    g_task_return_boolean(task, TRUE);
 
 end:
-    g_simple_async_result_complete (fetch_result);
-    g_object_unref(fetch_result);
+    g_object_unref(task);
 }
 
 void ovirt_proxy_fetch_ca_certificate_async(OvirtProxy *proxy,
@@ -682,7 +675,7 @@ void ovirt_proxy_fetch_ca_certificate_async(OvirtProxy *proxy,
                                             gpointer user_data)
 {
     GFile *ca_file;
-    GSimpleAsyncResult *result;
+    GTask *task;
 
     g_return_if_fail(OVIRT_IS_PROXY(proxy));
     g_return_if_fail((cancellable == NULL) || G_IS_CANCELLABLE(cancellable));
@@ -690,11 +683,12 @@ void ovirt_proxy_fetch_ca_certificate_async(OvirtProxy *proxy,
     ca_file = get_ca_cert_file(proxy);
     g_return_if_fail(ca_file != NULL);
 
-    result = g_simple_async_result_new(G_OBJECT(proxy), callback,
-                                       user_data,
-                                       ovirt_proxy_fetch_ca_certificate_async);
+    task = g_task_new(G_OBJECT(proxy),
+                             cancellable,
+                             callback,
+                             user_data);
 
-    g_file_load_contents_async(ca_file, cancellable, ca_file_loaded_cb, result);
+    g_file_load_contents_async(ca_file, cancellable, ca_file_loaded_cb, task);
     g_object_unref(ca_file);
 }
 
@@ -708,12 +702,10 @@ GByteArray *ovirt_proxy_fetch_ca_certificate_finish(OvirtProxy *proxy,
                                                     GError **err)
 {
     g_return_val_if_fail(OVIRT_IS_PROXY(proxy), NULL);
-    g_return_val_if_fail(g_simple_async_result_is_valid(result, G_OBJECT(proxy),
-                                                        ovirt_proxy_fetch_ca_certificate_async),
-                         NULL);
+    g_return_val_if_fail(g_task_is_valid(G_TASK(result), proxy), NULL);
     g_return_val_if_fail(err == NULL || *err == NULL, NULL);
 
-    if (g_simple_async_result_propagate_error(G_SIMPLE_ASYNC_RESULT(result), err))
+    if (g_task_had_error(G_TASK(result)))
         return NULL;
 
     return get_ca_cert_data(proxy);
@@ -1201,15 +1193,16 @@ void ovirt_proxy_fetch_api_async(OvirtProxy *proxy,
                                  GAsyncReadyCallback callback,
                                  gpointer user_data)
 {
-    GSimpleAsyncResult *result;
+    GTask *task;
 
     g_return_if_fail(OVIRT_IS_PROXY(proxy));
     g_return_if_fail((cancellable == NULL) || G_IS_CANCELLABLE(cancellable));
 
-    result = g_simple_async_result_new (G_OBJECT(proxy), callback,
-                                        user_data,
-                                        ovirt_proxy_fetch_api_async);
-    ovirt_proxy_get_collection_xml_async(proxy, "/ovirt-engine/api", result, cancellable,
+    task = g_task_new(G_OBJECT(proxy),
+                             cancellable,
+                             callback,
+                             user_data);
+    ovirt_proxy_get_collection_xml_async(proxy, "/ovirt-engine/api", task, cancellable,
                                          fetch_api_async_cb, NULL, NULL);
 }
 
@@ -1228,11 +1221,9 @@ ovirt_proxy_fetch_api_finish(OvirtProxy *proxy,
                              GError **err)
 {
     g_return_val_if_fail(OVIRT_IS_PROXY(proxy), NULL);
-    g_return_val_if_fail(g_simple_async_result_is_valid(result, G_OBJECT(proxy),
-                                                        ovirt_proxy_fetch_api_async),
-                         NULL);
+    g_return_val_if_fail(g_task_is_valid(G_TASK(result), proxy), NULL);
 
-    if (g_simple_async_result_propagate_error(G_SIMPLE_ASYNC_RESULT(result), err))
+    if (g_task_had_error(G_TASK(result)))
         return NULL;
 
     return proxy->priv->api;
diff --git a/govirt/ovirt-resource.c b/govirt/ovirt-resource.c
index 8a3ae56..6db72f8 100644
--- a/govirt/ovirt-resource.c
+++ b/govirt/ovirt-resource.c
@@ -566,20 +566,21 @@ void ovirt_resource_update_async(OvirtResource *resource,
                                  GAsyncReadyCallback callback,
                                  gpointer user_data)
 {
-    GSimpleAsyncResult *result;
+    GTask *task;
     OvirtResourceRestCall *call;
 
     g_return_if_fail(OVIRT_IS_RESOURCE(resource));
     g_return_if_fail(OVIRT_IS_PROXY(proxy));
     g_return_if_fail((cancellable == NULL) || G_IS_CANCELLABLE(cancellable));
 
-    result = g_simple_async_result_new(G_OBJECT(resource), callback,
-                                       user_data,
-                                       ovirt_resource_update_async);
+    task = g_task_new(G_OBJECT(resource),
+                      cancellable,
+                      callback,
+                      user_data);
 
     call = ovirt_resource_rest_call_new(REST_PROXY(proxy), resource);
     rest_proxy_call_set_method(REST_PROXY_CALL(call), "PUT");
-    ovirt_rest_call_async(OVIRT_REST_CALL(call), result, cancellable,
+    ovirt_rest_call_async(OVIRT_REST_CALL(call), task, cancellable,
                           ovirt_resource_update_async_cb, NULL, NULL);
     g_object_unref(G_OBJECT(call));
 }
@@ -590,8 +591,7 @@ gboolean ovirt_resource_update_finish(OvirtResource *resource,
                                       GError **err)
 {
     g_return_val_if_fail(OVIRT_IS_RESOURCE(resource), FALSE);
-    g_return_val_if_fail(g_simple_async_result_is_valid(result, G_OBJECT(resource),
-                                                        ovirt_resource_update_async),
+    g_return_val_if_fail(g_task_is_valid(G_TASK(result), G_OBJECT(resource)),
                          FALSE);
     g_return_val_if_fail((err == NULL) || (*err == NULL), FALSE);
 
@@ -810,7 +810,7 @@ ovirt_resource_invoke_action_async(OvirtResource *resource,
                                    gpointer user_data)
 {
     RestProxyCall *call;
-    GSimpleAsyncResult *result;
+    GTask *task;
     OvirtResourceInvokeActionData *data;
 
     g_return_if_fail(OVIRT_IS_RESOURCE(resource));
@@ -824,14 +824,15 @@ ovirt_resource_invoke_action_async(OvirtResource *resource,
                                                      action);
     g_return_if_fail(call != NULL);
 
-    result = g_simple_async_result_new(G_OBJECT(resource), callback,
-                                       user_data,
-                                       ovirt_resource_invoke_action_async);
+    task = g_task_new(G_OBJECT(resource),
+                      cancellable,
+                      callback,
+                      user_data);
     data = g_slice_new(OvirtResourceInvokeActionData);
     data->resource = resource;
     data->parser = response_parser;
 
-    ovirt_rest_call_async(OVIRT_REST_CALL(call), result, cancellable,
+    ovirt_rest_call_async(OVIRT_REST_CALL(call), task, cancellable,
                           ovirt_resource_invoke_action_async_cb, data,
                           (GDestroyNotify)ovirt_resource_invoke_action_data_free);
     g_object_unref(G_OBJECT(call));
@@ -844,8 +845,7 @@ ovirt_resource_action_finish(OvirtResource *resource,
                              GError **err)
 {
     g_return_val_if_fail(OVIRT_IS_RESOURCE(resource), FALSE);
-    g_return_val_if_fail(g_simple_async_result_is_valid(result, G_OBJECT(resource),
-                                                        ovirt_resource_invoke_action_async),
+    g_return_val_if_fail(g_task_is_valid(G_TASK(result), G_OBJECT(resource)),
                          FALSE);
 
     return ovirt_rest_call_finish(result, err);
@@ -887,22 +887,23 @@ void ovirt_resource_refresh_async(OvirtResource *resource,
                                   gpointer user_data)
 {
     OvirtResourceRestCall *call;
-    GSimpleAsyncResult *result;
+    GTask *task;
 
     g_return_if_fail(OVIRT_IS_RESOURCE(resource));
     g_return_if_fail(OVIRT_IS_PROXY(proxy));
     g_return_if_fail((cancellable == NULL) || G_IS_CANCELLABLE(cancellable));
 
-    result = g_simple_async_result_new(G_OBJECT(resource), callback,
-                                       user_data,
-                                       ovirt_resource_refresh_async);
+    task = g_task_new(G_OBJECT(resource),
+                      cancellable,
+                      callback,
+                      user_data);
     call = ovirt_resource_rest_call_new(REST_PROXY(proxy),
                                         OVIRT_RESOURCE(resource));
     /* FIXME: to set or not to set ?? */
     rest_proxy_call_add_header(REST_PROXY_CALL(call),
                                "All-Content", "true");
     rest_proxy_call_set_method(REST_PROXY_CALL(call), "GET");
-    ovirt_rest_call_async(OVIRT_REST_CALL(call), result, cancellable,
+    ovirt_rest_call_async(OVIRT_REST_CALL(call), task, cancellable,
                           ovirt_resource_refresh_async_cb, resource,
                           NULL);
     g_object_unref(G_OBJECT(call));
@@ -914,9 +915,7 @@ gboolean ovirt_resource_refresh_finish(OvirtResource *resource,
                                        GError **err)
 {
     g_return_val_if_fail(OVIRT_IS_RESOURCE(resource), FALSE);
-    g_return_val_if_fail(g_simple_async_result_is_valid(result,
-                                                        G_OBJECT(resource),
-                                                        ovirt_resource_refresh_async),
+    g_return_val_if_fail(g_task_is_valid(G_TASK(result), G_OBJECT(resource)),
                          FALSE);
 
     return ovirt_rest_call_finish(result, err);
@@ -1030,20 +1029,21 @@ void ovirt_resource_delete_async(OvirtResource *resource,
                                  GAsyncReadyCallback callback,
                                  gpointer user_data)
 {
-    GSimpleAsyncResult *result;
+    GTask *task;
     OvirtResourceRestCall *call;
 
     g_return_if_fail(OVIRT_IS_RESOURCE(resource));
     g_return_if_fail(OVIRT_IS_PROXY(proxy));
     g_return_if_fail((cancellable == NULL) || G_IS_CANCELLABLE(cancellable));
 
-    result = g_simple_async_result_new(G_OBJECT(resource), callback,
-                                       user_data,
-                                       ovirt_resource_delete_async);
+    task = g_task_new(G_OBJECT(resource),
+                      cancellable,
+                      callback,
+                      user_data);
 
     call = ovirt_resource_rest_call_new(REST_PROXY(proxy), resource);
     rest_proxy_call_set_method(REST_PROXY_CALL(call), "DELETE");
-    ovirt_rest_call_async(OVIRT_REST_CALL(call), result, cancellable,
+    ovirt_rest_call_async(OVIRT_REST_CALL(call), task, cancellable,
                           ovirt_resource_delete_async_cb,
                           g_object_ref(resource), g_object_unref);
     g_object_unref(G_OBJECT(call));
@@ -1064,8 +1064,7 @@ gboolean ovirt_resource_delete_finish(OvirtResource *resource,
                                       GError **err)
 {
     g_return_val_if_fail(OVIRT_IS_RESOURCE(resource), FALSE);
-    g_return_val_if_fail(g_simple_async_result_is_valid(result, G_OBJECT(resource),
-                                                        ovirt_resource_delete_async),
+    g_return_val_if_fail(g_task_is_valid(G_TASK(result), G_OBJECT(resource)),
                          FALSE);
     g_return_val_if_fail((err == NULL) || (*err == NULL), FALSE);
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]