IComponentManager Class Referenceabstract

#include <Pt/Cosmo/IComponentManager.h>

Component manager interface. More...

Inherits IUnknown.

Public Member Functions

virtual ~IComponentManager ()
 Destructor.
 
void registerComponent (IComponentPlugin &plugin, const std::string &require, const std::string &instance)
 Registers component.
 
void load ()
 Loads all registered components.
 
void load (const std::string &instance)
 Loads registered component.
 
void unload (IComponentPlugin &plugin)
 Unloads a component plugin.
 
void unload (const std::string &instanceId)
 Unloads a component plugin by instance ID.
 
const IEnumerable< ComponentInfo > & components () const
 Returns component infos.
 

Protected Member Functions

virtual void onRegisterComponent (IComponentPlugin &plugin, const std::string &require, const std::string &instance)=0
 Registers component.
 
virtual void onLoad ()=0
 Loads all registered components.
 
virtual void onLoadInstance (const std::string &instanceId)=0
 Loads a component instance.
 
virtual void onUnload (IComponentPlugin &plugin)=0
 Unloads a plugin and all components using it.
 
virtual IComponentPluginonUnloadInstance (const std::string &instanceId)=0
 Unloads a component instance.
 
virtual const IEnumerable< ComponentInfo > & onGetComponents () const =0
 Returns component infos.
 

Detailed Description

Manages the lifecycle of component plugins and their instances. Plugins are registered, then loaded on demand or all at once. The component manager resolves dependencies and activates components in the correct order.