Public Member Functions | Protected Attributes | List of all members
Common::AddonsManager Class Referenceabstract

#include <addon_manager.h>

Inheritance diagram for Common::AddonsManager:
Inheritance graph
[legend]

Public Member Functions

 AddonsManager (const Logger::SharedPtr &logger)
 
virtual std::shared_ptr< AddonGetAddon (const AddonId &id) const =0
 getting addon by id More...
 
virtual std::shared_ptr< AddonGetAddon (const char id[]) const
 
template<class AddonClass >
std::shared_ptr< AddonClass > GetAddon (const AddonId &id) const
 Get instance of addon. More...
 
template<class AddonClass >
std::shared_ptr< AddonClass > GetAddon (const char id[]) const
 
virtual const Logger::SharedPtr & GetLogger () const
 
virtual void Register (const AddonInformation &caddonConfiguration)=0
 register new addon. More...
 
virtual void Start ()=0
 starting work. creates all addons and initializes them. More...
 
virtual void Stop ()=0
 
virtual void Unregister (const AddonId &id)=0
 unregister addon More...
 

Protected Attributes

Logger::SharedPtr Logger
 

Additional Inherited Members

- Private Member Functions inherited from Common::Interface
 Interface ()
 
 Interface (const Interface &)=delete
 
const Interfaceoperator= (const Interface &)=delete
 
virtual ~Interface ()
 

Detailed Description

Definition at line 37 of file addon_manager.h.

Constructor & Destructor Documentation

Common::AddonsManager::AddonsManager ( const Logger::SharedPtr &  logger)
inline

Definition at line 43 of file addon_manager.h.

Member Function Documentation

virtual std::shared_ptr<Addon> Common::AddonsManager::GetAddon ( const AddonId id) const
pure virtual

getting addon by id

Parameters
idid of the required addon
Returns
addon instance
Exceptions
ifaddon is not registered or not initialized yet.
virtual std::shared_ptr<Addon> Common::AddonsManager::GetAddon ( const char  id[]) const
inlinevirtual

Definition at line 64 of file addon_manager.h.

template<class AddonClass >
std::shared_ptr< AddonClass > Common::AddonsManager::GetAddon ( const AddonId id) const

Get instance of addon.

Returns
instance of addon casted to specified type
Exceptions
ifunable to cast addon, unable to find addon, or in casr of error

Definition at line 104 of file addon_manager.h.

template<class AddonClass >
std::shared_ptr< AddonClass > Common::AddonsManager::GetAddon ( const char  id[]) const

Definition at line 110 of file addon_manager.h.

virtual const Logger::SharedPtr& Common::AddonsManager::GetLogger ( ) const
inlinevirtual

Definition at line 90 of file addon_manager.h.

virtual void Common::AddonsManager::Register ( const AddonInformation caddonConfiguration)
pure virtual

register new addon.

Parameters
addonConfigurationconfiguration of new addon.
Exceptions
ifaddon already redistered. If manager started thows if not all dependencies resolved. If manager already started addon will be immediately created and initialized.
virtual void Common::AddonsManager::Start ( )
pure virtual

starting work. creates all addons and initializes them.

Exceptions
ifnot all addons dependencies can be resolved.
virtual void Common::AddonsManager::Stop ( )
pure virtual
virtual void Common::AddonsManager::Unregister ( const AddonId id)
pure virtual

unregister addon

Parameters
idid of unregistering addon
Exceptions
ifaddon not found For unregistering addon will be called method Addon::Stop() and addon data will be removed.

Member Data Documentation

Logger::SharedPtr Common::AddonsManager::Logger
protected

Definition at line 93 of file addon_manager.h.


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


ros_opcua_impl_freeopcua
Author(s): Denis Štogl
autogenerated on Tue Jan 19 2021 03:12:09