21 #ifndef OLAD_PLUGINMANAGER_H_ 22 #define OLAD_PLUGINMANAGER_H_ 28 #include "ola/plugin_id.h" 59 PluginManager(
const std::vector<PluginLoader*> &plugin_loaders,
85 void Plugins(std::vector<AbstractPlugin*> *plugins)
const;
91 void ActivePlugins(std::vector<AbstractPlugin*> *plugins)
const;
111 bool IsActive(ola_plugin_id plugin_id)
const;
118 bool IsEnabled(ola_plugin_id plugin_id)
const;
143 std::vector<AbstractPlugin*> *plugins);
146 typedef std::map<ola_plugin_id, AbstractPlugin*> PluginMap;
148 std::vector<PluginLoader*> m_plugin_loaders;
149 PluginMap m_loaded_plugins;
150 PluginMap m_active_plugins;
151 PluginMap m_enabled_plugins;
160 #endif // OLAD_PLUGINMANAGER_H_ void Plugins(std::vector< AbstractPlugin *> *plugins) const
Return the list of loaded plugins.
Definition: PluginManager.cpp:103
bool EnableAndStartPlugin(ola_plugin_id plugin_id)
Enable & start a plugin.
Definition: PluginManager.cpp:145
The manager of plugins.
Definition: PluginManager.h:52
void LoadAll()
Attempt to load all the plugins and start them.
Definition: PluginManager.cpp:46
void ActivePlugins(std::vector< AbstractPlugin *> *plugins) const
Return a list of active plugins.
Definition: PluginManager.cpp:108
bool IsEnabled(ola_plugin_id plugin_id) const
Check if a plugin is enabled.
Definition: PluginManager.cpp:126
void UnloadAll()
Definition: PluginManager.cpp:87
Definition: PluginAdaptor.h:41
void DisableAndStopPlugin(ola_plugin_id plugin_id)
Disable & stop a plugin.
Definition: PluginManager.cpp:130
bool IsActive(ola_plugin_id plugin_id) const
Check if a plugin is active.
Definition: PluginManager.cpp:122
AbstractPlugin * GetPlugin(ola_plugin_id plugin_id) const
Lookup a plugin by ID.
Definition: PluginManager.cpp:118
The namespace containing all OLA symbols.
Definition: Credentials.cpp:44
void EnabledPlugins(std::vector< AbstractPlugin *> *plugins) const
Return a list of enabled plugins.
Definition: PluginManager.cpp:113
void GetConflictList(ola_plugin_id plugin_id, std::vector< AbstractPlugin *> *plugins)
Return a list of plugins that conflict with this particular plugin.
Definition: PluginManager.cpp:163
PluginManager(const std::vector< PluginLoader *> &plugin_loaders, PluginAdaptor *plugin_adaptor)
Create a new PluginManager.
Definition: PluginManager.cpp:36
~PluginManager()
Destructor.
Definition: PluginManager.cpp:42