24 #ifndef __PLUGIN_MANAGER_H_
25 #define __PLUGIN_MANAGER_H_
27 #include <netcomm/fawkes/handler.h>
28 #include <core/utils/lock_list.h>
29 #include <core/utils/lock_map.h>
30 #include <config/change_handler.h>
31 #include <utils/system/fam.h>
32 #include <utils/system/dynamic_module/module.h>
42 class ThreadCollector;
46 class PluginListMessage;
51 class PluginManagerListener;
60 const char *meta_plugin_prefix,
62 bool init_cache =
true);
66 void init_pinfo_cache();
69 virtual void config_tag_changed(
const char *new_location);
72 virtual void config_value_erased(
const char *path);
75 virtual void fam_event(
const char *filename,
unsigned int mask);
77 void load(
const char *plugin_list);
78 void unload(
const char *plugin_name);
80 bool is_loaded(
const char *plugin_name);
82 std::list<std::string> get_loaded_plugins();
83 std::list<std::pair<std::string, std::string> > get_available_plugins();
93 void notify_loaded(
const char *plugin_name);
94 void notify_unloaded(
const char *plugin_name);
96 std::list<std::string> parse_plugin_list(
const char *plugin_type_list);
110 unsigned int next_plugin_id;
111 std::map< std::string, unsigned int > plugin_ids;
119 std::string __meta_plugin_prefix;
Fawkes library namespace.
Interface for configuration change handling.
This class manages plugins.
ModuleFlags
Flags for the loading process.
File Alteration Monitor Listener.
Iterator interface to iterate over config values.
FileAlterationMonitor thread wrapper.
Mutex mutual exclusion lock.
Interface for configuration handling.