Loads all plugins and allows us to query them.
More...
#include <plugindatabase.hpp>
Loads all plugins and allows us to query them.
Enumerator |
---|
provides |
does not directly, but can be loaded via provides
|
real |
exists and working as given
|
missing |
does not exist or cannot be loaded
|
int kdb::tools::PluginDatabase::calculateStatus |
( |
std::string |
statusString | ) |
|
|
static |
- Parameters
-
statusString | the string encoding the status |
- Returns
- The representing number for a given status.
virtual func_t kdb::tools::PluginDatabase::getSymbol |
( |
PluginSpec const & |
whichplugin, |
|
|
std::string const & |
which |
|
) |
| const |
|
pure virtual |
virtual std::vector<std::string> kdb::tools::PluginDatabase::listAllPlugins |
( |
| ) |
const |
|
pure 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
Implemented in kdb::tools::MockPluginDatabase, and kdb::tools::ModulesPluginDatabase.
virtual std::vector<PluginSpec> kdb::tools::PluginDatabase::lookupAllProvides |
( |
std::string const & |
provides | ) |
const |
|
pure 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
Implemented in kdb::tools::ModulesPluginDatabase.
virtual std::map<int, PluginSpec> kdb::tools::PluginDatabase::lookupAllProvidesWithStatus |
( |
std::string const & |
provides | ) |
const |
|
pure 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
Implemented in kdb::tools::ModulesPluginDatabase.
virtual std::string kdb::tools::PluginDatabase::lookupInfo |
( |
PluginSpec const & |
whichplugin, |
|
|
std::string const & |
which |
|
) |
| const |
|
pure virtual |
virtual PluginSpec kdb::tools::PluginDatabase::lookupMetadata |
( |
std::string const & |
which | ) |
const |
|
pure virtual |
lookup which plugin handles metadata
- Parameters
-
which | the metadata of interest |
- Returns
- the best suited plugin specification which provides it
Implemented in kdb::tools::ModulesPluginDatabase.
virtual PluginSpec kdb::tools::PluginDatabase::lookupProvides |
( |
std::string const & |
provides | ) |
const |
|
pure 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
Implemented in kdb::tools::ModulesPluginDatabase.
The documentation for this class was generated from the following files: