aboutsummaryrefslogtreecommitdiff
path: root/src/mm-base-modem.c
diff options
context:
space:
mode:
authorLukas Voegl <lvoegl@tdt.de>2023-09-15 12:59:54 +0200
committerLukas Voegl <lvoegl@tdt.de>2023-09-18 10:53:12 +0200
commit8cd1c1bdb9ba5bfe1b69b4484cc46bdd4720fdb4 (patch)
tree959258791644b9dd12dd8949c159363cf93e0ce8 /src/mm-base-modem.c
parent1fc061b6a533780041de89dd70a2567a265f6080 (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.c26
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",