Implementation for searching native plugins.
More...
#include <dynlib_plugin.hpp>
|
| dynlib_plugin_loader (std::vector< std::string > directories={}) noexcept |
|
auto | open (std::string_view id, std::string_view file) -> std::shared_ptr< plugin > override |
|
| plugin_loader (std::vector< std::string > directories={}, std::vector< std::string > extensions={}) noexcept |
|
virtual | ~plugin_loader ()=default |
|
virtual auto | is_supported (std::string_view path) noexcept -> bool |
|
virtual auto | find (std::string_view id) -> std::shared_ptr< plugin > |
|
Implementation for searching native plugins.
◆ dynlib_plugin_loader()
irccd::daemon::dynlib_plugin_loader::dynlib_plugin_loader |
( |
std::vector< std::string > |
directories = {} | ) |
|
|
noexcept |
Constructor.
- Parameters
-
directories | optional directories to search, if empty use defaults. |
◆ open()
auto irccd::daemon::dynlib_plugin_loader::open |
( |
std::string_view |
id, |
|
|
std::string_view |
file |
|
) |
| -> std::shared_ptr< plugin > |
|
overridevirtual |
Try to open the plugin specified by path.
The implementation must test if the plugin is suitable for opening, by testing extension for example.
- Parameters
-
id | the plugin identifier |
file | the file path |
- Returns
- the plugin
- Exceptions
-
Implements irccd::daemon::plugin_loader.
The documentation for this class was generated from the following file: