24 #ifndef _PLUGIN_LOADER_H_ 25 #define _PLUGIN_LOADER_H_ 27 #include <core/exception.h> 28 #include <core/plugin.h> 48 std::string plugin_name_;
73 Module * open_module(
const char *plugin_name);
74 std::string get_string_symbol(
const char *plugin_name,
75 const char *symbol_name,
76 const char *section_name =
".fawkes_plugin");
77 Plugin * create_instance(
const char *plugin_name,
Module *module);
84 std::string plugin_base_dir_;
PluginLoader(const char *plugin_base_dir, Configuration *config)
Constructor.
This exception is thrown if the requested plugin could not be unloaded.
PluginUnloadException(const char *plugin_type, const char *add_msg=NULL)
Constructor.
Fawkes library namespace.
This exception is thrown if the requested plugin could not be loaded.
~PluginLoadException()
Destructor.
PluginLoadException(const char *plugin, const char *message)
Constructor.
This class manages plugins.
void unload(Plugin *plugin)
Unload the given plugin This will unload the given plugin.
Dynamic module loader for Linux, FreeBSD, and MacOS X.
Base class for exceptions in Fawkes.
std::string get_description(const char *plugin_name)
Get plugin description.
std::string plugin_name() const
Get name of plugin which failed to load.
ModuleManager * get_module_manager() const
Get module manager.
bool is_loaded(const char *plugin_name)
Check if a plugin is loaded.
~PluginLoader()
Destructor.
Interface for configuration handling.
Plugin * load(const char *plugin_name)
Load a specific plugin The plugin loader is clever and guarantees that every plugin is only loaded on...