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;