24 #ifndef __CORE_PLUGIN_H_
25 #define __CORE_PLUGIN_H_
27 #include <core/threading/thread_list.h>
40 const char *
name()
const;
76 typedef void (* PluginDestroyFunc) (
Plugin *plugin);
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.
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.