From 641e1b8a43c253c0df94e1ecfbfb13e0e4af2513 Mon Sep 17 00:00:00 2001 From: Ben Chan Date: Thu, 26 Apr 2018 17:37:55 -0700 Subject: broadband-modem-qmi: add a temporary assure_qmi_client() helper ensure_qmi_client() uses g_simple_async_report_take_gerror_in_idle(), which can't be mixed with GTask. To allow migrating remaining MMBroadbandModemQmi code to use GTask in a series of smaller patches, this patch adds a temporary assure_qmi_client() helper, which mimics ensure_qmi_client() but uses g_task_report_new_error(). Once all the MMBroadbandModemQmi code is migrated to use GTask, we will drop the old ensure_qmi_client() and renames assure_qmi_client() back to ensure_qmi_client(). --- src/mm-broadband-modem-qmi.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src') diff --git a/src/mm-broadband-modem-qmi.c b/src/mm-broadband-modem-qmi.c index 898906c8..7df857ea 100644 --- a/src/mm-broadband-modem-qmi.c +++ b/src/mm-broadband-modem-qmi.c @@ -187,6 +187,26 @@ ensure_qmi_client (MMBroadbandModemQmi *self, return TRUE; } +static gboolean +assure_qmi_client (MMBroadbandModemQmi *self, + QmiService service, + QmiClient **o_client, + GAsyncReadyCallback callback, + gpointer user_data) +{ + GError *error = NULL; + QmiClient *client; + + client = peek_qmi_client (self, service, &error); + if (!client) { + g_task_report_error (self, callback, user_data, assure_qmi_client, error); + return FALSE; + } + + *o_client = client; + return TRUE; +} + /*****************************************************************************/ /* Power cycle */ -- cgit v1.2.3-70-g09d2