diff --git a/libfprint/drivers/virtual-device.c b/libfprint/drivers/virtual-device.c index 17a7ad01..aed44246 100644 --- a/libfprint/drivers/virtual-device.c +++ b/libfprint/drivers/virtual-device.c @@ -772,6 +772,7 @@ fpi_device_virtual_device_class_init (FpDeviceVirtualDeviceClass *klass) { FpDeviceClass *dev_class = FP_DEVICE_CLASS (klass); GObjectClass *object_class = G_OBJECT_CLASS (klass); + const char *hot_seconds; object_class->finalize = fpi_device_virtual_device_finalize; @@ -787,5 +788,18 @@ fpi_device_virtual_device_class_init (FpDeviceVirtualDeviceClass *klass) dev_class->enroll = dev_enroll; dev_class->cancel = dev_cancel; + if ((hot_seconds = g_getenv ("FP_VIRTUAL_DEVICE_HOT_SECONDS")) && + *hot_seconds != '\0') + { + gint64 hot_seconds_value; + + hot_seconds_value = g_ascii_strtoll (hot_seconds, NULL, 10); + if (hot_seconds_value >= G_MAXINT32 || hot_seconds_value < 0) + hot_seconds_value = -1; + + dev_class->temp_hot_seconds = hot_seconds_value; + g_debug ("device hot seconds set to %d", dev_class->temp_hot_seconds); + } + fpi_device_class_auto_initialize_features (dev_class); } diff --git a/libfprint/drivers/virtual-image.c b/libfprint/drivers/virtual-image.c index df8ddbf4..97eebc91 100644 --- a/libfprint/drivers/virtual-image.c +++ b/libfprint/drivers/virtual-image.c @@ -310,6 +310,7 @@ fpi_device_virtual_image_class_init (FpDeviceVirtualImageClass *klass) { FpDeviceClass *dev_class = FP_DEVICE_CLASS (klass); FpImageDeviceClass *img_class = FP_IMAGE_DEVICE_CLASS (klass); + const char *hot_seconds; dev_class->id = FP_COMPONENT; dev_class->full_name = "Virtual image device for debugging"; @@ -321,4 +322,17 @@ fpi_device_virtual_image_class_init (FpDeviceVirtualImageClass *klass) img_class->activate = dev_activate; img_class->deactivate = dev_deactivate; + + if ((hot_seconds = g_getenv ("FP_VIRTUAL_IMAGE_HOT_SECONDS")) && + *hot_seconds != '\0') + { + gint64 hot_seconds_value; + + hot_seconds_value = g_ascii_strtoll (hot_seconds, NULL, 10); + if (hot_seconds_value >= G_MAXINT32 || hot_seconds_value < 0) + hot_seconds_value = -1; + + dev_class->temp_hot_seconds = hot_seconds_value; + g_debug ("device hot seconds set to %d", dev_class->temp_hot_seconds); + } }