cli: port mmcli_get_manager to GTask

This commit is contained in:
Aleksander Morgado
2017-09-20 22:26:23 -07:00
parent 71f0fc6821
commit 6bf046b6fc
2 changed files with 29 additions and 31 deletions

View File

@@ -26,10 +26,19 @@
#include "mmcli-common.h" #include "mmcli-common.h"
/******************************************************************************/
/* Manager */
MMManager *
mmcli_get_manager_finish (GAsyncResult *res)
{
return g_task_propagate_pointer (G_TASK (res), NULL);
}
static void static void
manager_new_ready (GDBusConnection *connection, manager_new_ready (GDBusConnection *connection,
GAsyncResult *res, GAsyncResult *res,
GSimpleAsyncResult *simple) GTask *task)
{ {
MMManager *manager; MMManager *manager;
gchar *name_owner; gchar *name_owner;
@@ -51,17 +60,8 @@ manager_new_ready (GDBusConnection *connection,
g_debug ("ModemManager process found at '%s'", name_owner); g_debug ("ModemManager process found at '%s'", name_owner);
g_free (name_owner); g_free (name_owner);
g_task_return_pointer (task, manager, g_object_unref);
g_object_unref (task);
g_simple_async_result_set_op_res_gpointer (simple, manager, NULL);
g_simple_async_result_complete (simple);
g_object_unref (simple);
}
MMManager *
mmcli_get_manager_finish (GAsyncResult *res)
{
return g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (res));
} }
void void
@@ -70,17 +70,15 @@ mmcli_get_manager (GDBusConnection *connection,
GAsyncReadyCallback callback, GAsyncReadyCallback callback,
gpointer user_data) gpointer user_data)
{ {
GSimpleAsyncResult *result; GTask *task;
task = g_task_new (connection, cancellable, callback, user_data);
result = g_simple_async_result_new (G_OBJECT (connection),
callback,
user_data,
mmcli_get_manager);
mm_manager_new (connection, mm_manager_new (connection,
G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_DO_NOT_AUTO_START, G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_DO_NOT_AUTO_START,
cancellable, cancellable,
(GAsyncReadyCallback)manager_new_ready, (GAsyncReadyCallback)manager_new_ready,
result); task);
} }
MMManager * MMManager *