FairMQ
1.4.33
C++ Message Queuing Library and Framework
|
manages and owns plugin instances More...
#include <fairmq/PluginManager.h>
Classes | |
struct | BadSearchPath |
struct | PluginInstantiationError |
struct | PluginLoadError |
struct | ProgramOptionsParseError |
Public Types | |
using | PluginFactory = std::unique_ptr< fair::mq::Plugin >(PluginServices &) |
Public Member Functions | |
PluginManager (const std::vector< std::string > args) | |
auto | SetSearchPaths (const std::vector< boost::filesystem::path > &) -> void |
auto | AppendSearchPath (const boost::filesystem::path &) -> void |
auto | PrependSearchPath (const boost::filesystem::path &) -> void |
auto | SearchPaths () const -> const std::vector< boost::filesystem::path > & |
auto | LoadPlugin (const std::string &pluginName) -> void |
auto | LoadPlugins (const std::vector< std::string > &pluginNames) -> void |
auto | InstantiatePlugins () -> void |
auto | ForEachPlugin (std::function< void(Plugin &)> func) -> void |
auto | ForEachPluginProgOptions (std::function< void(boost::program_options::options_description)> func) const -> void |
template<typename... Args> | |
auto | EmplacePluginServices (Args &&... args) -> void |
auto | WaitForPluginsToReleaseDeviceControl () -> void |
Static Public Member Functions | |
static auto | ProgramOptions () -> boost::program_options::options_description |
static auto | LibPrefix () -> const std::string & |
manages and owns plugin instances
The plugin manager is responsible for the whole plugin lifecycle. It facilitates two plugin mechanisms: A prelinked dynamic plugins (shared libraries) B dynamic plugins (shared libraries) C static plugins (builtin)