30 #ifndef __TERRALIB_CORE_PLUGIN_ABSTRACTPLUGINENGINE_H__
31 #define __TERRALIB_CORE_PLUGIN_ABSTRACTPLUGINENGINE_H__
34 #include "../Config.h"
65 virtual const std::string&
id()
const = 0;
68 virtual const std::string&
name()
const = 0;
87 virtual void unload(std::unique_ptr<AbstractPlugin> plugin) = 0;
The basic information about a plugin.
The base class for plugin engines.
virtual const std::string & id() const =0
Every plugin engine must have a unique identifier.
virtual void unload(std::unique_ptr< AbstractPlugin > plugin)=0
Unload the informed plugin.
AbstractPluginEngine & operator=(const AbstractPluginEngine &)
virtual std::unique_ptr< AbstractPlugin > load(const PluginInfo &pinfo)=0
Load the informed plugin.
virtual const std::string & name() const =0
The name of plugin engine with a brief title or description.
virtual ~AbstractPluginEngine()=default
Virtual destructor.
AbstractPluginEngine(const AbstractPluginEngine &)
AbstractPluginEngine()
Default construtor.
Basic information about a plugin.