Elektra  0.8.21
elektra-libs(7) -- libs overview

Since version 0.8.15 libelektra is split into following libraries:

overview_libs.png
Overview of Libraries

Loader

loader contains source files that implement the plugin loader functionality. The files are linked to libelektra.

Libease

libelektra-ease.so

libease contains data-structure operations on top of libcore which do not depend on internals. Applications and plugins can choose to not link against it if they want to stay minimal.

Libplugin

libelektra-plugin.so

libplugin contains elektraPlugin* symbols and plugins should link against it.

Libproposal

libelektra-proposal.so

libproposal contains functions that are proposed for libcore. Depends on internas of libcore and as such must always fit to the exact same version.

Libmeta

libelektra-meta.so

libmeta contains metadata operations as described in METADATA.ini. Will be code-generated in the future, so methods should be mechanical reflections of the contents in METADATA.ini.

Libcore

libelektra-core.so
<kdbhelper.h>
<kdb.h> (key* and ks*)

Contains the fundamental data-structures every participant of Elektra needs to link against. It should be the only part that access the internal data structures.

Libtools

libtools is a high-level C++ shared-code for tools. It includes:

Utility

libutility provides utility functions to be used in plugins.

Libinvoke

libelektra-invoke.so

libinvoke provides a simple API allowing us to call functions exported by plugins.