SourceXtractorPlusPlus 0.21
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Private Attributes | Static Private Attributes | List of all members
SourceXtractor::PluginManager Class Reference

PluginManager handles the loading of plugins and calls their registration function, providing them with with a PluginAPI implementation. More...

#include <PluginManager.h>

Inheritance diagram for SourceXtractor::PluginManager:
Inheritance graph
[legend]
Collaboration diagram for SourceXtractor::PluginManager:
Collaboration graph
[legend]

Public Member Functions

 ~PluginManager () override=default
 
 PluginManager (std::shared_ptr< TaskFactoryRegistry > task_factory_registry, std::shared_ptr< OutputRegistry > output_registry, std::string plugin_path, std::vector< std::string > plugin_list)
 
void loadPlugins ()
 loads all the available plugins. Both those linked at compile-time and those loaded at run-time
 
TaskFactoryRegistrygetTaskFactoryRegistry () const override
 
OutputRegistrygetOutputRegistry () const override
 
- Public Member Functions inherited from SourceXtractor::PluginAPI
virtual ~PluginAPI ()=default
 

Static Public Member Functions

template<typename T >
static void registerStaticPlugin ()
 registers a plugin, this is used to register plugins linked at compile-time
 

Private Attributes

boost::filesystem::path m_plugin_path
 
std::vector< std::stringm_plugin_list
 
std::shared_ptr< TaskFactoryRegistrym_task_factory_registry
 
std::shared_ptr< OutputRegistrym_output_registry
 

Static Private Attributes

static std::vector< std::unique_ptr< Plugin > > s_static_plugins
 

Detailed Description

PluginManager handles the loading of plugins and calls their registration function, providing them with with a PluginAPI implementation.

Definition at line 54 of file PluginManager.h.

Constructor & Destructor Documentation

◆ ~PluginManager()

SourceXtractor::PluginManager::~PluginManager ( )
overridedefault

◆ PluginManager()

SourceXtractor::PluginManager::PluginManager ( std::shared_ptr< TaskFactoryRegistry > task_factory_registry,
std::shared_ptr< OutputRegistry > output_registry,
std::string plugin_path,
std::vector< std::string > plugin_list )
inline

Definition at line 59 of file PluginManager.h.

Member Function Documentation

◆ getOutputRegistry()

OutputRegistry & SourceXtractor::PluginManager::getOutputRegistry ( ) const
inlineoverridevirtual

Implements SourceXtractor::PluginAPI.

Definition at line 76 of file PluginManager.h.

References m_output_registry.

◆ getTaskFactoryRegistry()

TaskFactoryRegistry & SourceXtractor::PluginManager::getTaskFactoryRegistry ( ) const
inlineoverridevirtual

Implements SourceXtractor::PluginAPI.

Definition at line 72 of file PluginManager.h.

References m_task_factory_registry.

◆ loadPlugins()

void SourceXtractor::PluginManager::loadPlugins ( )

loads all the available plugins. Both those linked at compile-time and those loaded at run-time

Definition at line 51 of file PluginManager.cpp.

References Elements::Logging::info(), Euclid::Configuration::logger, m_plugin_list, m_plugin_path, and s_static_plugins.

Referenced by SEMain::getConfigParameters().

Here is the call graph for this function:

◆ registerStaticPlugin()

template<typename T >
static void SourceXtractor::PluginManager::registerStaticPlugin ( )
inlinestatic

registers a plugin, this is used to register plugins linked at compile-time

Definition at line 82 of file PluginManager.h.

References s_static_plugins.

Member Data Documentation

◆ m_output_registry

std::shared_ptr<OutputRegistry> SourceXtractor::PluginManager::m_output_registry
private

Definition at line 91 of file PluginManager.h.

Referenced by getOutputRegistry().

◆ m_plugin_list

std::vector<std::string> SourceXtractor::PluginManager::m_plugin_list
private

Definition at line 88 of file PluginManager.h.

Referenced by loadPlugins().

◆ m_plugin_path

boost::filesystem::path SourceXtractor::PluginManager::m_plugin_path
private

Definition at line 87 of file PluginManager.h.

Referenced by loadPlugins().

◆ m_task_factory_registry

std::shared_ptr<TaskFactoryRegistry> SourceXtractor::PluginManager::m_task_factory_registry
private

Definition at line 90 of file PluginManager.h.

Referenced by getTaskFactoryRegistry().

◆ s_static_plugins

std::vector< std::unique_ptr< Plugin > > SourceXtractor::PluginManager::s_static_plugins
staticprivate

Definition at line 104 of file PluginManager.h.

Referenced by loadPlugins(), and registerStaticPlugin().


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