From 59b73af909162c5fa7d57d3c14f66508a7589873 Mon Sep 17 00:00:00 2001 From: Daniel Drake Date: Mon, 8 Oct 2007 17:37:58 +0100 Subject: [PATCH] Documentation update --- HACKING | 34 ++++++++++++++++++++++++++++++++++ Makefile.am | 2 +- TODO | 29 +++++++++++++++++++++++++++++ 3 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 HACKING create mode 100644 TODO diff --git a/HACKING b/HACKING new file mode 100644 index 00000000..43027e4b --- /dev/null +++ b/HACKING @@ -0,0 +1,34 @@ +USB +=== + +At the time of development, there are no known consumer fingerprint readers +which do not operate over the USB bus. Therefore the library is designed around +the fact that each driver drivers USB devices, and each device is a USB device. +If we were to ever support a non-USB device, some rearchitecting would be +needed, but this would not be a substantial task. + + +GLib +==== + +Although the library uses GLib internally, libfprint is designed to provide +a completely neutral interface to it's application users. So, the public +APIs should never return GLib data types or anything like that. + + +Two-faced-ness +============== + +Like any decent library, this one is designed to provide a stable and +documented API to it's users: applications. Clear distinction is made between +data available internally in the library, and data/functions available to +the applications. + +This library is confused a little by the fact that there is another 'interface' +at hand: the internal interface provided to drivers. So, we effectively end +up with 2 APIs: + + 1. The external-facing API for applications + 2. The internal API for fingerprint drivers + + diff --git a/Makefile.am b/Makefile.am index 57f8dfe1..9d5938a0 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,4 +1,4 @@ -EXTRA_DIST = THANKS +EXTRA_DIST = THANKS TODO HACKING SUBDIRS = libfprint diff --git a/TODO b/TODO new file mode 100644 index 00000000..472960b5 --- /dev/null +++ b/TODO @@ -0,0 +1,29 @@ +LIBRARY +======= +fingerprint data representation +storage mechanism +enrollment +verification +imaging support +external imaging APIs +identification +external API documentation +test suite against NISTIR + +DRIVERS +======= +UPEK TouchStrip driver +Sunplus 895 driver +AES3501 driver +AES4000 driver +ID Mouse driver +DigitalPersona U.are.U 4000/4000B driver +Support for 2nd generation MS devices +Support for 2nd generation UPEK devices + +MISC +==== +upekts/thinkfinger relicensing (GPL --> LGPL) +make library optionally asynchronous and maybe thread-safe +pkg-config file +