Parent Directory | Revision Log
Solved ToDo item: '- Create a filtering method: - Incoming: which phonenumbers are allowed to invoke which plugins - Incoming could be solved with a PluginProxy() which intercepts the ExecutePlugin calls (only PluginManager needs to know about this one)' Move the Access related items to AccessManager.*
1 | torben | 26 | #ifndef __PLUGINMANAGER_H__ |
2 | #define __PLUGINMANAGER_H__ | ||
3 | |||
4 | #include <string> | ||
5 | #include <map> | ||
6 | #include <vector> | ||
7 | |||
8 | torben | 140 | class Plugin; |
9 | torben | 26 | |
10 | class PluginManager | ||
11 | { | ||
12 | public: | ||
13 | PluginManager(); | ||
14 | ~PluginManager(); | ||
15 | |||
16 | void LoadPlugins(); | ||
17 | torben | 205 | void DestroyPlugins(); |
18 | torben | 28 | void AddPlugin(Plugin* plugin); |
19 | torben | 26 | |
20 | Plugin* GetPlugin(const std::string& pluginname); | ||
21 | |||
22 | torben | 196 | std::vector<Plugin*> GetPluginList(); |
23 | torben | 26 | |
24 | private: | ||
25 | torben | 205 | |
26 | Plugin* CreatePlugin(const std::string& pluginName, const std::map<std::string,std::string>& arguments); | ||
27 | torben | 217 | void ParseCommonOptions(const std::string& pluginName, std::map<std::string,std::string>& args); |
28 | torben | 26 | std::map<std::string, Plugin*> _plugins; |
29 | torben | 184 | std::vector<Plugin*> _helper_plugins; |
30 | torben | 26 | }; |
31 | |||
32 | #endif //__PLUGINMANAGER_H__ |
ViewVC Help | |
Powered by ViewVC 1.1.20 |