diff options
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", |