lib: Add fp_driver_supports_imaging()

So we don't need to open a device before checking whether it supports
imaging.
This commit is contained in:
Bastien Nocera 2018-10-11 15:00:30 +02:00
parent 46ebb39f65
commit f42cd6eefd
3 changed files with 20 additions and 0 deletions

View file

@ -40,6 +40,7 @@ fp_driver_get_name
fp_driver_get_full_name fp_driver_get_full_name
fp_driver_get_driver_id fp_driver_get_driver_id
fp_driver_get_scan_type fp_driver_get_scan_type
fp_driver_supports_imaging
</SECTION> </SECTION>
<SECTION> <SECTION>

View file

@ -579,6 +579,24 @@ API_EXPORTED enum fp_scan_type fp_driver_get_scan_type(struct fp_driver *drv)
return drv->scan_type; return drv->scan_type;
} }
/**
* fp_driver_supports_imaging:
* @drv: the driver
*
* Determines if a driver has imaging capabilities. If a driver has imaging
* capabilities you are able to perform imaging operations such as retrieving
* scan images using fp_dev_img_capture(). However, not all drivers support
* imaging devices some do all processing in hardware. This function will
* indicate which class a device in question falls into.
*
* Returns: 1 if the device is an imaging device, 0 if the device does not
* provide images to the host computer
*/
API_EXPORTED int fp_driver_supports_imaging(struct fp_driver *drv)
{
return drv->capture_start != NULL;
}
/** /**
* fp_dev_supports_imaging: * fp_dev_supports_imaging:
* @dev: the fingerprint device * @dev: the fingerprint device

View file

@ -130,6 +130,7 @@ const char *fp_driver_get_name(struct fp_driver *drv);
const char *fp_driver_get_full_name(struct fp_driver *drv); const char *fp_driver_get_full_name(struct fp_driver *drv);
uint16_t fp_driver_get_driver_id(struct fp_driver *drv); uint16_t fp_driver_get_driver_id(struct fp_driver *drv);
enum fp_scan_type fp_driver_get_scan_type(struct fp_driver *drv); enum fp_scan_type fp_driver_get_scan_type(struct fp_driver *drv);
int fp_driver_supports_imaging(struct fp_driver *drv);
/* Device discovery */ /* Device discovery */
struct fp_dscv_dev **fp_discover_devs(void); struct fp_dscv_dev **fp_discover_devs(void);