static void list_bearers_ready (MMModem *modem, GAsyncResult *res, GetBearerContext *ctx) { GList *bearers; GError *error = NULL; bearers = mm_modem_list_bearers_finish (modem, res, &error); if (error) { g_printerr ("error: couldn't list bearers at '%s': '%s'\n", mm_modem_get_path (modem), error->message); exit (EXIT_FAILURE); } ctx->bearer = find_bearer_in_list (bearers, ctx->bearer_path); g_list_free_full (bearers, (GDestroyNotify) g_object_unref); /* Found! */ if (ctx->bearer) { g_simple_async_result_set_op_res_gpointer ( ctx->result, ctx, (GDestroyNotify)get_bearer_context_free); get_bearer_context_complete (ctx); return; } /* Not found, try with next modem */ look_for_bearer_in_modem (ctx); }
static void list_bearers_ready (MMModem *modem, GAsyncResult *result, gpointer nothing) { GList *operation_result; GError *error = NULL; operation_result = mm_modem_list_bearers_finish (modem, result, &error); list_bearers_process_reply (operation_result, error); mmcli_async_operation_done (); }