diff options
author | Ben Chan <benchan@chromium.org> | 2018-04-28 16:01:39 -0700 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2018-06-02 17:56:59 +0200 |
commit | 76bdaaba3e0d6e058d0d84b2c61e5581d3c143c1 (patch) | |
tree | fb71dda2a53c13ade308d7732cecef0f30c57e41 | |
parent | f330ffdaa993880260ed8c2d48eac5fee5dba11a (diff) | |
download | ModemManager-76bdaaba3e0d6e058d0d84b2c61e5581d3c143c1.tar.gz |
broadband-modem-qmi: port oma_load_features to use GTask
-rw-r--r-- | src/mm-broadband-modem-qmi.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/mm-broadband-modem-qmi.c b/src/mm-broadband-modem-qmi.c index 4a8a45af3..0b5b6606f 100644 --- a/src/mm-broadband-modem-qmi.c +++ b/src/mm-broadband-modem-qmi.c @@ -9146,10 +9146,15 @@ oma_load_features_finish (MMIfaceModemOma *self, GAsyncResult *res, GError **error) { - if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (res), error)) - return MM_OMA_FEATURE_NONE; + GError *inner_error = NULL; + gssize value; - return (MMOmaFeature) GPOINTER_TO_UINT (g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (res))); + value = g_task_propagate_int (G_TASK (res), &inner_error); + if (inner_error) { + g_propagate_error (error, inner_error); + return MM_OMA_FEATURE_NONE; + } + return (MMOmaFeature)value; } static void @@ -9205,7 +9210,7 @@ oma_load_features (MMIfaceModemOma *self, { QmiClient *client = NULL; - if (!ensure_qmi_client (MM_BROADBAND_MODEM_QMI (self), + if (!assure_qmi_client (MM_BROADBAND_MODEM_QMI (self), QMI_SERVICE_OMA, &client, callback, user_data)) return; @@ -9216,10 +9221,7 @@ oma_load_features (MMIfaceModemOma *self, 5, NULL, (GAsyncReadyCallback)oma_get_feature_setting_ready, - g_simple_async_result_new (G_OBJECT (self), - callback, - user_data, - oma_load_features)); + g_task_new (self, NULL, callback, user_data)); } /*****************************************************************************/ |