24 #ifndef __CORE_PLUGIN_H_ 25 #define __CORE_PLUGIN_H_ 27 #include <core/threading/thread_list.h> 40 const char *
name()
const;
82 typedef const char * (* PluginDescriptionFunc) ();
88 typedef const char * (* PluginDependenciesFunc) ();
94 #define PLUGIN_FACTORY(plugin_class) \ 97 plugin_factory(fawkes::Configuration *config) \ 99 return new plugin_class(config); \ 107 #define PLUGIN_DESTROY(plugin_class) \ 110 plugin_destroy(plugin_class *plugin) \ 120 #define PLUGIN_DESCRIPTION(info_string) \ 123 plugin_description() \ 125 return info_string; \ 132 #define PLUGIN_DEPENDS(plugin_list) \ 137 return plugin_list; \ 145 #define EXPORT_PLUGIN(plugin_class) \ 146 PLUGIN_FACTORY(plugin_class) \ 148 PLUGIN_DESTROY(plugin_class)
const char * name() const
Get the name of the plugin.
void set_name(const char *name)
Set plugin name.
Fawkes library namespace.
void(* PluginDestroyFunc)(Plugin *plugin)
Plugin destructor function for the shared library.
ThreadList & threads()
Get a list of threads.
ThreadList thread_list
Thread list member.
Plugin(Configuration *config)
Constructor.
Configuration * config
Fawkes configuration.
virtual ~Plugin()
Virtual destructor.
Interface for configuration handling.
virtual bool persistent()
Determines if the plugin can be unloaded.