summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Nocera <hadess@hadess.net>2021-09-03 18:17:58 +0200
committerBenjamin Berg <benjamin@sipsolutions.net>2021-09-15 13:24:08 +0000
commite2511095d1e13b12812690f24809952eca9cbdc4 (patch)
tree73fe528a58f89ac8047fa602c8505bb02b91e06e
parent9515cc2e591813086bf103019a0ff8ecb2815089 (diff)
device: Export kernel device from FpDevice
This is inelegant, but allows API consumers to match the FpDevice with an OS device.
-rw-r--r--libfprint/fp-device.c25
1 files changed, 22 insertions, 3 deletions
diff --git a/libfprint/fp-device.c b/libfprint/fp-device.c
index 4d19bf0..35e2f2b 100644
--- a/libfprint/fp-device.c
+++ b/libfprint/fp-device.c
@@ -245,6 +245,7 @@ fp_device_get_property (GObject *object,
{
FpDevice *self = FP_DEVICE (object);
FpDevicePrivate *priv = fp_device_get_instance_private (self);
+ FpDeviceClass *cls = FP_DEVICE_GET_CLASS (self);
switch (prop_id)
{
@@ -284,6 +285,24 @@ fp_device_get_property (GObject *object,
g_value_set_boolean (value, priv->is_removed);
break;
+ case PROP_FPI_USB_DEVICE:
+ g_value_set_object (value, priv->usb_device);
+ break;
+
+ case PROP_FPI_UDEV_DATA_SPIDEV:
+ if (cls->type == FP_DEVICE_TYPE_UDEV)
+ g_value_set_string (value, g_strdup (priv->udev_data.spidev_path));
+ else
+ g_value_set_string (value, NULL);
+ break;
+
+ case PROP_FPI_UDEV_DATA_HIDRAW:
+ if (cls->type == FP_DEVICE_TYPE_UDEV)
+ g_value_set_string (value, g_strdup (priv->udev_data.hidraw_path));
+ else
+ g_value_set_string (value, NULL);
+ break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
}
@@ -530,7 +549,7 @@ fp_device_class_init (FpDeviceClass *klass)
"USB Device",
"Private: The USB device for the device",
G_USB_TYPE_DEVICE,
- G_PARAM_STATIC_STRINGS | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY);
+ G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY);
/**
* FpDevice::fpi-udev-data-spidev: (skip)
*
@@ -543,7 +562,7 @@ fp_device_class_init (FpDeviceClass *klass)
"Udev data: spidev path",
"Private: The path to /dev/spidevN.M",
NULL,
- G_PARAM_STATIC_STRINGS | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY);
+ G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY);
/**
* FpDevice::fpi-udev-data-hidraw: (skip)
*
@@ -556,7 +575,7 @@ fp_device_class_init (FpDeviceClass *klass)
"Udev data: hidraw path",
"Private: The path to /dev/hidrawN",
NULL,
- G_PARAM_STATIC_STRINGS | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY);
+ G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY);
/**
* FpDevice::fpi-driver-data: (skip)