![]() |
Fledge
An open source edge computing platform for industrial users
|
The manager for plugins. More...
#include <plugin_manager.h>

Public Member Functions | |
| PLUGIN_HANDLE | loadPlugin (const std::string &name, const std::string &type) |
| Load a given plugin. | |
| void | unloadPlugin (PLUGIN_HANDLE handle) |
| void * | resolveSymbol (PLUGIN_HANDLE handle, const std::string &symbol) |
| Resolve a symbol within the plugin. | |
| PLUGIN_HANDLE | findPluginByName (const std::string &name) |
| Find a loaded plugin by name. | |
| PLUGIN_HANDLE | findPluginByType (const std::string &type) |
| Find a loaded plugin by type. | |
| PLUGIN_INFORMATION * | getInfo (const PLUGIN_HANDLE) |
| Return the information for a named plugin. | |
| void | getInstalledPlugins (const std::string &type, std::list< std::string > &plugins) |
| Get the installed plugins in the given plugin type subdirectory of "plugins" under FLEDGE_ROOT Plugin type is one of: south, north, filter, notificationRule, notificationDelivery. More... | |
| void | setPluginType (tPluginType type) |
| Set Plugin Type. | |
| PLUGIN_TYPE | getPluginImplType (const PLUGIN_HANDLE hndl) |
| std::vector< std::string > | getPluginsByFlags (const std::string &type, unsigned int flags) |
| Return a list of plugins matching the criteria of plugin type and plugin flags. More... | |
Static Public Member Functions | |
| static PluginManager * | getInstance () |
| PluginManager Singleton implementation. | |
Static Public Attributes | |
| static PluginManager * | instance = 0 |
The manager for plugins.
This manager is a singleton and is responsible for loading, tracking and unloading the plugins within the system.
| void PluginManager::getInstalledPlugins | ( | const std::string & | type, |
| std::list< std::string > & | plugins | ||
| ) |
Get the installed plugins in the given plugin type subdirectory of "plugins" under FLEDGE_ROOT Plugin type is one of: south, north, filter, notificationRule, notificationDelivery.
| type | The plugin type |
| plugins | The output plugin list name to fill |
Get all sub directory names in path: path = plugins/filter/ delta scale
Plugin filename is libdelta.so, libscale.so Plugin name is the subdirecory name in path Skip directory starting with '_' or with name 'common'
| std::vector< string > PluginManager::getPluginsByFlags | ( | const std::string & | type, |
| unsigned int | flags | ||
| ) |
Return a list of plugins matching the criteria of plugin type and plugin flags.
| type | The plugin type to match |
| flags | A bitmask of flags to match |