Fawkes API
Fawkes Development Version
|
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_;
~PluginLoadException()
Destructor.
Plugin * load(const char *plugin_name)
Load a specific plugin The plugin loader is clever and guarantees that every plugin is only loaded on...
This class manages plugins.
This exception is thrown if the requested plugin could not be loaded.
This exception is thrown if the requested plugin could not be unloaded.
Interface for configuration handling.
~PluginLoader()
Destructor.
std::string plugin_name() const
Get name of plugin which failed to load.
void unload(Plugin *plugin)
Unload the given plugin This will unload the given plugin.
std::string get_description(const char *plugin_name)
Get plugin description.
bool is_loaded(const char *plugin_name)
Check if a plugin is loaded.
PluginLoadException(const char *plugin, const char *message)
Constructor.
Fawkes library namespace.
PluginLoader(const char *plugin_base_dir, Configuration *config)
Constructor.
PluginUnloadException(const char *plugin_type, const char *add_msg=NULL)
Constructor.
ModuleManager * get_module_manager() const
Get module manager.
Dynamic module loader for Linux, FreeBSD, and MacOS X.
Base class for exceptions in Fawkes.