Elektra: kdb::tools::ModulesPluginDatabase Class Reference

Elektra 0.8.24

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

A plugin database that works with installed modules. More...

`#include <plugindatabase.hpp>`

Inherits kdb::tools::PluginDatabase.

Inherited by kdb::tools::MockPluginDatabase, and kdb::tools::PluginVariantDatabase.

## Public Member Functions
std::vector< std::string > | listAllPlugins () const
| list all plugins More...
std::string | lookupInfo (PluginSpec const &spec, std::string const &which) const
| lookup contract clauses or dynamic information More...
func_t | getSymbol (PluginSpec const &whichplugin, std::string const &which) const
| get exported plugin symbol More...
PluginSpec | lookupMetadata (std::string const &which) const
| lookup which plugin handles metadata More...
PluginSpec | lookupProvides (std::string const &provides) const
| lookup which plugin is a provider for that plugin More...
std::map< int, PluginSpec > | lookupAllProvidesWithStatus (std::string const &provides) const
| looks up all plugins which are a suitable provider More...
std::vector< PluginSpec > | lookupAllProvides (std::string const &provides) const
| looks up all plugins which are a suitable provider More...

## Additional Inherited Members
Public Types inherited from kdb::tools::PluginDatabase
enum | Status { provides, real, missing }
Static Public Member Functions inherited from kdb::tools::PluginDatabase
static int | calculateStatus (std::string statusString)

## Detailed Description

A plugin database that works with installed modules.

## Member Function Documentation

## ◆ getSymbol()

PluginDatabase::func_t kdb::tools::ModulesPluginDatabase::getSymbol | ( | PluginSpec const & | whichplugin,
|  | std::string const & | which
| ) |  | const
| virtual

get exported plugin symbol

Parameters

  whichplugin | from which plugin?
  which | which symbol would you like to look up?

Returns
  the function pointer to the exported symbol or NULL if the symbol was not found

Implements kdb::tools::PluginDatabase.

Reimplemented in kdb::tools::MockPluginDatabase.

## ◆ listAllPlugins()

std::vector< std::string > kdb::tools::ModulesPluginDatabase::listAllPlugins | ( |  | ) | const
| virtual

list all plugins

If Elektra is compiled with plugins, it will search for shared libraries. In any case, if no shared libraries were found it will fallback to an internal list (plugins that were compiled together with Elektra).

Returns
  a list of all available plugins

Implements kdb::tools::PluginDatabase.

Reimplemented in kdb::tools::MockPluginDatabase.

## ◆ lookupAllProvides()

std::vector< PluginSpec > kdb::tools::ModulesPluginDatabase::lookupAllProvides | ( | std::string const & | provides | ) | const
| virtual

looks up all plugins which are a suitable provider

Note
  in case a plugin name is provided, the plugin with the name will also be part of the result. But if there are other plugins providing the requirement, then they will also be part of the result. The ordering of the resulting vector has no special meaning.

Parameters

  provides | is the provider to find

Returns
  a vector of plugins offering the requirement or are named after it

Implements kdb::tools::PluginDatabase.

## ◆ lookupAllProvidesWithStatus()

std::map< int, PluginSpec > kdb::tools::ModulesPluginDatabase::lookupAllProvidesWithStatus | ( | std::string const & | provides | ) | const
| virtual

looks up all plugins which are a suitable provider

Note
  in case a plugin name is provided, the plugin with the name will also be part of the result. But if there are other plugins providing the requirement, then they will also be part of the result.

Parameters

  provides | is the provider to find

Returns
  a map of plugins with their status offering the requirement or are named after it

Implements kdb::tools::PluginDatabase.

## ◆ lookupInfo()

std::string kdb::tools::ModulesPluginDatabase::lookupInfo | ( | PluginSpec const & | whichplugin,
|  | std::string const & | which
| ) |  | const
| virtual

lookup contract clauses or dynamic information

Parameters

  whichplugin | about which plugin?
  which | about which clause in the contract?

Returns
  the clause of the contract

Implements kdb::tools::PluginDatabase.

Reimplemented in kdb::tools::MockPluginDatabase.

## ◆ lookupMetadata()

PluginSpec kdb::tools::ModulesPluginDatabase::lookupMetadata | ( | std::string const & | which | ) | const
| virtual

lookup which plugin handles metadata

Parameters

  which | the metadata of interest

Returns
  the best suited plugin specification which provides it

Implements kdb::tools::PluginDatabase.

## ◆ lookupProvides()

PluginSpec kdb::tools::ModulesPluginDatabase::lookupProvides | ( | std::string const & | provides | ) | const
| virtual

lookup which plugin is a provider for that plugin

Note
  will return a PluginSpec with getName() == provides if the string provides actually is a plugin name.

Parameters

  provides | is the provider to find

Exceptions

  NoPlugin | if no plugin that provides the functionality could be found

Returns
  the plugin itself or the best suited plugin specification which provides it

Implements kdb::tools::PluginDatabase.

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

- plugindatabase.hpp
- plugindatabase.cpp