aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mm-broadband-modem-qmi.c24
1 files changed, 6 insertions, 18 deletions
diff --git a/src/mm-broadband-modem-qmi.c b/src/mm-broadband-modem-qmi.c
index a1304e8a..b220d9d9 100644
--- a/src/mm-broadband-modem-qmi.c
+++ b/src/mm-broadband-modem-qmi.c
@@ -1373,14 +1373,7 @@ modem_load_device_identifier_finish (MMIfaceModem *self,
GAsyncResult *res,
GError **error)
{
- gchar *device_identifier;
-
- if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (res), error))
- return NULL;
-
- device_identifier = g_strdup (g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (res)));
- mm_dbg ("loaded device identifier: %s", device_identifier);
- return device_identifier;
+ return g_task_propagate_pointer (G_TASK (res), error);
}
static void
@@ -1388,23 +1381,18 @@ modem_load_device_identifier (MMIfaceModem *self,
GAsyncReadyCallback callback,
gpointer user_data)
{
- GSimpleAsyncResult *result;
gchar *device_identifier;
+ GTask *task;
mm_dbg ("loading device identifier...");
- result = g_simple_async_result_new (G_OBJECT (self),
- callback,
- user_data,
- modem_load_device_identifier);
/* Just use dummy ATI/ATI1 replies, all the other internal info should be
* enough for uniqueness */
device_identifier = mm_broadband_modem_create_device_identifier (MM_BROADBAND_MODEM (self), "", "");
- g_simple_async_result_set_op_res_gpointer (result,
- device_identifier,
- g_free);
- g_simple_async_result_complete_in_idle (result);
- g_object_unref (result);
+
+ task = g_task_new (self, NULL, callback, user_data);
+ g_task_return_pointer (task, device_identifier, g_free);
+ g_object_unref (task);
}
/*****************************************************************************/