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;
    77         virtual std::unique_ptr<AbstractPlugin> 
load(
const PluginInfo& pinfo) = 0;
    87         virtual void unload(std::unique_ptr<AbstractPlugin> plugin) = 0;
    99 #endif  // __TERRALIB_CORE_PLUGIN_ABSTRACTPLUGINENGINE_H__ Basic information about a plugin. 
 
virtual std::unique_ptr< AbstractPlugin > load(const PluginInfo &pinfo)=0
Load the informed plugin. 
 
virtual ~AbstractPluginEngine()=default
Virtual destructor. 
 
The base class for plugin engines. 
 
virtual void unload(std::unique_ptr< AbstractPlugin > plugin)=0
Unload the informed plugin. 
 
virtual const std::string & id() const  =0
Every plugin engine must have a unique identifier. 
 
AbstractPluginEngine()
Default construtor. 
 
The basic information about a plugin. 
 
virtual const std::string & name() const  =0
The name of plugin engine with a brief title or description. 
 
AbstractPluginEngine & operator=(const AbstractPluginEngine &)