Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

amire::component::ComponentManager Class Reference

Inheritance diagram for amire::component::ComponentManager:

amire::component::ComponentContext List of all members.

Public Member Functions

 ComponentManager ()
 ComponentManager (amire::property::PropertyTypeManager *propertyTypeManager)
virtual ~ComponentManager ()
virtual osg::ref_ptr< const
getComponentPrototype (const std::string &name)
void registerState (const osg::ref_ptr< const ComponentState > &state)
void registerComponentPrototype (const osg::ref_ptr< Component > &component)
void registerConnectionFilter (const osg::ref_ptr< ConnectionFilter > &connectionFilter)
void registerConfigurationPropertyExport (const osg::ref_ptr< ConfigurationPropertyExport > &export)
const osg::ref_ptr< ConfigurationPropertyExport > & getConfigurationPropertyExport (const std::string &exportName)
bool containsConfigurationPropertyExport (const std::string &exportName)
const std::vector< osg::ref_ptr<
ConfigurationPropertyExport > > & 
getConfigurationPropertyExports ()
const osg::ref_ptr< ConnectionFilter > & getConnectionFilter (const std::string &connectionFilterName) const
void addComponentLibrary (const std::string &filename, bool baseLibrary=true, amire::persistence::DependencyHandler *handler=NULL)
bool containsComponentLibrary (const std::string &filename) const
void removeComponentLibrary (const std::string &filename)
const std::vector< std::string > & getComponentLibraryList ()
const ComponentMap & getProtoTypes () const
const osg::ref_ptr< const
ComponentState > & 
getState (const std::string &name) const
bool isStateRegistered (const std::string &name) const
amire::property::PropertyTypeManagergetPropertyTypeManager () const
osg::ref_ptr< const amire::common::CategorygetRootCategory () const
void setReinitializeRequest (bool reinitialize=true)
bool isReinitializeRequested ()
const std::vector< osg::ref_ptr<
const ComposedComponent > > & 
getLocalComposedComponentPrototypes () const

Static Public Member Functions

ComponentManager * getDefaultComponentManager ()

Detailed Description

An instance of the class ComponentManager holds the whole application which consists of components and connections. Therefore the component manager requires his own property type manager, which implies a set of property types that are defined for the application. A set of component prototypes have to be provided to the component manager and a set of states that are also managed by the component manager. This set of states enables the comparison of states by comparing the references.

Constructor & Destructor Documentation

amire::component::ComponentManager::ComponentManager  ) 

This constructor creates a new component manager with its own property type manager.

amire::component::ComponentManager::ComponentManager amire::property::PropertyTypeManager propertyTypeManager  ) 

This constructor creates a new component manager with the given property type manager.

virtual amire::component::ComponentManager::~ComponentManager  )  [virtual]

Member Function Documentation

void amire::component::ComponentManager::addComponentLibrary const std::string &  filename,
bool  baseLibrary = true,
amire::persistence::DependencyHandler handler = NULL

Loads and adds the given library. The first kind of a valid library would be a dynamically linked library which contains the function amire::registerComponents(ComponentManager*) or registerAMIREComponents(ComponentManager*). The second one would be a AMIRE library file. WARNING: the interface of this method is not stable yet. If you use this method directly, be aware of a changed interface!

bool amire::component::ComponentManager::containsComponentLibrary const std::string &  filename  )  const

Returns true if the specified component library is already loaded. Otherwise, false is returned.

bool amire::component::ComponentManager::containsConfigurationPropertyExport const std::string &  exportName  ) 

Returns true is a configuration property export mechanism for the specified export name is registered.

const std::vector<std::string>& amire::component::ComponentManager::getComponentLibraryList  ) 

Returns a list of all loaded libraries.

virtual osg::ref_ptr<const Component> amire::component::ComponentManager::getComponentPrototype const std::string &  name  )  [virtual]

Returns the component prototype for the specified component prototype name. An exception is thrown when the component prototype name is not defined.

Implements amire::component::ComponentContext.

const osg::ref_ptr<ConfigurationPropertyExport>& amire::component::ComponentManager::getConfigurationPropertyExport const std::string &  exportName  ) 

Returns the configuration property export mechanism for the specified export name. An exception is thrown when the export name is not defined.

const std::vector<osg::ref_ptr<ConfigurationPropertyExport> >& amire::component::ComponentManager::getConfigurationPropertyExports  ) 

Returns the list of available configuration property export mechanisms.

const osg::ref_ptr<ConnectionFilter>& amire::component::ComponentManager::getConnectionFilter const std::string &  connectionFilterName  )  const

Returns the connection filter with the given name. An exception is thrown, when the connection filter name is unknwon for this component manager.

ComponentManager* amire::component::ComponentManager::getDefaultComponentManager  )  [static]

The method returns the default component manager of the C++ runtime.

const std::vector<osg::ref_ptr<const ComposedComponent> >& amire::component::ComponentManager::getLocalComposedComponentPrototypes  )  const

Returns all local prototypes. A prototype is local, when it is not part of an external library.

amire::property::PropertyTypeManager* amire::component::ComponentManager::getPropertyTypeManager  )  const

Returns the property type manager of this component manager, which must be used to extend the set of available property types.

const ComponentMap& amire::component::ComponentManager::getProtoTypes  )  const

The getProtoTypes method returns the registered component prototypes.

osg::ref_ptr<const amire::common::Category> amire::component::ComponentManager::getRootCategory  )  const

Returns the root category of all available component prototypes.

const osg::ref_ptr<const ComponentState>& amire::component::ComponentManager::getState const std::string &  name  )  const

Returns the state with the given name. An assert exception is thrown when the no state is registered for the given name.

bool amire::component::ComponentManager::isReinitializeRequested  ) 

Returns true when a reinitialization of the MREngine is requested.

bool amire::component::ComponentManager::isStateRegistered const std::string &  name  )  const

Returns true if the specified state is registered at the component manager.

void amire::component::ComponentManager::registerComponentPrototype const osg::ref_ptr< Component > &  component  ) 

Registers the given prototype at this component manager. An exception is thrown when the given prototype is null or a prototype with the same name is already registered at this component manager.

void amire::component::ComponentManager::registerConfigurationPropertyExport const osg::ref_ptr< ConfigurationPropertyExport > &  export  ) 

Registers a configuration property export mechanism at the component manager. This export mechanism implements a strategy to export the configuration properties of component instances from a composed component. The registration is initialized by the dynamically linked component library.

void amire::component::ComponentManager::registerConnectionFilter const osg::ref_ptr< ConnectionFilter > &  connectionFilter  ) 

Registers the given filter at this component manager. An exception is thrown when the given filter is null or a filter with the same name is already registered at this component manager.

void amire::component::ComponentManager::registerState const osg::ref_ptr< const ComponentState > &  state  ) 

Registers the given state at this component manager. An exception is thrown when the given state is null or a state with the same name is already registered at this component manager.

void amire::component::ComponentManager::removeComponentLibrary const std::string &  filename  ) 

Unloads the given component library.

void amire::component::ComponentManager::setReinitializeRequest bool  reinitialize = true  ) 

Forces a reinitialization of the MREngine, when it is set to true.

Friends And Related Function Documentation

friend class Component [friend]

Reimplemented from amire::component::ComponentContext.

The documentation for this class was generated from the following file:
Generated on Tue May 20 17:23:56 2003 for AMIRE-Framework by doxygen1.3