Interfaces

class biometry::Device

Device models a biometric device.

Inherits from DoNotCopyOrMove

Subclassed by biometry::devices::FingerprintReader

Public Types

typedef std::string Id

Id is the unique name of a device.

Public Functions

virtual TemplateStore &template_store() = 0

enroller returns a device-specific template_store implementation.

virtual Identifier &identifier() = 0

identifier returns a device-specific Identifier implementation.

virtual Verifier &verifier() = 0

verifier returns a device-specific Verifier implementation.

class Descriptor

Descriptor bundles details about a device.

Inherits from DoNotCopyOrMove

Public Functions

virtual std::shared_ptr<Device> create(const util::Configuration&) = 0

create returns an instance of the device.

virtual std::string name() const = 0

name returns the human-readable name of the device.

virtual std::string author() const = 0

author returns the name of the author of the device implementation.

virtual std::string description() const = 0

description returns a one-line summary of the device implementation.

class biometry::TemplateStore

TemplateStore models maintenance of a device-specific template store in way that ensures that no template data ever crosses over the wire (or would need to be extracted from a TEE).

Inherits from DoNotCopyOrMove

Subclassed by biometry::devices::FingerprintReader::TemplateStore

Public Types

typedef std::uint64_t TemplateId

TemplateId is a numeric uniquely identifying a biometric template.

Public Functions

virtual Operation<SizeQuery>::Ptr size(const Application &app, const User &user) = 0

size() returns the number of templates known for user.

Parameters
  • app -

    The application requesting the information.

  • user -

    The user for which we want to query the number of known templates.

virtual Operation<List>::Ptr list(const Application &app, const User &user) = 0

list returns an operation that yields the list of all templates enrolled for app and user.

Parameters
  • app -

    The application requesting the information.

  • user -

    The user for which we want to query all enrolled templates.

virtual Operation<Enrollment>::Ptr enroll(const Application &app, const User &user) = 0

enroll returns an operation that represents the enrollment of a new template for a user.

Parameters
  • app -

    The application requesting the enrollment operation.

  • user -

    The user for which we want to enroll the new template.

virtual Operation<Removal>::Ptr remove(const Application &app, const User &user, TemplateId id) = 0

remove returns an operation that represents the removal of an individual template.

Parameters
  • app -

    The application requesting the removal operation.

  • user -

    The user for which we want to remove a specific template.

  • id -

    The id of the template that should be removed.

virtual Operation<Clearance>::Ptr clear(const Application &app, const User &user) = 0

clear returns an operation that represents removal of all templates associated to user.

Parameters
  • app -

    The application requesting the clear operation.

  • user -

    The user for which we want to clear templates for.

struct Clearance

Clearance bundles the types passed to an observer of clearance operations.

Public Types

typedef biometry::Progress Progress

Progress information about the completion status of an operation.

typedef std::string Reason

Details about cancelation of an operation.

typedef std::string Error

Describes error conditions.

typedef Void Result

Describes the result of a Clearance operation.

struct Enrollment

Enrollment bundles the types passed to an observer of enrollment operations.

Public Types

typedef biometry::Progress Progress

Progress information about the completion status of an operation.

typedef std::string Reason

Details about cancelation of an operation.

typedef std::string Error

Describes error conditions.

typedef TemplateId Result

Describes the result of an Enrollment operation.

struct List

List bundles the types passed to an observer of a size operation.

Public Types

typedef biometry::Progress Progress

Progress information about the completion status of an operation.

typedef std::string Reason

Details about cancelation of an operation.

typedef std::string Error

Describes error conditions.

typedef std::vector<TemplateId> Result

Describes the result of a List operation.

struct Removal

Remove bundles the types passed to an observer of a removal operation.

Public Types

typedef biometry::Progress Progress

Progress information about the completion status of an operation.

typedef std::string Reason

Details about cancelation of an operation.

typedef std::string Error

Describes error conditions.

typedef TemplateId Result

Describes the result of an Enrollment operation.

struct SizeQuery

SizeQuery bundles the types passed to an observer of a size operation.

Public Types

typedef biometry::Progress Progress

Progress information about the completion status of an operation.

typedef std::string Reason

Details about cancelation of an operation.

typedef std::string Error

Describes error conditions.

typedef std::uint32_t Result

Describes the result of a SizeQuery operation.

class biometry::Identifier

Verifier abstracts verification of a user.

Inherits from DoNotCopyOrMove

Public Functions

virtual Operation<Identification>::Ptr identify_user(const Application &app, const Reason &reason) = 0

identify_user returns an operation that represents the identification of a user given a set of candidates with the given reason.

class biometry::Verifier

Verifier abstracts verification of a user.

Inherits from DoNotCopyOrMove

Public Functions

virtual Operation<Verification>::Ptr verify_user(const Application &app, const User &user, const Reason &reason) = 0

verify_user returns an operation that represents the verification of ‘user’ for ‘reason’.

template <typename T>
class biometry::Operation

An Operation models an asynchronous operation that can be started and cancelled, as well as observed.

Inherits from DoNotCopyOrMove

Public Functions

virtual void start_with_observer(const typename Observer::Ptr &observer) = 0

start_with_observer starts the operation, handing updates to ‘observer’.

virtual void cancel() = 0

cancel stops the operation, confirming cancellation to the installed observer.

class Observer

An Observer enables client code to monitor an ongoing operation.

Inherits from DoNotCopyOrMove

Subclassed by biometry::qml::TypedOperation< T >::Observer

Public Functions

virtual void on_started() = 0

on_state_changed is called whenever the state of an operation changed, handing the current (new) and previous state to the observer.

virtual void on_progress(const Progress &progress) = 0

on_progress is called whenever an operation advances.

Parameters
  • progress -

    contains details describing the progress.

virtual void on_canceled(const Reason &reason) = 0

on_canceled is called when an operation is cancelled.

Parameters
  • reason -

    contains details explaing the reson for cancelling.

virtual void on_failed(const Error &error) = 0

on_failed is called when an operation fails.

Parameters
  • error -

    provides details describing the error condition.

virtual void on_succeeded(const Result &result) = 0

on_succeeded is called when an operation succeeds.

Parameters
  • result -

    provides details handing the result of the operation to observers.