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
Marco Trevisan (Treviño)
b4c3756ab0
tests: Add fp-device basic unit tests
...
Use the virtual image device as base for now, while the new setup allows
to create easily fake device drivers without including the driver in
libfprint itself and test all the fpi_device functionalities.
2019-12-14 17:20:45 +01:00
Marco Trevisan (Treviño)
da46f53e82
tests: Add basic unit tests for fp-context
...
Link the tests with the private library using an utils library that will
be useful to share other tests functions
2019-12-14 17:20:45 +01:00
Marco Trevisan (Treviño)
eeddd8c7bc
fp-context, tools: Use auto-ptr to handle GTypeClass ownership
...
This also fixes a small leak we might have if reffing a type that was not a
virtual one.
2019-12-14 17:20:45 +01:00
Marco Trevisan (Treviño)
43a8c909bf
fp-context: Use an env to define a whitelist of drivers to enable
...
This avoids that we pick unwanted drivers when running the tests in a
machine that has some supported device attached.
2019-12-14 17:20:45 +01:00
Marco Trevisan (Treviño)
09576e5209
fpi-context: Make fpi_get_driver_types to return an array
...
No need to create one all the times and the fill it with what we need.
2019-12-14 16:57:11 +01:00
Marco Trevisan (Treviño)
8184e33dd6
meson: Fix syntax in the auto-generated fpi-drivers file
...
Better to be nice everywhere :)
2019-12-14 16:56:56 +01:00
Marco Trevisan (Treviño)
6f2b1f97da
fprint: Move drivers to private internal library
...
This allows us to finally remove fpi_get_driver_types from the exported list
of symbols.
2019-12-12 19:03:57 +01:00
Marco Trevisan (Treviño)
c3bf6fe863
meson: Rely on libfprint dependency to get root_include
...
No need to redefine it in all our tools
2019-12-12 18:55:08 +01:00