device: keep sysfs path around for logging
This commit is contained in:
@@ -41,6 +41,7 @@ static GParamSpec *properties[PROP_LAST];
|
|||||||
struct _MMDevicePrivate {
|
struct _MMDevicePrivate {
|
||||||
/* Parent UDev device */
|
/* Parent UDev device */
|
||||||
GUdevDevice *udev_device;
|
GUdevDevice *udev_device;
|
||||||
|
gchar *udev_device_path;
|
||||||
|
|
||||||
/* Best plugin to manage this device */
|
/* Best plugin to manage this device */
|
||||||
MMPlugin *plugin;
|
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 *
|
GUdevDevice *
|
||||||
mm_device_peek_udev_device (MMDevice *self)
|
mm_device_peek_udev_device (MMDevice *self)
|
||||||
{
|
{
|
||||||
@@ -332,6 +339,7 @@ set_property (GObject *object,
|
|||||||
case PROP_UDEV_DEVICE:
|
case PROP_UDEV_DEVICE:
|
||||||
/* construct only */
|
/* construct only */
|
||||||
self->priv->udev_device = g_value_dup_object (value);
|
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;
|
break;
|
||||||
case PROP_PLUGIN:
|
case PROP_PLUGIN:
|
||||||
g_clear_object (&(self->priv->plugin));
|
g_clear_object (&(self->priv->plugin));
|
||||||
@@ -384,6 +392,16 @@ dispose (GObject *object)
|
|||||||
G_OBJECT_CLASS (mm_device_parent_class)->dispose (object);
|
G_OBJECT_CLASS (mm_device_parent_class)->dispose (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
|
static void
|
||||||
mm_device_class_init (MMDeviceClass *klass)
|
mm_device_class_init (MMDeviceClass *klass)
|
||||||
{
|
{
|
||||||
@@ -394,6 +412,7 @@ mm_device_class_init (MMDeviceClass *klass)
|
|||||||
/* Virtual methods */
|
/* Virtual methods */
|
||||||
object_class->get_property = get_property;
|
object_class->get_property = get_property;
|
||||||
object_class->set_property = set_property;
|
object_class->set_property = set_property;
|
||||||
|
object_class->finalize = finalize;
|
||||||
object_class->dispose = dispose;
|
object_class->dispose = dispose;
|
||||||
|
|
||||||
properties[PROP_UDEV_DEVICE] =
|
properties[PROP_UDEV_DEVICE] =
|
||||||
|
@@ -63,6 +63,7 @@ gboolean mm_device_create_modem (MMDevice *self,
|
|||||||
GError **error);
|
GError **error);
|
||||||
void mm_device_remove_modem (MMDevice *self);
|
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_peek_udev_device (MMDevice *self);
|
||||||
GUdevDevice *mm_device_get_udev_device (MMDevice *self);
|
GUdevDevice *mm_device_get_udev_device (MMDevice *self);
|
||||||
void mm_device_set_plugin (MMDevice *self,
|
void mm_device_set_plugin (MMDevice *self,
|
||||||
|
Reference in New Issue
Block a user