30 #ifndef __TERRALIB_CORE_PLUGIN_PLUGINENGINEMANAGER_H__
31 #define __TERRALIB_CORE_PLUGIN_PLUGINENGINEMANAGER_H__
34 #include "../Config.h"
46 class AbstractPluginEngine;
63 void insert(std::unique_ptr<AbstractPluginEngine> engine);
70 void remove(
const std::string& engine_id);
The base class for plugin engines.
A singleton that can be used to register plugin engines.
PluginEngineManager(const PluginEngineManager &)
void insert(std::unique_ptr< AbstractPluginEngine > engine)
Register a new plugin engine.
~PluginEngineManager()
Destructor.
AbstractPluginEngine & get(const std::string &engine_id) const
Find a plugin engine with the given id.
PluginEngineManager & operator=(const PluginEngineManager &)
void remove(const std::string &engine_id)
Unregister the plugin engine.
void clear()
Unregister every plugin engine.
static PluginEngineManager & instance()
Access the singleton.
PluginEngineManager()
Consructor.