diff options
author | Bastien Nocera <hadess@hadess.net> | 2021-09-03 18:17:58 +0200 |
---|---|---|
committer | Benjamin Berg <benjamin@sipsolutions.net> | 2021-09-15 13:24:08 +0000 |
commit | e2511095d1e13b12812690f24809952eca9cbdc4 (patch) | |
tree | 73fe528a58f89ac8047fa602c8505bb02b91e06e | |
parent | 9515cc2e591813086bf103019a0ff8ecb2815089 (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.c | 25 |
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) |