#include <addon_manager.h>
Public Member Functions | |
DEFINE_CLASS_POINTERS (AddonsManager) | |
virtual std::shared_ptr< Addon > | GetAddon (const AddonId &id) const =0 |
getting addon by id | |
virtual std::shared_ptr< Addon > | GetAddon (const char id[]) const |
template<class AddonClass > | |
std::shared_ptr< AddonClass > | GetAddon (const AddonId &id) const |
Get instance of addon. | |
template<class AddonClass > | |
std::shared_ptr< AddonClass > | GetAddon (const char id[]) const |
virtual void | Register (const AddonInformation &caddonConfiguration)=0 |
register new addon. | |
virtual void | Start ()=0 |
starting work. creates all addons and initializes them. | |
virtual void | Stop ()=0 |
virtual void | Unregister (const AddonId &id)=0 |
unregister addon |
Definition at line 36 of file addon_manager.h.
std::shared_ptr< AddonClass > Common::AddonsManager::GetAddon | ( | const AddonId & | id | ) | const [pure virtual] |
getting addon by id
id | id of the required addon |
if | addon is not registered or not initialized yet. |
Definition at line 96 of file addon_manager.h.
std::shared_ptr< AddonClass > Common::AddonsManager::GetAddon | ( | const char | id[] | ) | const [inline, virtual] |
Definition at line 61 of file addon_manager.h.
std::shared_ptr<AddonClass> Common::AddonsManager::GetAddon | ( | const AddonId & | id | ) | const |
Get instance of addon.
if | unable to cast addon, unable to find addon, or in casr of error |
std::shared_ptr<AddonClass> Common::AddonsManager::GetAddon | ( | const char | id[] | ) | const |
virtual void Common::AddonsManager::Register | ( | const AddonInformation & | caddonConfiguration | ) | [pure virtual] |
register new addon.
addonConfiguration | configuration of new addon. |
if | addon 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.
if | not 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
id | id of unregistering addon |
if | addon not found For unregistering addon will be called method Addon::Stop() and addon data will be removed. |