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)nameThe name of the pluginauthorThe author of the plugindescHuman-readable description of the pluginmajorMajor revision of the pluginminorMinor revision of the pluginpatchPatch level of the plugin
BIOMETRYD_DEVICES_PLUGIN_CREATEBIOMETRYD_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]