diff options
author | Ben Chan <benchan@chromium.org> | 2017-07-10 15:55:34 -0700 |
---|---|---|
committer | Ben Chan <benchan@chromium.org> | 2017-07-11 10:30:39 -0700 |
commit | fb9c758f050ab004f993aee48f9f5395d8699b46 (patch) | |
tree | 5b8e56363a0a93d7faea3cfdd159ccd4ff68713a /src | |
parent | 234d7810f54acf1788993b81d35d5e309db4aaa8 (diff) |
broadband-modem-mbim: port modem_load_revision to use GTask
Diffstat (limited to 'src')
-rw-r--r-- | src/mm-broadband-modem-mbim.c | 32 |
1 files changed, 15 insertions, 17 deletions
diff --git a/src/mm-broadband-modem-mbim.c b/src/mm-broadband-modem-mbim.c index 193b4d0a..c3deb30a 100644 --- a/src/mm-broadband-modem-mbim.c +++ b/src/mm-broadband-modem-mbim.c @@ -294,30 +294,28 @@ modem_load_revision_finish (MMIfaceModem *self, GAsyncResult *res, GError **error) { - if (MM_BROADBAND_MODEM_MBIM (self)->priv->caps_firmware_info) - return g_strdup (MM_BROADBAND_MODEM_MBIM (self)->priv->caps_firmware_info); - - g_set_error (error, - MM_CORE_ERROR, - MM_CORE_ERROR_FAILED, - "Firmware revision information not given in device capabilities"); - return NULL; + return g_task_propagate_pointer (G_TASK (res), error); } static void -modem_load_revision (MMIfaceModem *self, +modem_load_revision (MMIfaceModem *_self, GAsyncReadyCallback callback, gpointer user_data) { - GSimpleAsyncResult *result; + MMBroadbandModemMbim *self = MM_BROADBAND_MODEM_MBIM (_self); + GTask *task; - /* Just complete */ - result = g_simple_async_result_new (G_OBJECT (self), - callback, - user_data, - modem_load_revision); - g_simple_async_result_complete_in_idle (result); - g_object_unref (result); + task = g_task_new (self, NULL, callback, user_data); + if (self->priv->caps_firmware_info) + g_task_return_pointer (task, + g_strdup (self->priv->caps_firmware_info), + g_free); + else + g_task_return_new_error (task, + MM_CORE_ERROR, + MM_CORE_ERROR_FAILED, + "Firmware revision information not given in device capabilities"); + g_object_unref (task); } /*****************************************************************************/ |