The base class for plugin engines. More...
#include <AbstractPluginEngine.h>
Public Member Functions | |
AbstractPluginEngine () | |
Default construtor. More... | |
virtual const std::string & | id () const =0 |
Every plugin engine must have a unique identifier. More... | |
virtual std::unique_ptr< AbstractPlugin > | load (const PluginInfo &pinfo)=0 |
Load the informed plugin. More... | |
virtual const std::string & | name () const =0 |
The name of plugin engine with a brief title or description. More... | |
virtual void | unload (std::unique_ptr< AbstractPlugin > plugin)=0 |
Unload the informed plugin. More... | |
virtual | ~AbstractPluginEngine ()=default |
Virtual destructor. More... | |
Private Member Functions | |
AbstractPluginEngine (const AbstractPluginEngine &) | |
AbstractPluginEngine & | operator= (const AbstractPluginEngine &) |
The base class for plugin engines.
Definition at line 54 of file AbstractPluginEngine.h.
|
inline |
Default construtor.
Definition at line 59 of file AbstractPluginEngine.h.
References id(), load(), name(), operator=(), unload(), and ~AbstractPluginEngine().
|
virtualdefault |
Virtual destructor.
Referenced by AbstractPluginEngine().
|
private |
|
pure virtual |
Every plugin engine must have a unique identifier.
Implemented in te::core::CppPluginEngine.
Referenced by AbstractPluginEngine().
|
pure virtual |
Load the informed plugin.
pinfo | Information about the plugin to be loaded. |
PluginEngineLoadException | If the plugin can not be loaded. |
Implemented in te::core::CppPluginEngine.
Referenced by AbstractPluginEngine().
|
pure virtual |
The name of plugin engine with a brief title or description.
Implemented in te::core::CppPluginEngine.
Referenced by AbstractPluginEngine().
|
private |
Referenced by AbstractPluginEngine().
|
pure virtual |
Unload the informed plugin.
On success the informed plugin will be also destroyed and its pointer will be invalidated.
PluginEngineUnloadException | It may throws an exception. |
Implemented in te::core::CppPluginEngine.
Referenced by AbstractPluginEngine().