This is a wrapper to read the state of the fingerprint devices and to check asynchronously whether we have them and if they have enrolled prints we can use to log-in.
585 lines
21 KiB
XML
585 lines
21 KiB
XML
<!DOCTYPE node PUBLIC
|
|
"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
|
|
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd" [
|
|
<!ENTITY ERROR_CLAIM_DEVICE "net.reactivated.Fprint.Error.ClaimDevice">
|
|
<!ENTITY ERROR_ALREADY_IN_USE "net.reactivated.Fprint.Error.AlreadyInUse">
|
|
<!ENTITY ERROR_INTERNAL "net.reactivated.Fprint.Error.Internal">
|
|
<!ENTITY ERROR_PERMISSION_DENIED "net.reactivated.Fprint.Error.PermissionDenied">
|
|
<!ENTITY ERROR_NO_ENROLLED_PRINTS "net.reactivated.Fprint.Error.NoEnrolledPrints">
|
|
<!ENTITY ERROR_NO_ACTION_IN_PROGRESS "net.reactivated.Fprint.Error.NoActionInProgress">
|
|
<!ENTITY ERROR_INVALID_FINGERNAME "net.reactivated.Fprint.Error.InvalidFingername">
|
|
]>
|
|
|
|
<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
|
|
<interface name="net.reactivated.Fprint.Device">
|
|
value="fprint_device" />
|
|
|
|
<doc:doc>
|
|
<doc:title id="polkit-integration">
|
|
PolicyKit integration
|
|
</doc:title>
|
|
<doc:para>
|
|
fprintd uses PolicyKit to check whether users are allowed to access fingerprint data, or the
|
|
fingerprint readers itself.
|
|
<doc:list>
|
|
<doc:item>
|
|
<doc:term>net.reactivated.fprint.device.verify</doc:term>
|
|
<doc:definition>
|
|
Whether the user is allowed to verify fingers against saved fingerprints.
|
|
</doc:definition>
|
|
</doc:item>
|
|
<doc:item>
|
|
<doc:term>net.reactivated.fprint.device.enroll</doc:term>
|
|
<doc:definition>
|
|
Whether the user is allowed to enroll new fingerprints.
|
|
</doc:definition>
|
|
</doc:item>
|
|
<doc:item>
|
|
<doc:term>net.reactivated.fprint.device.setusername</doc:term>
|
|
<doc:definition>
|
|
Whether the user is allowed to query, verify, or enroll fingerprints for users other than itself.
|
|
</doc:definition>
|
|
</doc:item>
|
|
</doc:list>
|
|
</doc:para>
|
|
|
|
<doc:title id="usernames">
|
|
Usernames
|
|
</doc:title>
|
|
<doc:para>
|
|
When a username argument is used for a method, a PolicyKit check is done on the
|
|
<doc:tt>net.reactivated.fprint.device.setusername</doc:tt> PolicyKit
|
|
action to see whether the user the client is running as is allowed to access data from other users.
|
|
</doc:para>
|
|
<doc:para>
|
|
By default, only root is allowed to access fingerprint data for users other than itself. For a normal user,
|
|
it is recommended that you use an empty string for the username, which will mean "the client the user is
|
|
running as".
|
|
</doc:para>
|
|
<doc:para>
|
|
See <doc:ref type="description" to="polkit-integration">PolicyKit integration</doc:ref>.
|
|
</doc:para>
|
|
|
|
<doc:title id="fingerprint-names">
|
|
Fingerprint names
|
|
</doc:title>
|
|
<doc:para>
|
|
When a finger name argument is used for a method, it refers to either a single finger, or
|
|
"any" finger. See the list of possible values below:
|
|
<doc:list>
|
|
<doc:item>
|
|
<doc:term>left-thumb</doc:term>
|
|
<doc:definition>
|
|
Left thumb
|
|
</doc:definition>
|
|
</doc:item>
|
|
<doc:item>
|
|
<doc:term>left-index-finger</doc:term>
|
|
<doc:definition>
|
|
Left index finger
|
|
</doc:definition>
|
|
</doc:item>
|
|
<doc:item>
|
|
<doc:term>left-middle-finger</doc:term>
|
|
<doc:definition>
|
|
Left middle finger
|
|
</doc:definition>
|
|
</doc:item>
|
|
<doc:item>
|
|
<doc:term>left-ring-finger</doc:term>
|
|
<doc:definition>
|
|
Left ring finger
|
|
</doc:definition>
|
|
</doc:item>
|
|
<doc:item>
|
|
<doc:term>left-little-finger</doc:term>
|
|
<doc:definition>
|
|
Left little finger
|
|
</doc:definition>
|
|
</doc:item>
|
|
<doc:item>
|
|
<doc:term>right-thumb</doc:term>
|
|
<doc:definition>
|
|
Right thumb
|
|
</doc:definition>
|
|
</doc:item>
|
|
<doc:item>
|
|
<doc:term>right-index-finger</doc:term>
|
|
<doc:definition>
|
|
Right index finger
|
|
</doc:definition>
|
|
</doc:item>
|
|
<doc:item>
|
|
<doc:term>right-middle-finger</doc:term>
|
|
<doc:definition>
|
|
Right middle finger
|
|
</doc:definition>
|
|
</doc:item>
|
|
<doc:item>
|
|
<doc:term>right-ring-finger</doc:term>
|
|
<doc:definition>
|
|
Right ring finger
|
|
</doc:definition>
|
|
</doc:item>
|
|
<doc:item>
|
|
<doc:term>right-little-finger</doc:term>
|
|
<doc:definition>
|
|
Right little finger
|
|
</doc:definition>
|
|
</doc:item>
|
|
<doc:item>
|
|
<doc:term>any</doc:term>
|
|
<doc:definition>
|
|
Any finger. This is only used for <doc:ref type="method" to="Device.VerifyStart">Device.VerifyStart</doc:ref>
|
|
(select the first finger with a fingerprint associated, or all the fingerprints available for the user when
|
|
the device supports it) and <doc:ref type="signal" to="Device::VerifyFingerSelected">Device::VerifyFingerSelected</doc:ref>
|
|
(any finger with an associated fingerprint can be used).
|
|
</doc:definition>
|
|
</doc:item>
|
|
</doc:list>
|
|
</doc:para>
|
|
|
|
<doc:title id="verify-statuses">
|
|
Verify Statuses
|
|
</doc:title>
|
|
<doc:para>
|
|
<doc:list>
|
|
Possible values for the result passed through <doc:ref type="signal" to="Device::VerifyResult">Device::VerifyResult</doc:ref> are:
|
|
<doc:item>
|
|
<doc:term>verify-no-match</doc:term>
|
|
<doc:definition>
|
|
The verification did not match, <doc:ref type="method" to="Device.VerifyStop">Device.VerifyStop</doc:ref> should now be called.
|
|
</doc:definition>
|
|
</doc:item>
|
|
<doc:item>
|
|
<doc:term>verify-match</doc:term>
|
|
<doc:definition>
|
|
The verification succeeded, <doc:ref type="method" to="Device.VerifyStop">Device.VerifyStop</doc:ref> should now be called.
|
|
</doc:definition>
|
|
</doc:item>
|
|
<doc:item>
|
|
<doc:term>verify-retry-scan</doc:term>
|
|
<doc:definition>
|
|
The user should retry scanning their finger, the verification is still ongoing.
|
|
</doc:definition>
|
|
</doc:item>
|
|
<doc:item>
|
|
<doc:term>verify-swipe-too-short</doc:term>
|
|
<doc:definition>
|
|
The user's swipe was too short. The user should retry scanning their finger, the verification is still ongoing.
|
|
</doc:definition>
|
|
</doc:item>
|
|
<doc:item>
|
|
<doc:term>verify-finger-not-centered</doc:term>
|
|
<doc:definition>
|
|
The user's finger was not centered on the reader. The user should retry scanning their finger, the verification is still ongoing.
|
|
</doc:definition>
|
|
</doc:item>
|
|
<doc:item>
|
|
<doc:term>verify-remove-and-retry</doc:term>
|
|
<doc:definition>
|
|
The user should remove their finger from the reader and retry scanning their finger, the verification is still ongoing.
|
|
</doc:definition>
|
|
</doc:item>
|
|
<doc:item>
|
|
<doc:term>verify-disconnected</doc:term>
|
|
<doc:definition>
|
|
The device was disconnected during the verification, no other actions should be taken, and you shouldn't use the device any more.
|
|
</doc:definition>
|
|
</doc:item>
|
|
<doc:item>
|
|
<doc:term>verify-unknown-error</doc:term>
|
|
<doc:definition>
|
|
An unknown error occurred (usually a driver problem), <doc:ref type="method" to="Device.VerifyStop">Device.VerifyStop</doc:ref> should now be called.
|
|
</doc:definition>
|
|
</doc:item>
|
|
</doc:list>
|
|
</doc:para>
|
|
|
|
<doc:title id="enroll-statuses">
|
|
Enroll Statuses
|
|
</doc:title>
|
|
<doc:para>
|
|
<doc:list>
|
|
Possible values for the result passed through <doc:ref type="signal" to="Device::EnrollResult">Device::EnrollResult</doc:ref> are:
|
|
<doc:item>
|
|
<doc:term>enroll-completed</doc:term>
|
|
<doc:definition>
|
|
The enrollment successfully completed, <doc:ref type="method" to="Device.EnrollStop">Device.EnrollStop</doc:ref> should now be called.
|
|
</doc:definition>
|
|
</doc:item>
|
|
<doc:item>
|
|
<doc:term>enroll-failed</doc:term>
|
|
<doc:definition>
|
|
The enrollment failed, <doc:ref type="method" to="Device.EnrollStop">Device.EnrollStop</doc:ref> should now be called.
|
|
</doc:definition>
|
|
</doc:item>
|
|
<doc:item>
|
|
<doc:term>enroll-stage-passed</doc:term>
|
|
<doc:definition>
|
|
One stage of the enrollment passed, the enrollment is still ongoing.
|
|
</doc:definition>
|
|
</doc:item>
|
|
<doc:item>
|
|
<doc:term>enroll-retry-scan</doc:term>
|
|
<doc:definition>
|
|
The user should retry scanning their finger, the enrollment is still ongoing.
|
|
</doc:definition>
|
|
</doc:item>
|
|
<doc:item>
|
|
<doc:term>enroll-swipe-too-short</doc:term>
|
|
<doc:definition>
|
|
The user's swipe was too short. The user should retry scanning their finger, the enrollment is still ongoing.
|
|
</doc:definition>
|
|
</doc:item>
|
|
<doc:item>
|
|
<doc:term>enroll-finger-not-centered</doc:term>
|
|
<doc:definition>
|
|
The user's finger was not centered on the reader. The user should retry scanning their finger, the enrollment is still ongoing.
|
|
</doc:definition>
|
|
</doc:item>
|
|
<doc:item>
|
|
<doc:term>enroll-remove-and-retry</doc:term>
|
|
<doc:definition>
|
|
The user should remove their finger from the reader and retry scanning their finger, the enrollment is still ongoing.
|
|
</doc:definition>
|
|
</doc:item>
|
|
<doc:item>
|
|
<doc:term>enroll-data-full</doc:term>
|
|
<doc:definition>
|
|
No further prints can be enrolled on this device, <doc:ref type="method" to="Device.EnrollStop">Device.EnrollStop</doc:ref> should now be called.
|
|
|
|
<doc:ref type="method" to="DeleteEnrolledFingers2">Delete other prints</doc:ref> from the device first to continue
|
|
(e.g. from other users). Note that old prints or prints from other operating systems may be deleted automatically
|
|
to resolve this error without any notification.
|
|
</doc:definition>
|
|
</doc:item>
|
|
<doc:item>
|
|
<doc:term>enroll-disconnected</doc:term>
|
|
<doc:definition>
|
|
The device was disconnected during the enrollment, no other actions should be taken, and you shouldn't use the device any more.
|
|
|
|
</doc:definition>
|
|
</doc:item>
|
|
<doc:item>
|
|
<doc:term>enroll-unknown-error</doc:term>
|
|
<doc:definition>
|
|
An unknown error occurred (usually a driver problem), <doc:ref type="method" to="Device.EnrollStop">Device.EnrollStop</doc:ref> should now be called.
|
|
|
|
</doc:definition>
|
|
</doc:item>
|
|
</doc:list>
|
|
</doc:para>
|
|
</doc:doc>
|
|
|
|
<!-- ************************************************************ -->
|
|
|
|
<method name="ListEnrolledFingers">
|
|
<arg type="s" name="username" direction="in">
|
|
<doc:doc><doc:summary>The username for whom to list the enrolled fingerprints. See <doc:ref type="description" to="usernames">Usernames</doc:ref>.</doc:summary></doc:doc>
|
|
</arg>
|
|
<arg type="as" name="enrolled_fingers" direction="out">
|
|
<doc:doc><doc:summary>An array of strings representing the enrolled fingerprints. See <doc:ref type="description" to="fingerprint-names">Fingerprint names</doc:ref>.</doc:summary></doc:doc>
|
|
</arg>
|
|
|
|
<doc:doc>
|
|
<doc:description>
|
|
<doc:para>
|
|
List all the enrolled fingerprints for the chosen user.
|
|
</doc:para>
|
|
</doc:description>
|
|
|
|
<doc:errors>
|
|
<doc:error name="&ERROR_PERMISSION_DENIED;">if the caller lacks the appropriate PolicyKit authorization</doc:error>
|
|
<doc:error name="&ERROR_NO_ENROLLED_PRINTS;">if the chosen user doesn't have any fingerprints enrolled</doc:error>
|
|
</doc:errors>
|
|
</doc:doc>
|
|
</method>
|
|
|
|
<!-- ************************************************************ -->
|
|
|
|
<method name="DeleteEnrolledFingers">
|
|
<arg type="s" name="username" direction="in">
|
|
<doc:doc><doc:summary>The username for whom to delete the enrolled fingerprints. See <doc:ref type="description" to="usernames">Usernames</doc:ref>.</doc:summary></doc:doc>
|
|
</arg>
|
|
|
|
<doc:doc>
|
|
<doc:description>
|
|
<doc:para>
|
|
Delete all the enrolled fingerprints for the chosen user.
|
|
</doc:para>
|
|
<doc:para>
|
|
This call only exists for compatibility reasons, you should instead claim the device using
|
|
<doc:ref type="method" to="Device.Claim">Device.Claim</doc:ref> and then call
|
|
<doc:ref type="method" to="DeleteEnrolledFingers2">DeleteEnrolledFingers2</doc:ref>.
|
|
</doc:para>
|
|
</doc:description>
|
|
|
|
<doc:errors>
|
|
<doc:error name="&ERROR_PERMISSION_DENIED;">if the caller lacks the appropriate PolicyKit authorization</doc:error>
|
|
</doc:errors>
|
|
</doc:doc>
|
|
</method>
|
|
|
|
<!-- ************************************************************ -->
|
|
|
|
<method name="DeleteEnrolledFingers2">
|
|
<doc:doc>
|
|
<doc:description>
|
|
<doc:para>
|
|
Delete all the enrolled fingerprints for the user currently claiming the device with <doc:ref type="method" to="Device.Claim">Device.Claim</doc:ref>.
|
|
</doc:para>
|
|
</doc:description>
|
|
|
|
<doc:errors>
|
|
<doc:error name="&ERROR_PERMISSION_DENIED;">if the caller lacks the appropriate PolicyKit authorization</doc:error>
|
|
</doc:errors>
|
|
</doc:doc>
|
|
</method>
|
|
|
|
<!-- ************************************************************ -->
|
|
|
|
<method name="Claim">
|
|
<arg type="s" name="username" direction="in">
|
|
<doc:doc><doc:summary>The username for whom to claim the device. See <doc:ref type="description" to="usernames">Usernames</doc:ref>.</doc:summary></doc:doc>
|
|
</arg>
|
|
|
|
<doc:doc>
|
|
<doc:description>
|
|
<doc:para>
|
|
Claim the device for the chosen user.
|
|
</doc:para>
|
|
</doc:description>
|
|
|
|
<doc:errors>
|
|
<doc:error name="&ERROR_PERMISSION_DENIED;">if the caller lacks the appropriate PolicyKit authorization</doc:error>
|
|
<doc:error name="&ERROR_ALREADY_IN_USE;">if the device is already claimed</doc:error>
|
|
<doc:error name="&ERROR_INTERNAL;">if the device couldn't be claimed</doc:error>
|
|
</doc:errors>
|
|
</doc:doc>
|
|
</method>
|
|
|
|
<!-- ************************************************************ -->
|
|
|
|
<method name="Release">
|
|
<doc:doc>
|
|
<doc:description>
|
|
<doc:para>
|
|
Release a device claimed with <doc:ref type="method" to="Device.Claim">Device.Claim</doc:ref>.
|
|
</doc:para>
|
|
</doc:description>
|
|
|
|
<doc:errors>
|
|
<doc:error name="&ERROR_PERMISSION_DENIED;">if the caller lacks the appropriate PolicyKit authorization</doc:error>
|
|
<doc:error name="&ERROR_CLAIM_DEVICE;">if the device was not claimed</doc:error>
|
|
</doc:errors>
|
|
</doc:doc>
|
|
</method>
|
|
|
|
<!-- ************************************************************ -->
|
|
|
|
<method name="VerifyStart">
|
|
<arg type="s" name="finger_name" direction="in">
|
|
<doc:doc><doc:summary>A string representing the finger to verify. See <doc:ref type="description" to="fingerprint-names">Fingerprint names</doc:ref>.</doc:summary></doc:doc>
|
|
</arg>
|
|
|
|
<doc:doc>
|
|
<doc:description>
|
|
<doc:para>
|
|
Check the chosen finger against a saved fingerprint. You need to have claimed the device using
|
|
<doc:ref type="method" to="Device.Claim">Device.Claim</doc:ref>. The finger selected is sent to the front-end
|
|
using <doc:ref type="signal" to="Device::VerifyFingerSelected">Device::VerifyFingerSelected</doc:ref> and
|
|
verification status through <doc:ref type="signal" to="Device::VerifyStatus">Device::VerifyStatus</doc:ref>.
|
|
</doc:para>
|
|
</doc:description>
|
|
|
|
<doc:errors>
|
|
<doc:error name="&ERROR_PERMISSION_DENIED;">if the caller lacks the appropriate PolicyKit authorization</doc:error>
|
|
<doc:error name="&ERROR_CLAIM_DEVICE;">if the device was not claimed</doc:error>
|
|
<doc:error name="&ERROR_ALREADY_IN_USE;">if the device was already being used</doc:error>
|
|
<doc:error name="&ERROR_NO_ENROLLED_PRINTS;">if there are no enrolled prints for the chosen user</doc:error>
|
|
<doc:error name="&ERROR_INTERNAL;">if there was an internal error</doc:error>
|
|
</doc:errors>
|
|
</doc:doc>
|
|
</method>
|
|
|
|
<!-- ************************************************************ -->
|
|
|
|
<method name="VerifyStop">
|
|
<doc:doc>
|
|
<doc:description>
|
|
<doc:para>
|
|
Stop an on-going fingerprint verification started with <doc:ref type="method" to="Device.VerifyStart">Device.VerifyStart</doc:ref>.
|
|
</doc:para>
|
|
</doc:description>
|
|
|
|
<doc:errors>
|
|
<doc:error name="&ERROR_PERMISSION_DENIED;">if the caller lacks the appropriate PolicyKit authorization</doc:error>
|
|
<doc:error name="&ERROR_CLAIM_DEVICE;">if the device was not claimed</doc:error>
|
|
<doc:error name="&ERROR_NO_ACTION_IN_PROGRESS;">if there was no ongoing verification</doc:error>
|
|
<doc:error name="&ERROR_INTERNAL;">if there was an internal error</doc:error>
|
|
</doc:errors>
|
|
</doc:doc>
|
|
</method>
|
|
|
|
<!-- ************************************************************ -->
|
|
|
|
<signal name="VerifyFingerSelected">
|
|
<arg type="s" name="finger_name">
|
|
<doc:doc>
|
|
<doc:summary>
|
|
<doc:para>
|
|
A string representing the finger select to be verified.
|
|
</doc:para>
|
|
</doc:summary>
|
|
</doc:doc>
|
|
</arg>
|
|
<doc:doc>
|
|
<doc:seealso>
|
|
<doc:ref type="description" to="fingerprint-names">Fingerprint names</doc:ref>.
|
|
</doc:seealso>
|
|
</doc:doc>
|
|
</signal>
|
|
|
|
<!-- ************************************************************ -->
|
|
|
|
<signal name="VerifyStatus">
|
|
<arg type="s" name="result">
|
|
<doc:doc>
|
|
<doc:summary>
|
|
A string representing the status of the verification.
|
|
</doc:summary>
|
|
</doc:doc>
|
|
</arg>
|
|
|
|
<arg type="b" name="done">
|
|
<doc:doc>
|
|
<doc:summary>
|
|
Whether the verification finished and can be stopped.
|
|
</doc:summary>
|
|
</doc:doc>
|
|
</arg>
|
|
|
|
<doc:doc>
|
|
<doc:seealso>
|
|
<doc:ref type="description" to="verify-statuses">Verify Statuses</doc:ref> and <doc:ref type="method" to="Device.VerifyStop">Device.VerifyStop</doc:ref>.
|
|
</doc:seealso>
|
|
</doc:doc>
|
|
</signal>
|
|
|
|
<!-- ************************************************************ -->
|
|
|
|
<method name="EnrollStart">
|
|
<arg type="s" name="finger_name" direction="in">
|
|
<doc:doc><doc:summary>A string representing the finger to enroll. See
|
|
<doc:ref type="description" to="fingerprint-names">Fingerprint names</doc:ref>.
|
|
Note that "any" is not a valid finger name for this method.</doc:summary></doc:doc>
|
|
</arg>
|
|
|
|
<doc:doc>
|
|
<doc:description>
|
|
<doc:para>
|
|
Start enrollment for the selected finger. You need to have claimed the device using
|
|
<doc:ref type="method" to="Device.Claim">Device.Claim</doc:ref> before calling
|
|
this method. Enrollment status is sent through <doc:ref type="signal" to="Device::EnrollStatus">Device::EnrollStatus</doc:ref>.
|
|
</doc:para>
|
|
</doc:description>
|
|
|
|
<doc:errors>
|
|
<doc:error name="&ERROR_PERMISSION_DENIED;">if the caller lacks the appropriate PolicyKit authorization</doc:error>
|
|
<doc:error name="&ERROR_CLAIM_DEVICE;">if the device was not claimed</doc:error>
|
|
<doc:error name="&ERROR_ALREADY_IN_USE;">if the device was already being used</doc:error>
|
|
<doc:error name="&ERROR_INVALID_FINGERNAME;">if the finger name passed is invalid</doc:error>
|
|
<doc:error name="&ERROR_INTERNAL;">if there was an internal error</doc:error>
|
|
</doc:errors>
|
|
|
|
</doc:doc>
|
|
</method>
|
|
|
|
<!-- ************************************************************ -->
|
|
|
|
<method name="EnrollStop">
|
|
<doc:doc>
|
|
<doc:description>
|
|
<doc:para>
|
|
Stop an on-going fingerprint enrollment started with <doc:ref type="method" to="Device.EnrollStart">Device.EnrollStart</doc:ref>.
|
|
</doc:para>
|
|
</doc:description>
|
|
|
|
<doc:errors>
|
|
<doc:error name="&ERROR_PERMISSION_DENIED;">if the caller lacks the appropriate PolicyKit authorization</doc:error>
|
|
<doc:error name="&ERROR_CLAIM_DEVICE;">if the device was not claimed</doc:error>
|
|
<doc:error name="&ERROR_NO_ACTION_IN_PROGRESS;">if there was no ongoing verification</doc:error>
|
|
<doc:error name="&ERROR_INTERNAL;">if there was an internal error</doc:error>
|
|
</doc:errors>
|
|
</doc:doc>
|
|
</method>
|
|
|
|
<!-- ************************************************************ -->
|
|
|
|
<signal name="EnrollStatus">
|
|
<arg type="s" name="result">
|
|
<doc:doc>
|
|
<doc:summary>
|
|
A string representing the status of the enrollment.
|
|
</doc:summary>
|
|
</doc:doc>
|
|
</arg>
|
|
|
|
<arg type="b" name="done">
|
|
<doc:doc>
|
|
<doc:summary>
|
|
Whether the enrollment finished and can be stopped.
|
|
</doc:summary>
|
|
</doc:doc>
|
|
</arg>
|
|
|
|
<doc:doc>
|
|
<doc:seealso>
|
|
<doc:ref type="description" to="enroll-statuses">Enrollment Statuses</doc:ref> and <doc:ref type="method" to="Device.EnrollStop">Device.EnrollStop</doc:ref>.
|
|
</doc:seealso>
|
|
</doc:doc>
|
|
</signal>
|
|
|
|
<!-- ************************************************************ -->
|
|
|
|
<property name="name" type="s" access="read">
|
|
<doc:doc>
|
|
<doc:description>
|
|
<doc:para>
|
|
The product name of the device.
|
|
</doc:para>
|
|
</doc:description>
|
|
</doc:doc>
|
|
</property>
|
|
|
|
<!-- ************************************************************ -->
|
|
|
|
<property name="num-enroll-stages" type="i" access="read">
|
|
<doc:doc>
|
|
<doc:description>
|
|
<doc:para>
|
|
The number of enrollment stages for the device. This is only available when the device has been claimed, otherwise it will be undefined (-1).
|
|
</doc:para>
|
|
<doc:seealso>
|
|
<doc:ref type="method" to="Device.Claim">Device.Claim</doc:ref> and <doc:ref type="method" to="Device.EnrollStart">Device.EnrollStart</doc:ref>.
|
|
</doc:seealso>
|
|
</doc:description>
|
|
</doc:doc>
|
|
</property>
|
|
|
|
<!-- ************************************************************ -->
|
|
|
|
<property name="scan-type" type="s" access="read">
|
|
<doc:doc>
|
|
<doc:description>
|
|
<doc:para>
|
|
The scan type of the device, either "press" if you place your finger on the device, or "swipe" if you have to swipe your finger.
|
|
</doc:para>
|
|
</doc:description>
|
|
</doc:doc>
|
|
</property>
|
|
|
|
</interface>
|
|
</node>
|
|
|