aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Chan <benchan@chromium.org>2017-08-01 11:10:19 -0700
committerAleksander Morgado <aleksander@aleksander.es>2017-09-08 17:45:28 +0200
commit0aae6d3e35769a8af15bfe7cb3d89fb486d32f1d (patch)
treecd9e12b94132fdc81a7863f923abbbc6ea302825
parent60129a6fde5aa0df7a36b83e5364e68c4a16d6d2 (diff)
huawei: port modem_time_check_support to use GTask
-rw-r--r--plugins/huawei/mm-broadband-modem-huawei.c32
1 files changed, 14 insertions, 18 deletions
diff --git a/plugins/huawei/mm-broadband-modem-huawei.c b/plugins/huawei/mm-broadband-modem-huawei.c
index 19d2b93e..8d26f773 100644
--- a/plugins/huawei/mm-broadband-modem-huawei.c
+++ b/plugins/huawei/mm-broadband-modem-huawei.c
@@ -3954,24 +3954,23 @@ modem_time_check_support_finish (MMIfaceModemTime *_self,
GAsyncResult *res,
GError **error)
{
- MMBroadbandModemHuawei *self = MM_BROADBAND_MODEM_HUAWEI (_self);
-
- if (self->priv->nwtime_support == FEATURE_SUPPORTED)
- return TRUE;
- if (self->priv->time_support == FEATURE_SUPPORTED)
- return TRUE;
- return FALSE;
+ return g_task_propagate_boolean (G_TASK (res), error);
}
static void
-modem_time_check_ready (MMBaseModem *self,
+modem_time_check_ready (MMBaseModem *_self,
GAsyncResult *res,
- GSimpleAsyncResult *simple)
+ GTask *task)
{
+ MMBroadbandModemHuawei *self = MM_BROADBAND_MODEM_HUAWEI (_self);
+
/* Responses are checked in the sequence parser, ignore overall result */
- mm_base_modem_at_sequence_finish (self, res, NULL, NULL);
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ mm_base_modem_at_sequence_finish (_self, res, NULL, NULL);
+
+ g_task_return_boolean (task,
+ (self->priv->nwtime_support == FEATURE_SUPPORTED ||
+ self->priv->time_support == FEATURE_SUPPORTED));
+ g_object_unref (task);
}
static gboolean
@@ -4012,19 +4011,16 @@ modem_time_check_support (MMIfaceModemTime *self,
GAsyncReadyCallback callback,
gpointer user_data)
{
- GSimpleAsyncResult *result;
+ GTask *task;
- result = g_simple_async_result_new (G_OBJECT (self),
- callback,
- user_data,
- modem_time_check_support);
+ task = g_task_new (self, NULL, callback, user_data);
mm_base_modem_at_sequence (MM_BASE_MODEM (self),
time_cmd_sequence,
NULL, /* response_processor_context */
NULL, /* response_processor_context_free */
(GAsyncReadyCallback)modem_time_check_ready,
- result);
+ task);
}
/*****************************************************************************/