aboutsummaryrefslogtreecommitdiff
path: root/src/mm-device.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mm-device.c')
-rw-r--r--src/mm-device.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/mm-device.c b/src/mm-device.c
index 83b1ed16..c2705f5e 100644
--- a/src/mm-device.c
+++ b/src/mm-device.c
@@ -35,6 +35,7 @@ G_DEFINE_TYPE_EXTENDED (MMDevice, mm_device, G_TYPE_OBJECT, 0,
enum {
PROP_0,
PROP_UID,
+ PROP_PHYSDEV,
PROP_OBJECT_MANAGER,
PROP_PLUGIN,
PROP_MODEM,
@@ -60,6 +61,9 @@ struct _MMDevicePrivate {
/* Unique id */
gchar *uid;
+ /* Physdev path */
+ gchar *physdev;
+
/* The object manager */
GDBusObjectManagerServer *object_manager;
@@ -526,6 +530,12 @@ mm_device_get_uid (MMDevice *self)
return self->priv->uid;
}
+const gchar *
+mm_device_get_physdev (MMDevice *self)
+{
+ return self->priv->physdev;
+}
+
const gchar **
mm_device_get_drivers (MMDevice *self)
{
@@ -756,6 +766,7 @@ log_object_build_id (MMLogObject *_self)
MMDevice *
mm_device_new (const gchar *uid,
+ const gchar *physdev,
gboolean hotplugged,
gboolean virtual,
GDBusObjectManagerServer *object_manager)
@@ -764,6 +775,7 @@ mm_device_new (const gchar *uid,
return MM_DEVICE (g_object_new (MM_TYPE_DEVICE,
MM_DEVICE_UID, uid,
+ MM_DEVICE_PHYSDEV, physdev,
MM_DEVICE_HOTPLUGGED, hotplugged,
MM_DEVICE_VIRTUAL, virtual,
MM_DEVICE_OBJECT_MANAGER, object_manager,
@@ -790,6 +802,10 @@ set_property (GObject *object,
/* construct only */
self->priv->uid = g_value_dup_string (value);
break;
+ case PROP_PHYSDEV:
+ /* construct only */
+ self->priv->physdev = g_value_dup_string (value);
+ break;
case PROP_OBJECT_MANAGER:
/* construct only */
self->priv->object_manager = g_value_dup_object (value);
@@ -829,6 +845,9 @@ get_property (GObject *object,
case PROP_UID:
g_value_set_string (value, self->priv->uid);
break;
+ case PROP_PHYSDEV:
+ g_value_set_object (value, self->priv->physdev);
+ break;
case PROP_OBJECT_MANAGER:
g_value_set_object (value, self->priv->object_manager);
break;
@@ -913,6 +932,14 @@ mm_device_class_init (MMDeviceClass *klass)
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY);
g_object_class_install_property (object_class, PROP_UID, properties[PROP_UID]);
+ properties[PROP_PHYSDEV] =
+ g_param_spec_string (MM_DEVICE_PHYSDEV,
+ "Physdev",
+ "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_OBJECT_MANAGER] =
g_param_spec_object (MM_DEVICE_OBJECT_MANAGER,
"Object manager",