From 8cd1c1bdb9ba5bfe1b69b4484cc46bdd4720fdb4 Mon Sep 17 00:00:00 2001 From: Lukas Voegl Date: Fri, 15 Sep 2023 12:59:54 +0200 Subject: api,modem: new 'Physdev' property Signed-off-by: Lukas Voegl --- src/mm-base-modem.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src/mm-base-modem.c') diff --git a/src/mm-base-modem.c b/src/mm-base-modem.c index f5a983c0..e02be984 100644 --- a/src/mm-base-modem.c +++ b/src/mm-base-modem.c @@ -53,6 +53,7 @@ enum { PROP_VALID, PROP_MAX_TIMEOUTS, PROP_DEVICE, + PROP_PHYSDEV, PROP_DRIVERS, PROP_PLUGIN, PROP_VENDOR_ID, @@ -85,6 +86,7 @@ struct _MMBaseModemPrivate { gulong invalid_if_cancelled; gchar *device; + gchar *physdev; gchar **drivers; gchar *plugin; @@ -1723,6 +1725,14 @@ mm_base_modem_get_device (MMBaseModem *self) return self->priv->device; } +const gchar * +mm_base_modem_get_physdev (MMBaseModem *self) +{ + g_return_val_if_fail (MM_IS_BASE_MODEM (self), NULL); + + return self->priv->physdev; +} + const gchar ** mm_base_modem_get_drivers (MMBaseModem *self) { @@ -1908,6 +1918,10 @@ set_property (GObject *object, g_free (self->priv->device); self->priv->device = g_value_dup_string (value); break; + case PROP_PHYSDEV: + g_free (self->priv->physdev); + self->priv->physdev = g_value_dup_string (value); + break; case PROP_DRIVERS: g_strfreev (self->priv->drivers); self->priv->drivers = g_value_dup_boxed (value); @@ -1962,6 +1976,9 @@ get_property (GObject *object, case PROP_DEVICE: g_value_set_string (value, self->priv->device); break; + case PROP_PHYSDEV: + g_value_set_string (value, self->priv->physdev); + break; case PROP_DRIVERS: g_value_set_boxed (value, self->priv->drivers); break; @@ -2007,6 +2024,7 @@ finalize (GObject *object) mm_obj_dbg (self, "completely disposed"); g_free (self->priv->device); + g_free (self->priv->physdev); g_strfreev (self->priv->drivers); g_free (self->priv->plugin); @@ -2098,6 +2116,14 @@ mm_base_modem_class_init (MMBaseModemClass *klass) G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY); g_object_class_install_property (object_class, PROP_DEVICE, properties[PROP_DEVICE]); + properties[PROP_PHYSDEV] = + g_param_spec_string (MM_BASE_MODEM_PHYSDEV, + "Physdev path", + "Main modem parent physical device path", + NULL, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY); + g_object_class_install_property (object_class, PROP_PHYSDEV, properties[PROP_PHYSDEV]); + properties[PROP_DRIVERS] = g_param_spec_boxed (MM_BASE_MODEM_DRIVERS, "Drivers", -- cgit v1.2.3-70-g09d2