Scroll to navigation

kdb::tools::Plugin(3elektra) Elektra kdb::tools::Plugin(3elektra)

NAME

kdb::tools::Plugin - This is a C++ representation of a plugin.

SYNOPSIS

#include <plugin.hpp>

Public Member Functions


Plugin (PluginSpec const &spec, kdb::KeySet &modules)
Do not construct a plugin yourself, use Modules.load. void loadInfo ()
Gets the configuration for the plugin. void parse ()
Creates symbol and info table. void check (std::vector< std::string > &warnings)
Does various checks on the Plugin and throws exceptions if something is not ok. std::string lookupInfo (std::string item, std::string section='infos')
Gets the whole string of an information item. bool findInfo (std::string check, std::string item, std::string section='infos')
Searches within a string of an information item. kdb::KeySet getInfo ()
Returns the whole keyset of information. kdb::KeySet getNeededConfig ()
In the plugin's contract there is a description of which config is needed in order to work together with a backend properly. kdb::KeySet getConfig ()
return the plugin config func_t getSymbol (std::string which)
Returns symbol to a function. int open (kdb::Key &errorKey)
Calls the open function of the plugin. int close (kdb::Key &errorKey)
Calls the close function of the plugin. int get (kdb::KeySet &ks, kdb::Key &parentKey)
Calls the get function of the plugin. int set (kdb::KeySet &ks, kdb::Key &parentKey)
Calls the set function of the plugin. int error (kdb::KeySet &ks, kdb::Key &parentKey)
Calls the error function of the plugin. std::string name ()
std::string getFullName ()

Public Attributes


bool firstRef
Is toggled during serialization.

Detailed Description

This is a C++ representation of a plugin.

It will load an Elektra plugin using the module loader from Elektra.

Then you can either check the plugins configuration using loadInfo(), parse() and check. Symbols can then be retrieved with getSymbol().

Or you can use the normal open(), close(), get(), set() and error() API which every plugin exports.

Member Function Documentation

void kdb::tools::Plugin::check (std::vector< std::string > & warnings)

Does various checks on the Plugin and throws exceptions if something is not ok.

Check if Plugin is compatible to current Version of Backend-API.

Exceptions:

PluginCheckException if there are errors

Parameters:

warnings for warnings

Precondition:

parse()

int kdb::tools::Plugin::close (kdb::Key & errorKey)

Calls the close function of the plugin.

Precondition:

parse()

int kdb::tools::Plugin::error (kdb::KeySet & ks, kdb::Key & parentKey)

Calls the error function of the plugin.

Precondition:

parse()

bool kdb::tools::Plugin::findInfo (std::string check, std::string item, std::string section = 'infos')

Searches within a string of an information item.

Precondition:

loadInfo()

int kdb::tools::Plugin::get (kdb::KeySet & ks, kdb::Key & parentKey)

Calls the get function of the plugin.

Precondition:

parse()

kdb::KeySet kdb::tools::Plugin::getConfig ()

return the plugin config

Returns:

the config supplied with constructor

See also:

getNeededConfig()

std::string kdb::tools::Plugin::getFullName ()

Returns:

the fullname of the plugin

kdb::KeySet kdb::tools::Plugin::getInfo () [inline]

Returns the whole keyset of information.

Precondition:

loadInfo()

kdb::KeySet kdb::tools::Plugin::getNeededConfig ()

In the plugin's contract there is a description of which config is needed in order to work together with a backend properly.

Returns:

the keyset with the config needed for the backend.

See also:

getConfig()

Precondition:

loadInfo()

func_t kdb::tools::Plugin::getSymbol (std::string which) [inline]

Returns symbol to a function.

Precondition:

parse()

void kdb::tools::Plugin::loadInfo ()

Gets the configuration for the plugin. (will be done in Modules.load)

std::string kdb::tools::Plugin::lookupInfo (std::string item, std::string section = 'infos')

Gets the whole string of an information item.

Precondition:

loadInfo()

std::string kdb::tools::Plugin::name ()

Returns:

the name of the plugin (module)

int kdb::tools::Plugin::open (kdb::Key & errorKey)

Calls the open function of the plugin.

Precondition:

parse()

void kdb::tools::Plugin::parse ()

Creates symbol and info table. (will be done in Modules.load)

int kdb::tools::Plugin::set (kdb::KeySet & ks, kdb::Key & parentKey)

Calls the set function of the plugin.

Precondition:

parse()

Member Data Documentation

bool kdb::tools::Plugin::firstRef

Is toggled during serialization. (is a hack, only allows a single serialization!)

Author

Generated automatically by Doxygen for Elektra from the source code.

Mon Jan 15 2018 Version 0.8.20