Benjamin Berg
dcc7e6de90
examples: Save image even on match failure
...
Move the image saving out, so that it is always done when an image is
available. This allows viewing the image that corresponds to a match
failure.
2020-01-08 18:14:06 +01:00
Benjamin Berg
3c6ba0b678
storage: Do not free image data owned by FpPrint
...
The data returned by fp_print_get_image is owned by the FpPrint and
should not be free'ed.
2020-01-08 18:14:06 +01:00
Benjamin Berg
4db1b84c7a
examples: Do not free data returned by g_variant_get_fixed_array
...
This data is owned by the variant, so do not free it.
2020-01-08 18:14:06 +01:00
Benjamin Berg
36108f9f82
examples: Fix possible use-after-free in storage code
...
The variant may need the buffer, so we should only free the buffer
together with the variant.
2020-01-08 18:14:06 +01:00
Benjamin Berg
19f239ce61
tests: Add some frame assembly unit tests
2020-01-08 18:14:06 +01:00
Benjamin Berg
f91e5310bb
tests: Set MESON_SOURCE_ROOT to source root not build root
2020-01-02 13:46:46 +01:00
Benjamin Berg
0d604fa34e
fpi-assembling: Fix offsets to be relative to the previous frame
...
The offset stored for a frame was not always relative to the previous
frame. This was the case for reverse movement, but for forwrad movement
the offset was the one to the next frame.
Make the offset handling consistent and alwasy store the offset to the
previous frame. Also update the frame assembling code to add the offset
before blitting the frame (i.e. making it relative to the previous frame
there too).
Note that fpi_assemble_lines already made the assumption that this was
the case as it forced the offset for the first frame to be zero. As
such, the code was inconsistent.
This could affect the AES drivers slightly as they use hardware reported
values which might not adhere to these assumptions.
2020-01-02 13:46:46 +01:00
Benjamin Berg
d9bcf9b9cc
fpi-assembling: Accept error of zero
...
Rather than discarding a zero error, check that the constraints are
sane. This way a perfect match is possible.
2020-01-02 13:46:46 +01:00
Marco Trevisan (Treviño)
b8e558452a
fp-print: Add FP_FINGER_IS_VALID
...
This is coming directly from fprintd, but being something generic is better
to have it insinde libfprint itself.
2019-12-19 14:20:00 +01:00
Marco Trevisan (Treviño)
c9e1a7f283
examples: Iterate through fingers via first/last refs
2019-12-18 12:23:14 +00:00
Marco Trevisan (Treviño)
c5aedc9970
fp-print: Add aliases for First and Last finger in our order
...
We might want to iterate through the supported fingers values, to do that we
were hardcoding FP_FINGER_LEFT_THUMB and FP_FINGER_RIGHT_LITTLE as first and
last fingers.
Not that we'd ever get more fingers (unless some weird radiation would do
the job), but it's logically nicer to read than random hardcoded values.
2019-12-18 12:23:14 +00:00
Benjamin Berg
5b17eda011
Prefix internal properties/signals with fpi- and annotate them
...
We prefixed them with fp- which is not as obvious as fpi-. Also,
explicitly mark them as private and to be skipped in the GObject
Introspection annotatinos.
Warning: FPrint: (Signal)fp-image-device-state-changed: argument object: Unresolved type: 'FpiImageDeviceState'
2019-12-18 12:25:06 +01:00
Marco Trevisan (Treviño)
022b4a75b1
meson: Bump dependency on 0.49.0
...
We're using some new features, and we may use more in future so better to
bump the version to the minimum required than look back given we're still
unstable.
Fixes #204
2019-12-17 20:44:37 +01:00
Marco Trevisan (Treviño)
bfc75de778
libfprint: Make sure we install fp-enums.h in the right folder
...
Since we were not explictly setting the install_dir, it was endind up in
$PREFIX/include by default, while we use our project name as subfolder.
2019-12-17 15:42:56 +01:00
Marco Trevisan (Treviño)
f3f768e738
meson: Fix syntax for fpi_enums generation call
2019-12-17 15:42:32 +01:00
Marco Trevisan (Treviño)
dbb26c5ade
meson: Define enum dependency and ensure we generate them before using
...
Avoid setting the headers as sources everywhere, but instead use a dependency
to manage the headers creation in time
2019-12-17 14:38:20 +01:00
Marco Trevisan (Treviño)
0566f82219
tests: Add a reference to the enrolled print before returning it
2019-12-17 14:38:19 +01:00
Marco Trevisan (Treviño)
c8e1269f61
cleanup: Use FPI prefix for all the internal enum types
2019-12-17 14:38:19 +01:00
Marco Trevisan (Treviño)
2158c5e2d1
cleanup: Use #pragma once everywhere
...
Remove legacy header guards, and use compiler newer features.
2019-12-17 14:38:19 +01:00
Marco Trevisan (Treviño)
10945f8546
cleanup: Remove fp_internal.h and update drivers_api.h
...
Remove the uneeded internal API, as we can now include each header directly
if needed, while move the assembling stuff to the drivers API.
2019-12-17 14:38:19 +01:00
Marco Trevisan (Treviño)
806ad10673
meson: Add fp-image-device to public headers
2019-12-17 14:38:19 +01:00
Marco Trevisan (Treviño)
4562f9dae3
meson: Use soversion everywhere
...
Don't repeat the 2 version number hard-coding it, so we can easily track
updates
2019-12-17 14:38:19 +01:00
Marco Trevisan (Treviño)
c57defda92
meson: Use more meson's project_name()
...
Not that libfprint is long to write, but in case we'll ever change the
basename, we do it once.
2019-12-17 14:38:19 +01:00
Marco Trevisan (Treviño)
c806993cb9
meson: Don't install fpi-enums
2019-12-17 14:38:19 +01:00
Marco Trevisan (Treviño)
95cb62fd3b
meson: No need to redefine default pkgconfig install dir
...
This value would be the default anyways
2019-12-17 14:38:19 +01:00
Marco Trevisan (Treviño)
d255a91e97
meson: List deps in multiple lines, to have better diffs on changes
2019-12-17 14:38:19 +01:00
Marco Trevisan (Treviño)
9ebb3fd231
meson: Parse all private headers
...
So we don't have to list each one in case we add new enums.
Also, as per previous commit we can reorder them alphabetically.
2019-12-17 14:38:19 +01:00
Marco Trevisan (Treviño)
68b5c5d98f
fpi-ssm, fpi-usb-transfer: Use fwd-declarations to avoid headers dependencies
...
Don't make headers inclusions dependent on each others, given that FpiSsm
depends on FpiUsbTransfer and vice-versa, so fix the dependency cycle by
using forwarded declarations.
2019-12-17 14:38:19 +01:00
Benjamin Berg
2af0531994
tests: Fix stack corruption in FpiSsm test
...
Using a function with a void return value for a g_timeout_add is not a
good idea after all.
2019-12-17 14:32:59 +01:00
Benjamin Berg
bfd68bbc01
meson: Add missing dependency on fp-enum.h for private library
...
The private library needs to indirectly include fp-enum.h. This
dependency was not listed anyway, resulting in a race condition during
the build process.
2019-12-16 11:42:51 +01:00
Benjamin Berg
9c806e60f4
elan: Do not leak converted frames
...
The elan driver converts frames into a different format. These frames
are only needed to assemable the image and should be free'ed afterwards.
Fixes : #213
2019-12-16 10:20:49 +00:00
Benjamin Berg
113bef8f3f
examples: Fix double device closing in manage-prints
...
The manage-prints command would close the device twice when the user
hits an invalid number or 'n' and no prints need to be deleted.
Simply remove the erroneous call to fix the issue.
2019-12-16 10:20:49 +00:00
Benjamin Berg
1d1c39c234
tests: Ensure objects are free'ed at the end of tests
...
The objects may not be garbage collected otherwise.
2019-12-16 10:20:49 +00:00
Benjamin Berg
4948a85e97
synaptics: Use local variable rather than re-fetching usb device
2019-12-16 10:20:49 +00:00
Marco Trevisan (Treviño)
7e2db8e988
driver_ids.h: Remove the legacy ID file
...
This is not used anymore by drivers as they all use GType's, so remove it
and any (dead) reference to it.
2019-12-14 17:20:47 +01:00
Marco Trevisan (Treviño)
24d388f923
meson: Split single-line dependencies to reduce the diff on changes
...
Make it more readable and in case we add something else, it's easier to track
2019-12-14 17:20:47 +01:00
Marco Trevisan (Treviño)
af42b3e468
ci: Increase the timeout multiplier for tests
...
Change the FEDORA_TAG to the current date in order to rebuild the image
2019-12-14 17:20:47 +01:00
Marco Trevisan (Treviño)
edb09463f4
ci: Save coverage reports when running tests
2019-12-14 17:20:47 +01:00
Marco Trevisan (Treviño)
42b1deaeea
tests: Add unit tests for fpi-ssm
...
Verify that the state machine actions are done as we expected, being the
main tool for drivers, better to check that is done as we expect.
2019-12-14 17:20:47 +01:00
Marco Trevisan (Treviño)
fe828d0bb2
fpi-ssm: Clear delayed actions for parent and child on subssm start
...
While timeout was already cleared for parent, we didn't properly delete the
cancellable.
Although we'd warn anyways when starting the SSM, is still better to clear
any delayed action also for the sub-SSM
2019-12-14 17:20:47 +01:00
Marco Trevisan (Treviño)
cf5473a55c
fpi-ssm: Make clear that the completed callback owns the error
2019-12-14 17:20:47 +01:00
Marco Trevisan (Treviño)
0471edbf10
fpi-ssm: Add debug message when a delayed state change is cancelled
2019-12-14 17:20:46 +01:00
Marco Trevisan (Treviño)
299a797423
fpi-ssm: Bug on wrong state passed to jump_to_state_delayed
...
While remove the checks that are already part of the common function
fpi_ssm_set_delayed_action_timeout().
2019-12-14 17:20:46 +01:00
Marco Trevisan (Treviño)
c594863639
fpi-ssm: Define autoptr cleanup function
2019-12-14 17:20:46 +01:00
Marco Trevisan (Treviño)
3bb1840750
fpi-ssm: Use same argument names of header file
...
So we can mute a Gtk-doc parser warning
2019-12-14 17:20:46 +01:00
Marco Trevisan (Treviño)
f31b8483d4
tests: Add fpi device tests
...
Verify drivers operations simulating a fake driver to check that the lib
interaction is correct.
2019-12-14 17:20:46 +01:00
Marco Trevisan (Treviño)
324258bc8c
tests/meson: Support unit-tests non depending on virtual driver
...
Since tests depending on the fake device don't depend on virtual-image
driver anymore, let's change the way we organize the things, by putting
everything in the test lib, but enabling unit-tests depending on what they
depend on.
2019-12-14 17:20:46 +01:00
Marco Trevisan (Treviño)
f578ebe82d
test-device-fake: Add fake test driver to verify fpi functions
2019-12-14 17:20:46 +01:00
Marco Trevisan (Treviño)
98fa6efce3
fpi-device: Clarify ownership of parameters for progress call
2019-12-14 17:20:46 +01:00
Marco Trevisan (Treviño)
c7b7f78273
fp-device: Call identify device class method on identification
...
Identify on device was broken because we were calling verify device method
on devices instead of the right one.
Thank you unit tests! :)
2019-12-14 17:20:46 +01:00