summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Ancell <robert.ancell@canonical.com>2017-12-15 13:17:33 +1300
committerRobert Ancell <robert.ancell@canonical.com>2017-12-15 13:17:33 +1300
commit5553e8f483a81085995d66319f05e8d930a12593 (patch)
tree7aa3b6be541f9fafa00f302e03cd93244ff7f52f
parentca3199f91378a03037140f7fbd79424c9ea92751 (diff)
Replace deprecated GSimpleAsyncResult with GTask
-rw-r--r--src/libaccountsservice/act-user-manager.c90
1 files changed, 39 insertions, 51 deletions
diff --git a/src/libaccountsservice/act-user-manager.c b/src/libaccountsservice/act-user-manager.c
index 6c6628b..97e5621 100644
--- a/src/libaccountsservice/act-user-manager.c
+++ b/src/libaccountsservice/act-user-manager.c
@@ -3129,11 +3129,10 @@ act_user_manager_async_complete_handler (GObject *source,
GAsyncResult *result,
gpointer user_data)
{
- GSimpleAsyncResult *res = user_data;
+ GTask *task = user_data;
- g_simple_async_result_set_op_res_gpointer (res, g_object_ref (result), g_object_unref);
- g_simple_async_result_complete (res);
- g_object_unref (res);
+ g_task_return_pointer (task, g_object_ref (result), g_object_unref);
+ g_object_unref (task);
}
/**
@@ -3164,7 +3163,7 @@ act_user_manager_create_user_async (ActUserManager *manager,
GAsyncReadyCallback callback,
gpointer user_data)
{
- GSimpleAsyncResult *res;
+ GTask *task;
g_return_if_fail (ACT_IS_USER_MANAGER (manager));
g_return_if_fail (manager->priv->accounts_proxy != NULL);
@@ -3174,17 +3173,16 @@ act_user_manager_create_user_async (ActUserManager *manager,
g_assert (manager->priv->accounts_proxy != NULL);
- res = g_simple_async_result_new (G_OBJECT (manager),
- callback, user_data,
- act_user_manager_create_user_async);
- g_simple_async_result_set_check_cancellable (res, cancellable);
+ task = g_task_new (G_OBJECT (manager),
+ cancellable,
+ callback, user_data);
accounts_accounts_call_create_user (manager->priv->accounts_proxy,
username,
fullname,
accounttype,
cancellable,
- act_user_manager_async_complete_handler, res);
+ act_user_manager_async_complete_handler, task);
}
/**
@@ -3209,14 +3207,12 @@ act_user_manager_create_user_finish (ActUserManager *manager,
GAsyncResult *inner_result;
ActUser *user = NULL;
gchar *path;
- GSimpleAsyncResult *res;
GError *remote_error = NULL;
- g_return_val_if_fail (g_simple_async_result_is_valid (result, G_OBJECT (manager), act_user_manager_create_user_async), FALSE);
-
- res = G_SIMPLE_ASYNC_RESULT (result);
- inner_result = g_simple_async_result_get_op_res_gpointer (res);
- g_assert (inner_result);
+ inner_result = g_task_propagate_pointer (G_TASK (result), error);
+ if (inner_result == NULL) {
+ return FALSE;
+ }
if (accounts_accounts_call_create_user_finish (manager->priv->accounts_proxy,
&path, inner_result, &remote_error)) {
@@ -3301,22 +3297,21 @@ act_user_manager_cache_user_async (ActUserManager *manager,
GAsyncReadyCallback callback,
gpointer user_data)
{
- GSimpleAsyncResult *res;
+ GTask *task;
g_return_if_fail (ACT_IS_USER_MANAGER (manager));
g_return_if_fail (manager->priv->accounts_proxy != NULL);
g_debug ("ActUserManager: Caching user (async) '%s'", username);
- res = g_simple_async_result_new (G_OBJECT (manager),
- callback, user_data,
- act_user_manager_cache_user_async);
- g_simple_async_result_set_check_cancellable (res, cancellable);
+ task = g_task_new (G_OBJECT (manager),
+ cancellable,
+ callback, user_data);
accounts_accounts_call_cache_user (manager->priv->accounts_proxy,
username,
cancellable,
- act_user_manager_async_complete_handler, res);
+ act_user_manager_async_complete_handler, task);
}
/**
@@ -3341,14 +3336,12 @@ act_user_manager_cache_user_finish (ActUserManager *manager,
GAsyncResult *inner_result;
ActUser *user = NULL;
gchar *path;
- GSimpleAsyncResult *res;
GError *remote_error = NULL;
- g_return_val_if_fail (g_simple_async_result_is_valid (result, G_OBJECT (manager), act_user_manager_cache_user_async), FALSE);
-
- res = G_SIMPLE_ASYNC_RESULT (result);
- inner_result = g_simple_async_result_get_op_res_gpointer (res);
- g_assert (inner_result);
+ inner_result = g_task_propagate_pointer (G_TASK (result), error);
+ if (inner_result == NULL) {
+ return FALSE;
+ }
if (accounts_accounts_call_cache_user_finish (manager->priv->accounts_proxy,
&path, inner_result, &remote_error)) {
@@ -3427,7 +3420,7 @@ act_user_manager_uncache_user_async (ActUserManager *manager,
GAsyncReadyCallback callback,
gpointer user_data)
{
- GSimpleAsyncResult *res;
+ GTask *task;
g_return_if_fail (ACT_IS_USER_MANAGER (manager));
g_return_if_fail (username != NULL);
@@ -3435,15 +3428,14 @@ act_user_manager_uncache_user_async (ActUserManager *manager,
g_debug ("ActUserManager: Uncaching user (async) '%s'", username);
- res = g_simple_async_result_new (G_OBJECT (manager),
- callback, user_data,
- act_user_manager_uncache_user_async);
- g_simple_async_result_set_check_cancellable (res, cancellable);
+ task = g_task_new (G_OBJECT (manager),
+ cancellable,
+ callback, user_data);
accounts_accounts_call_uncache_user (manager->priv->accounts_proxy,
username,
cancellable,
- act_user_manager_async_complete_handler, res);
+ act_user_manager_async_complete_handler, task);
}
/**
@@ -3467,14 +3459,12 @@ act_user_manager_uncache_user_finish (ActUserManager *manager,
{
GAsyncResult *inner_result;
gboolean success;
- GSimpleAsyncResult *res;
GError *remote_error = NULL;
- g_return_val_if_fail (g_simple_async_result_is_valid (result, G_OBJECT (manager), act_user_manager_uncache_user_async), FALSE);
-
- res = G_SIMPLE_ASYNC_RESULT (result);
- inner_result = g_simple_async_result_get_op_res_gpointer (res);
- g_assert (inner_result);
+ inner_result = g_task_propagate_pointer (G_TASK (result), error);
+ if (inner_result == NULL) {
+ return FALSE;
+ }
success = accounts_accounts_call_uncache_user_finish (manager->priv->accounts_proxy,
inner_result, &remote_error);
@@ -3552,23 +3542,22 @@ act_user_manager_delete_user_async (ActUserManager *manager,
GAsyncReadyCallback callback,
gpointer user_data)
{
- GSimpleAsyncResult *res;
+ GTask *task;
g_return_if_fail (ACT_IS_USER_MANAGER (manager));
g_return_if_fail (ACT_IS_USER (user));
g_return_if_fail (manager->priv->accounts_proxy != NULL);
- res = g_simple_async_result_new (G_OBJECT (manager),
- callback, user_data,
- act_user_manager_delete_user_async);
- g_simple_async_result_set_check_cancellable (res, cancellable);
+ task = g_task_new (G_OBJECT (manager),
+ cancellable,
+ callback, user_data);
g_debug ("ActUserManager: Deleting (async) user '%s' (uid %ld)", act_user_get_user_name (user), (long) act_user_get_uid (user));
accounts_accounts_call_delete_user (manager->priv->accounts_proxy,
act_user_get_uid (user), remove_files,
cancellable,
- act_user_manager_async_complete_handler, res);
+ act_user_manager_async_complete_handler, task);
}
/**
@@ -3592,13 +3581,12 @@ act_user_manager_delete_user_finish (ActUserManager *manager,
{
GAsyncResult *inner_result;
gboolean success;
- GSimpleAsyncResult *res;
GError *remote_error = NULL;
- g_return_val_if_fail (g_simple_async_result_is_valid (result, G_OBJECT (manager), act_user_manager_delete_user_async), FALSE);
- res = G_SIMPLE_ASYNC_RESULT (result);
- inner_result = g_simple_async_result_get_op_res_gpointer (res);
- g_assert (inner_result);
+ inner_result = g_task_propagate_pointer (G_TASK (result), error);
+ if (inner_result == NULL) {
+ return FALSE;
+ }
success = accounts_accounts_call_delete_user_finish (manager->priv->accounts_proxy,
inner_result, &remote_error);