From 3b8c9a0e2dd6ad5087312f62539fdaa7e68f5d21 Mon Sep 17 00:00:00 2001 From: Aleksander Morgado Date: Sun, 7 Apr 2013 19:34:08 +0200 Subject: [PATCH] broadband-modem-mbim: implement revision string loading --- src/mm-broadband-modem-mbim.c | 40 +++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/src/mm-broadband-modem-mbim.c b/src/mm-broadband-modem-mbim.c index fa809525..9ad26d3d 100644 --- a/src/mm-broadband-modem-mbim.c +++ b/src/mm-broadband-modem-mbim.c @@ -153,6 +153,40 @@ modem_load_current_capabilities (MMIfaceModem *self, mbim_message_unref (message); } +/*****************************************************************************/ +/* Revision loading (Modem interface) */ + +static gchar * +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; +} + +static void +modem_load_revision (MMIfaceModem *self, + GAsyncReadyCallback callback, + gpointer user_data) +{ + GSimpleAsyncResult *result; + + /* 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); +} + /*****************************************************************************/ /* Create Bearer (Modem interface) */ @@ -440,6 +474,12 @@ iface_modem_init (MMIfaceModem *iface) iface->load_current_capabilities_finish = modem_load_current_capabilities_finish; iface->load_modem_capabilities = NULL; iface->load_modem_capabilities_finish = NULL; + iface->load_manufacturer = NULL; /* TODO */ + iface->load_manufacturer_finish = NULL; + iface->load_model = NULL; /* TODO */ + iface->load_model_finish = NULL; + iface->load_revision = modem_load_revision; + iface->load_revision_finish = modem_load_revision_finish; /* Create MBIM-specific SIM */ iface->create_sim = create_sim;