Extending Biometryd¶
Biometryd can be extended by implementing the interface
biometry::Device
. We support both in-tree and out-of-tree
plugins. In-tree plugin authors should add their device implementation
in the folder ${BIOMETRYD_ROOT}/src/biometry/devices
and submit
their code contribution as a merge proposal to https://launchpad.net/biometryd
.
Out-of-tree plugin authors should rely on
BIOMETRYD_DEVICES_PLUGIN_DESCRIBE(name, author, desc, major, minor, patch)
name
The name of the pluginauthor
The author of the plugindesc
Human-readable description of the pluginmajor
Major revision of the pluginminor
Minor revision of the pluginpatch
Patch level of the plugin
BIOMETRYD_DEVICES_PLUGIN_CREATE
BIOMETRYD_DEVICES_PLUGIN_DESTROY
to describe, instantiate and destroy their plugin, respectively. The
following snippet demonstrates a complete plugin definition. The
resulting shared object file should be installed to biometryd config --flag default_plugin_directory
. Once the plugin is installed, it can
be referenced by its name as passed to
BIOMETRYD_DEVICES_PLUGIN_DESCRIBE
.
#include <biometry/devices/plugin/interface.h>
#include "mock_device.h"
/// [Defining the create function]
BIOMETRYD_DEVICES_PLUGIN_CREATE
{
return new testing::MockDevice();
}
/// [Defining the create function]
/// [Defining the destroy function]
BIOMETRYD_DEVICES_PLUGIN_DESTROY
{
delete d;
}
/// [Defining the destroy function]
/// [Describing the plugin]
BIOMETRYD_DEVICES_PLUGIN_DESCRIBE(
"TestPlugin",
"Thomas Voß <thomas.voss@canonical.com>",
"Just a plugin for testing purposes",
0,
0,
0)
/// [Describing the plugin]