irccd  3.0.3
Public Member Functions | List of all members
irccd::daemon::dynlib_plugin_loader Class Reference

Implementation for searching native plugins. More...

#include <dynlib_plugin.hpp>

Inheritance diagram for irccd::daemon::dynlib_plugin_loader:
irccd::daemon::plugin_loader

Public Member Functions

 dynlib_plugin_loader (std::vector< std::string > directories={}) noexcept
 
auto open (std::string_view id, std::string_view file) -> std::shared_ptr< plugin > override
 
- Public Member Functions inherited from irccd::daemon::plugin_loader
 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 >
 

Detailed Description

Implementation for searching native plugins.

Constructor & Destructor Documentation

◆ dynlib_plugin_loader()

irccd::daemon::dynlib_plugin_loader::dynlib_plugin_loader ( std::vector< std::string >  directories = {})
noexcept

Constructor.

Parameters
directoriesoptional directories to search, if empty use defaults.

Member Function Documentation

◆ 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
idthe plugin identifier
filethe file path
Returns
the plugin
Exceptions
plugin_erroron errors

Implements irccd::daemon::plugin_loader.


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