diff options
author | Lukas Voegl <lvoegl@tdt.de> | 2023-09-15 12:59:54 +0200 |
---|---|---|
committer | Lukas Voegl <lvoegl@tdt.de> | 2023-09-18 10:53:12 +0200 |
commit | 8cd1c1bdb9ba5bfe1b69b4484cc46bdd4720fdb4 (patch) | |
tree | 959258791644b9dd12dd8949c159363cf93e0ce8 /src/mm-base-modem.c | |
parent | 1fc061b6a533780041de89dd70a2567a265f6080 (diff) |
api,modem: new 'Physdev' property
Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
Diffstat (limited to 'src/mm-base-modem.c')
-rw-r--r-- | src/mm-base-modem.c | 26 |
1 files changed, 26 insertions, 0 deletions
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", |