From bb9031ed38a682b3cd99a48f1c38df6d8263a2c6 Mon Sep 17 00:00:00 2001 From: Aleksander Morgado Date: Sat, 13 Apr 2013 11:54:08 +0200 Subject: broadband-modem-mbim: build fake manufacturer and model strings --- src/mm-broadband-modem-mbim.c | 63 ++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 59 insertions(+), 4 deletions(-) diff --git a/src/mm-broadband-modem-mbim.c b/src/mm-broadband-modem-mbim.c index 04d8a220..56816c49 100644 --- a/src/mm-broadband-modem-mbim.c +++ b/src/mm-broadband-modem-mbim.c @@ -186,6 +186,61 @@ modem_load_current_capabilities (MMIfaceModem *self, mbim_message_unref (message); } +/*****************************************************************************/ +/* Manufacturer loading (Modem interface) */ + +static gchar * +modem_load_manufacturer_finish (MMIfaceModem *self, + GAsyncResult *res, + GError **error) +{ + return g_strdup (mm_base_modem_get_plugin (MM_BASE_MODEM (self))); +} + +static void +modem_load_manufacturer (MMIfaceModem *self, + GAsyncReadyCallback callback, + gpointer user_data) +{ + GSimpleAsyncResult *result; + + result = g_simple_async_result_new (G_OBJECT (self), + callback, + user_data, + modem_load_manufacturer); + g_simple_async_result_complete_in_idle (result); + g_object_unref (result); +} + +/*****************************************************************************/ +/* Model loading (Modem interface) */ + +static gchar * +modem_load_model_finish (MMIfaceModem *self, + GAsyncResult *res, + GError **error) +{ + return g_strdup_printf ("MBIM [%04X:%04X]", + (mm_base_modem_get_vendor_id (MM_BASE_MODEM (self)) & 0xFFFF), + (mm_base_modem_get_product_id (MM_BASE_MODEM (self)) & 0xFFFF)); + +} + +static void +modem_load_model (MMIfaceModem *self, + GAsyncReadyCallback callback, + gpointer user_data) +{ + GSimpleAsyncResult *result; + + result = g_simple_async_result_new (G_OBJECT (self), + callback, + user_data, + modem_load_manufacturer); + g_simple_async_result_complete_in_idle (result); + g_object_unref (result); +} + /*****************************************************************************/ /* Revision loading (Modem interface) */ @@ -1188,10 +1243,10 @@ 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_manufacturer = modem_load_manufacturer; + iface->load_manufacturer_finish = modem_load_manufacturer_finish; + iface->load_model = modem_load_model; + iface->load_model_finish = modem_load_model_finish; iface->load_revision = modem_load_revision; iface->load_revision_finish = modem_load_revision_finish; iface->load_equipment_identifier = modem_load_equipment_identifier; -- cgit v1.2.3