diff options
author | Aleksander Morgado <aleksander@lanedo.com> | 2012-07-10 07:03:08 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@lanedo.com> | 2012-08-06 20:06:44 +0200 |
commit | 7b7f5b9dcb0b3cde4adc8e615ee6ee3fb01b9a80 (patch) | |
tree | 864010fe04d91888fa6c9d7393c038ea1fe1ebc2 /src | |
parent | 0aff871b04b76ca45aa9afbf7f1c88cb65c0e80d (diff) |
device: keep sysfs path around for logging
Diffstat (limited to 'src')
-rw-r--r-- | src/mm-device.c | 19 | ||||
-rw-r--r-- | src/mm-device.h | 1 |
2 files changed, 20 insertions, 0 deletions
diff --git a/src/mm-device.c b/src/mm-device.c index dfeaf6d4..dc7bde29 100644 --- a/src/mm-device.c +++ b/src/mm-device.c @@ -41,6 +41,7 @@ static GParamSpec *properties[PROP_LAST]; struct _MMDevicePrivate { /* Parent UDev device */ GUdevDevice *udev_device; + gchar *udev_device_path; /* Best plugin to manage this device */ MMPlugin *plugin; @@ -250,6 +251,12 @@ mm_device_create_modem (MMDevice *self, /*****************************************************************************/ +const gchar * +mm_device_get_path (MMDevice *self) +{ + return self->priv->udev_device_path; +} + GUdevDevice * mm_device_peek_udev_device (MMDevice *self) { @@ -332,6 +339,7 @@ set_property (GObject *object, case PROP_UDEV_DEVICE: /* construct only */ self->priv->udev_device = g_value_dup_object (value); + self->priv->udev_device_path = g_strdup (g_udev_device_get_sysfs_path (self->priv->udev_device)); break; case PROP_PLUGIN: g_clear_object (&(self->priv->plugin)); @@ -385,6 +393,16 @@ dispose (GObject *object) } static void +finalize (GObject *object) +{ + MMDevice *self = MM_DEVICE (object); + + g_free (self->priv->udev_device_path); + + G_OBJECT_CLASS (mm_device_parent_class)->finalize (object); +} + +static void mm_device_class_init (MMDeviceClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); @@ -394,6 +412,7 @@ mm_device_class_init (MMDeviceClass *klass) /* Virtual methods */ object_class->get_property = get_property; object_class->set_property = set_property; + object_class->finalize = finalize; object_class->dispose = dispose; properties[PROP_UDEV_DEVICE] = diff --git a/src/mm-device.h b/src/mm-device.h index 7eee70e3..c0c24686 100644 --- a/src/mm-device.h +++ b/src/mm-device.h @@ -63,6 +63,7 @@ gboolean mm_device_create_modem (MMDevice *self, GError **error); void mm_device_remove_modem (MMDevice *self); +const gchar *mm_device_get_path (MMDevice *self); GUdevDevice *mm_device_peek_udev_device (MMDevice *self); GUdevDevice *mm_device_get_udev_device (MMDevice *self); void mm_device_set_plugin (MMDevice *self, |