diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mm-broadband-modem.c | 38 | ||||
-rw-r--r-- | src/mm-broadband-modem.h | 6 |
2 files changed, 30 insertions, 14 deletions
diff --git a/src/mm-broadband-modem.c b/src/mm-broadband-modem.c index 88feb490..02f2d304 100644 --- a/src/mm-broadband-modem.c +++ b/src/mm-broadband-modem.c @@ -695,20 +695,10 @@ modem_load_device_identifier_finish (MMIfaceModem *self, } g_assert (ctx != NULL); - device_identifier = mm_create_device_identifier ( - mm_base_modem_get_vendor_id (MM_BASE_MODEM (self)), - mm_base_modem_get_product_id (MM_BASE_MODEM (self)), - ((DeviceIdentifierContext *)ctx)->ati, - ((DeviceIdentifierContext *)ctx)->ati1, - mm_gdbus_modem_get_equipment_identifier ( - MM_GDBUS_MODEM (MM_BROADBAND_MODEM (self)->priv->modem_dbus_skeleton)), - mm_gdbus_modem_get_revision ( - MM_GDBUS_MODEM (MM_BROADBAND_MODEM (self)->priv->modem_dbus_skeleton)), - mm_gdbus_modem_get_model ( - MM_GDBUS_MODEM (MM_BROADBAND_MODEM (self)->priv->modem_dbus_skeleton)), - mm_gdbus_modem_get_manufacturer ( - MM_GDBUS_MODEM (MM_BROADBAND_MODEM (self)->priv->modem_dbus_skeleton))); - + device_identifier = (mm_broadband_modem_create_device_identifier ( + MM_BROADBAND_MODEM (self), + ((DeviceIdentifierContext *)ctx)->ati, + ((DeviceIdentifierContext *)ctx)->ati1)); mm_dbg ("loaded device identifier: %s", device_identifier); return device_identifier; } @@ -7627,6 +7617,26 @@ mm_broadband_modem_take_and_convert_to_current_charset (MMBroadbandModem *self, return mm_utf8_take_and_convert_to_charset (str, self->priv->modem_current_charset); } +gchar * +mm_broadband_modem_create_device_identifier (MMBroadbandModem *self, + const gchar *ati, + const gchar *ati1) +{ + return (mm_create_device_identifier ( + mm_base_modem_get_vendor_id (MM_BASE_MODEM (self)), + mm_base_modem_get_product_id (MM_BASE_MODEM (self)), + ati, + ati1, + mm_gdbus_modem_get_equipment_identifier ( + MM_GDBUS_MODEM (MM_BROADBAND_MODEM (self)->priv->modem_dbus_skeleton)), + mm_gdbus_modem_get_revision ( + MM_GDBUS_MODEM (MM_BROADBAND_MODEM (self)->priv->modem_dbus_skeleton)), + mm_gdbus_modem_get_model ( + MM_GDBUS_MODEM (MM_BROADBAND_MODEM (self)->priv->modem_dbus_skeleton)), + mm_gdbus_modem_get_manufacturer ( + MM_GDBUS_MODEM (MM_BROADBAND_MODEM (self)->priv->modem_dbus_skeleton)))); +} + /*****************************************************************************/ MMBroadbandModem * diff --git a/src/mm-broadband-modem.h b/src/mm-broadband-modem.h index a8c10581..33ea53f3 100644 --- a/src/mm-broadband-modem.h +++ b/src/mm-broadband-modem.h @@ -92,4 +92,10 @@ gchar *mm_broadband_modem_take_and_convert_to_utf8 (MMBroadbandModem *self, gchar *mm_broadband_modem_take_and_convert_to_current_charset (MMBroadbandModem *self, gchar *str); +/* Create a unique device identifier string using the ATI and ATI1 replies and some + * additional internal info */ +gchar *mm_broadband_modem_create_device_identifier (MMBroadbandModem *self, + const gchar *ati, + const gchar *ati1); + #endif /* MM_BROADBAND_MODEM_H */ |