diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2018-12-18 14:52:44 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2019-04-02 12:11:25 +0200 |
commit | 94cf7f0ceb8c00a413d279a1fbdb491c01240d81 (patch) | |
tree | 5b5111e0c2c0f7d4e1fcb3b66e9219f7a2e285fc /libmm-glib/mm-modem.c | |
parent | b8daedd3c015e150955d2063b9e79589640693e5 (diff) |
iface-modem: new carrier config support
During initialization phase we will allow querying the modem for the
details of which carrier-specific configuration is being used, and
will expose a description string in the API.
In addition to showing the current configuration, we will also allow
automatically switching the configuration based on the SIM card
detected in the device. In order to allow this, plugins/modems will
need to provide the expected mapping between carrier config
description and MCCMNC. This mapping cannot be generic, because
different manufacturers may use different description strings.
Diffstat (limited to 'libmm-glib/mm-modem.c')
-rw-r--r-- | libmm-glib/mm-modem.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/libmm-glib/mm-modem.c b/libmm-glib/mm-modem.c index 80cb280b..d7d59542 100644 --- a/libmm-glib/mm-modem.c +++ b/libmm-glib/mm-modem.c @@ -503,6 +503,47 @@ mm_modem_dup_revision (MMModem *self) /*****************************************************************************/ /** + * mm_modem_get_carrier_configuration: + * @self: A #MMModem. + * + * Gets the carrier-specific configuration (MCFG) in use, as reported by this #MMModem. + * + * <warning>The returned value is only valid until the property changes so + * it is only safe to use this function on the thread where + * @self was constructed. Use mm_modem_dup_carrier_configuration() if on another + * thread.</warning> + * + * Returns: (transfer none): The carrier configuration, or %NULL if none available. Do not free the returned value, it belongs to @self. + */ +const gchar * +mm_modem_get_carrier_configuration (MMModem *self) +{ + g_return_val_if_fail (MM_IS_MODEM (self), NULL); + + RETURN_NON_EMPTY_CONSTANT_STRING ( + mm_gdbus_modem_get_carrier_configuration (MM_GDBUS_MODEM (self))); +} + +/** + * mm_modem_dup_carrier_configuration: + * @self: A #MMModem. + * + * Gets a copy of the carrier-specific configuration (MCFG) in use, as reported by this #MMModem. + * + * Returns: (transfer full): The carrier configuration, or %NULL if none available. The returned value should be freed with g_free(). + */ +gchar * +mm_modem_dup_carrier_configuration (MMModem *self) +{ + g_return_val_if_fail (MM_IS_MODEM (self), NULL); + + RETURN_NON_EMPTY_STRING ( + mm_gdbus_modem_dup_carrier_configuration (MM_GDBUS_MODEM (self))); +} + +/*****************************************************************************/ + +/** * mm_modem_get_hardware_revision: * @self: A #MMModem. * |