Modern, type-safe plugin loader.
More...
#include <PluginLoader.hpp>
Modern, type-safe plugin loader.
Definition at line 86 of file PluginLoader.hpp.
◆ PluginLoader() [1/3]
| utl::PluginLoader::PluginLoader |
( |
| ) |
|
|
default |
◆ ~PluginLoader()
| utl::PluginLoader::~PluginLoader |
( |
| ) |
|
|
default |
◆ PluginLoader() [2/3]
◆ PluginLoader() [3/3]
◆ getEntryPoint()
◆ loadLibrary()
| static SharedLib utl::PluginLoader::loadLibrary |
( |
const std::string & | path | ) |
|
|
inlinestaticprivate |
◆ loadPlugin()
template<std::derived_from<
IPlugin > T>
| std::shared_ptr< T > utl::PluginLoader::loadPlugin |
( |
const std::string & | path, |
|
|
const std::string_view & | pluginPrefix = "" ) |
|
inline |
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ validatePluginPath()
| static void utl::PluginLoader::validatePluginPath |
( |
const std::filesystem::path & | path, |
|
|
const std::string_view & | pluginPrefix ) |
|
inlinestaticprivate |
Validate the plugin path.
- Parameters
-
| path | Path to the dynamic library |
| pluginPrefix | Expected prefix for plugin filenames |
Definition at line 206 of file PluginLoader.hpp.
Referenced by loadPlugin().
◆ m_handles
| std::unordered_map<std::string, SharedLib> utl::PluginLoader::m_handles |
|
private |
◆ m_mutex
| std::mutex utl::PluginLoader::m_mutex |
|
private |
◆ m_plugins
| std::unordered_map<std::string, std::unique_ptr<IPlugin> > utl::PluginLoader::m_plugins |
|
private |
The documentation for this class was generated from the following file: