te::core::PluginEngineManager Class Reference

A singleton that can be used to register plugin engines. More...

#include <PluginEngineManager.h>

Classes

struct  Impl
 

Public Member Functions

void clear ()
 Unregister every plugin engine. More...
 
AbstractPluginEngineget (const std::string &engine_id) const
 Find a plugin engine with the given id. More...
 
void insert (std::unique_ptr< AbstractPluginEngine > engine)
 Register a new plugin engine. More...
 
void remove (const std::string &engine_id)
 Unregister the plugin engine. More...
 

Static Public Member Functions

static PluginEngineManagerinstance ()
 Access the singleton. More...
 

Protected Member Functions

 PluginEngineManager ()
 Consructor. More...
 
 ~PluginEngineManager ()
 Destructor. More...
 

Private Member Functions

PluginEngineManageroperator= (const PluginEngineManager &)
 
 PluginEngineManager (const PluginEngineManager &)
 

Private Attributes

Implm_pimpl
 

Detailed Description

A singleton that can be used to register plugin engines.

Definition at line 53 of file PluginEngineManager.h.

Constructor & Destructor Documentation

te::core::PluginEngineManager::PluginEngineManager ( )
protected

Consructor.

Definition at line 109 of file PluginEngineManager.cpp.

References m_pimpl.

te::core::PluginEngineManager::~PluginEngineManager ( )
protected

Destructor.

Definition at line 115 of file PluginEngineManager.cpp.

References m_pimpl.

te::core::PluginEngineManager::PluginEngineManager ( const PluginEngineManager )
private

Member Function Documentation

void te::core::PluginEngineManager::clear ( )

Unregister every plugin engine.

Definition at line 96 of file PluginEngineManager.cpp.

References te::core::PluginEngineManager::Impl::engines, and m_pimpl.

Referenced by te::core::plugin::FinalizePluginSystem().

te::core::AbstractPluginEngine & te::core::PluginEngineManager::get ( const std::string &  engine_id) const

Find a plugin engine with the given id.

Exceptions
OutOfRangeExceptionIf an engine with the given id is not found.

Definition at line 81 of file PluginEngineManager.cpp.

References te::core::PluginEngineManager::Impl::engines, m_pimpl, and TE_TR.

Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_SUITE(), te::core::PluginManager::load(), and WithoutPluginManager().

void te::core::PluginEngineManager::insert ( std::unique_ptr< AbstractPluginEngine engine)

Register a new plugin engine.

Exceptions
InvalidArgumentExceptionIt throws an exception if the engine argument is not valid or another engine with the same name is already registered.

Definition at line 46 of file PluginEngineManager.cpp.

References te::core::PluginEngineManager::Impl::engines, m_pimpl, and TE_TR.

Referenced by BOOST_AUTO_TEST_CASE(), te::core::plugin::InitializePluginSystem(), and InitPluginSystem().

PluginEngineManager& te::core::PluginEngineManager::operator= ( const PluginEngineManager )
private
void te::core::PluginEngineManager::remove ( const std::string &  engine_id)

Unregister the plugin engine.

Exceptions
OutOfRangeExceptionIf an engine with the given id is not found.

Definition at line 66 of file PluginEngineManager.cpp.

References te::core::PluginEngineManager::Impl::engines, m_pimpl, and TE_TR.

Referenced by BOOST_AUTO_TEST_CASE().

Member Data Documentation

Impl* te::core::PluginEngineManager::m_pimpl
private

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