#[derive(Debug, Clone, Copy)]
pub enum FpScanType {
Swipe = libfprint_sys::FpScanType_FP_SCAN_TYPE_SWIPE as isize,
Press = libfprint_sys::FpScanType_FP_SCAN_TYPE_PRESS as isize,
}
#[derive(Debug, Clone, Copy)]
pub enum FpFingerStatus {
None = libfprint_sys::FpFingerStatusFlags_FP_FINGER_STATUS_NONE as isize,
Needed = libfprint_sys::FpFingerStatusFlags_FP_FINGER_STATUS_NEEDED as isize,
Present = libfprint_sys::FpFingerStatusFlags_FP_FINGER_STATUS_PRESENT as isize,
}
#[derive(Debug, Clone, Copy)]
pub enum FpDeviceFeature {
None = 0,
Capture = 1,
Identify = 2,
Verify = 4,
Storage = 8,
StorageList = 16,
StorageDelete = 32,
StorageClear = 64,
DuplicatesCheck = 128,
AlwaysOn = 256,
UpdatePrint = 512,
}
impl FpDeviceFeature {
pub fn try_from(n: u32) -> Result<Self, ()> {
match n {
0 => Ok(FpDeviceFeature::None),
1 => Ok(FpDeviceFeature::Capture),
2 => Ok(FpDeviceFeature::Identify),
4 => Ok(FpDeviceFeature::Verify),
8 => Ok(FpDeviceFeature::Storage),
16 => Ok(FpDeviceFeature::StorageList),
32 => Ok(FpDeviceFeature::StorageDelete),
64 => Ok(FpDeviceFeature::StorageClear),
128 => Ok(FpDeviceFeature::DuplicatesCheck),
256 => Ok(FpDeviceFeature::AlwaysOn),
512 => Ok(FpDeviceFeature::UpdatePrint),
_ => Err(()),
}
}
}