FairMQ  1.4.33
C++ Message Queuing Library and Framework
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
fair::mq::PluginManager Class Reference

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 &
 

Detailed Description

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)


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

privacy