diff options
author | Aleksander Morgado <aleksander@lanedo.com> | 2013-04-13 11:54:08 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@lanedo.com> | 2013-04-17 15:19:40 +0200 |
commit | bb9031ed38a682b3cd99a48f1c38df6d8263a2c6 (patch) | |
tree | eaa686d3a03e7e6d800fe1b31e0688780ec8016d | |
parent | 45ae6dd672306cada1814ab23e2e88e2e5b7ed7e (diff) |
broadband-modem-mbim: build fake manufacturer and model strings
-rw-r--r-- | src/mm-broadband-modem-mbim.c | 63 |
1 files 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 @@ -187,6 +187,61 @@ modem_load_current_capabilities (MMIfaceModem *self, } /*****************************************************************************/ +/* 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) */ static gchar * @@ -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; |