Loading...
Searching...
No Matches
te::core::AbstractPluginEngine Class Referenceabstract

The base class for plugin engines. More...

#include <AbstractPluginEngine.h>

Inheritance diagram for te::core::AbstractPluginEngine:
te::core::CppPluginEngine

Public Member Functions

 AbstractPluginEngine ()
 Default construtor.
 
virtual const std::string & id () const =0
 Every plugin engine must have a unique identifier.
 
virtual std::unique_ptr< AbstractPluginload (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 void unload (std::unique_ptr< AbstractPlugin > plugin)=0
 Unload the informed plugin.
 
virtual ~AbstractPluginEngine ()=default
 Virtual destructor.
 

Private Member Functions

 AbstractPluginEngine (const AbstractPluginEngine &)
 
AbstractPluginEngineoperator= (const AbstractPluginEngine &)
 

Detailed Description

The base class for plugin engines.

Definition at line 54 of file AbstractPluginEngine.h.

Constructor & Destructor Documentation

◆ AbstractPluginEngine() [1/2]

te::core::AbstractPluginEngine::AbstractPluginEngine ( )
inline

Default construtor.

Definition at line 59 of file AbstractPluginEngine.h.

Referenced by AbstractPluginEngine(), and operator=().

◆ ~AbstractPluginEngine()

virtual te::core::AbstractPluginEngine::~AbstractPluginEngine ( )
virtualdefault

Virtual destructor.

◆ AbstractPluginEngine() [2/2]

te::core::AbstractPluginEngine::AbstractPluginEngine ( const AbstractPluginEngine & )
private

Member Function Documentation

◆ id()

virtual const std::string & te::core::AbstractPluginEngine::id ( ) const
pure virtual

Every plugin engine must have a unique identifier.

Implemented in te::core::CppPluginEngine.

◆ load()

virtual std::unique_ptr< AbstractPlugin > te::core::AbstractPluginEngine::load ( const PluginInfo & pinfo)
pure virtual

Load the informed plugin.

Parameters
pinfoInformation about the plugin to be loaded.
Exceptions
PluginEngineLoadExceptionIf the plugin can not be loaded.

Implemented in te::core::CppPluginEngine.

◆ name()

virtual const std::string & te::core::AbstractPluginEngine::name ( ) const
pure virtual

The name of plugin engine with a brief title or description.

Implemented in te::core::CppPluginEngine.

◆ operator=()

AbstractPluginEngine & te::core::AbstractPluginEngine::operator= ( const AbstractPluginEngine & )
private

◆ unload()

virtual void te::core::AbstractPluginEngine::unload ( std::unique_ptr< AbstractPlugin > plugin)
pure virtual

Unload the informed plugin.

On success the informed plugin will be also destroyed and its pointer will be invalidated.

Exceptions
PluginEngineUnloadExceptionIt may throws an exception.

Implemented in te::core::CppPluginEngine.


The documentation for this class was generated from the following file: