| Elektra 0.11.0

Public Member Functions | Public Attributes | List of all members
kdb::tools::Plugin Class Reference

This is a C++ representation of a plugin. More...

`#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 | commit (kdb::KeySet &ks, kdb::Key &parentKey)
| Calls the commit 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

## ◆ check()

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()

## ◆ close()

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

Calls the close function of the plugin.

Precondition
  parse()

## ◆ commit()

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

Calls the commit function of the plugin.

Precondition
  parse()

## ◆ error()

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

Calls the error function of the plugin.

Precondition
  parse()

## ◆ findInfo()

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()

## ◆ get()

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

Calls the get function of the plugin.

Precondition
  parse()

## ◆ getConfig()

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

return the plugin config

Returns
  the config supplied with constructor

See also
  getNeededConfig()

## ◆ getFullName()

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

Returns
  the fullname of the plugin

## ◆ getInfo()

kdb::KeySet kdb::tools::Plugin::getInfo | ( |  | ) |
| inline

Returns the whole keyset of information.

Precondition
  loadInfo()

## ◆ getNeededConfig()

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()

## ◆ getSymbol()

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

Returns symbol to a function.

Precondition
  parse()

## ◆ loadInfo()

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

Gets the configuration for the plugin.

(will be done in Modules.load)

## ◆ lookupInfo()

std::string kdb::tools::Plugin::lookupInfo | ( | std::string | item,
|  | std::string | section = `"infos"`
| ) |  |

Gets the whole string of an information item.

Precondition
  loadInfo()

## ◆ name()

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

Returns
  the name of the plugin (module)

## ◆ open()

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

Calls the open function of the plugin.

Precondition
  parse()

## ◆ parse()

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

Creates symbol and info table.

(will be done in Modules.load)

## ◆ set()

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

Calls the set function of the plugin.

Precondition
  parse()

## Member Data Documentation

## ◆ firstRef

bool kdb::tools::Plugin::firstRef

Is toggled during serialization.

(is a hack, only allows a single serialization!)

The documentation for this class was generated from the following files:

- plugin.hpp
- plugin.cpp