Murl::Graph::IFactoryRegistry Interface Referenceabstract

The registry interface for managing individual graph node classes. More...

#include "murl_graph_i_factory_registry.h"

Inheritance diagram for Murl::Graph::IFactoryRegistry:

Public Member Functions

virtual Bool RegisterNodeClass (const INode::ClassInfo &classInfo)=0
 Register a node class. More...
 
virtual Bool UnregisterNodeClass (const INode::ClassInfo &classInfo)=0
 Unregister a node class. More...
 
virtual SInt32 GetRegisteredNodeClassInfoIndex (const INode::ClassInfo &classInfo) const =0
 Get the index of a registered node class, by its class info structure. More...
 
virtual SInt32 GetRegisteredNodeClassInfoIndex (const String &className) const =0
 Get the index of a registered node class, by its class name. More...
 
virtual UInt32 GetNumberOfRegisteredNodeClassInfos () const =0
 Get the total number of registered node classes. More...
 
virtual const INode::ClassInfo * GetRegisteredNodeClassInfo (UInt32 index) const =0
 Get the class info structure of a registered node class at a given index. More...
 
virtual Bool RegisterControllerClass (const IController::ClassInfo &classInfo)=0
 Register a controller class. More...
 
virtual Bool UnregisterControllerClass (const IController::ClassInfo &classInfo)=0
 Unregister a controller class. More...
 
virtual SInt32 GetRegisteredControllerClassInfoIndex (const IController::ClassInfo &classInfo) const =0
 Get the index of a registered controller class, by its class info structure. More...
 
virtual SInt32 GetRegisteredControllerClassInfoIndex (const String &className) const =0
 Get the index of a registered controller class, by its class name. More...
 
virtual UInt32 GetNumberOfRegisteredControllerClassInfos () const =0
 Get the total number of registered controller classes. More...
 
virtual const IController::ClassInfo * GetRegisteredControllerClassInfo (UInt32 index) const =0
 Get the class info structure of a registered controller class at a given index. More...
 

Detailed Description

The registry interface for managing individual graph node classes.

The IFactoryRegistry interface provides methods to add, remove and query different graph node and controller classes. The Graph::IFactory interfaces derives from this interface, in order to be able to actually instantiate any nodes or controllers from the set of classes present in the registry.

Member Function Documentation

◆ RegisterNodeClass()

virtual Bool Murl::Graph::IFactoryRegistry::RegisterNodeClass ( const INode::ClassInfo &  classInfo)
pure virtual

Register a node class.

Parameters
classInfoThe node class' ClassInfo structure, containing a function pointer to the node's Create() method, and the human-readable class name string.
Returns
true if successful.

◆ UnregisterNodeClass()

virtual Bool Murl::Graph::IFactoryRegistry::UnregisterNodeClass ( const INode::ClassInfo &  classInfo)
pure virtual

Unregister a node class.

Parameters
classInfoThe node class' ClassInfo structure.
Returns
true if successful.

◆ GetRegisteredNodeClassInfoIndex() [1/2]

virtual SInt32 Murl::Graph::IFactoryRegistry::GetRegisteredNodeClassInfoIndex ( const INode::ClassInfo &  classInfo) const
pure virtual

Get the index of a registered node class, by its class info structure.

Parameters
classInfoThe class info structure of the node class to query.
Returns
The zero-based index of the class, or -1 if not registered.

◆ GetRegisteredNodeClassInfoIndex() [2/2]

virtual SInt32 Murl::Graph::IFactoryRegistry::GetRegisteredNodeClassInfoIndex ( const String className) const
pure virtual

Get the index of a registered node class, by its class name.

Parameters
classNameThe name of the node class to query.
Returns
The zero-based index of the class, or -1 if not registered.

◆ GetNumberOfRegisteredNodeClassInfos()

virtual UInt32 Murl::Graph::IFactoryRegistry::GetNumberOfRegisteredNodeClassInfos ( ) const
pure virtual

Get the total number of registered node classes.

Returns
The number of registered node classes.

◆ GetRegisteredNodeClassInfo()

virtual const INode::ClassInfo* Murl::Graph::IFactoryRegistry::GetRegisteredNodeClassInfo ( UInt32  index) const
pure virtual

Get the class info structure of a registered node class at a given index.

Parameters
indexThe index in the range for 0 to GetNumberOfRegisteredNodeClassInfos()-1.
Returns
A pointer to the class info, or 0 if the index is out of range.

◆ RegisterControllerClass()

virtual Bool Murl::Graph::IFactoryRegistry::RegisterControllerClass ( const IController::ClassInfo &  classInfo)
pure virtual

Register a controller class.

Parameters
classInfoThe controller class' ClassInfo structure, containing a function pointer to the controller's Create() method, and the human-readable class name string.
Returns
true if successful.

◆ UnregisterControllerClass()

virtual Bool Murl::Graph::IFactoryRegistry::UnregisterControllerClass ( const IController::ClassInfo &  classInfo)
pure virtual

Unregister a controller class.

Parameters
classInfoThe controller class' ClassInfo structure.
Returns
true if successful.

◆ GetRegisteredControllerClassInfoIndex() [1/2]

virtual SInt32 Murl::Graph::IFactoryRegistry::GetRegisteredControllerClassInfoIndex ( const IController::ClassInfo &  classInfo) const
pure virtual

Get the index of a registered controller class, by its class info structure.

Parameters
classInfoThe class info structure of the controller class to query.
Returns
The zero-based index of the class, or -1 if not registered.

◆ GetRegisteredControllerClassInfoIndex() [2/2]

virtual SInt32 Murl::Graph::IFactoryRegistry::GetRegisteredControllerClassInfoIndex ( const String className) const
pure virtual

Get the index of a registered controller class, by its class name.

Parameters
classNameThe name of the controller class to query.
Returns
The zero-based index of the class, or -1 if not registered.

◆ GetNumberOfRegisteredControllerClassInfos()

virtual UInt32 Murl::Graph::IFactoryRegistry::GetNumberOfRegisteredControllerClassInfos ( ) const
pure virtual

Get the total number of registered controller classes.

Returns
The number of registered controller classes.

◆ GetRegisteredControllerClassInfo()

virtual const IController::ClassInfo* Murl::Graph::IFactoryRegistry::GetRegisteredControllerClassInfo ( UInt32  index) const
pure virtual

Get the class info structure of a registered controller class at a given index.

Parameters
indexThe index in the range for 0 to GetNumberOfRegisteredControllerClassInfos()-1.
Returns
A pointer to the class info, or 0 if the index is out of range.

The documentation for this interface was generated from the following file:
  • murl_graph_i_factory_registry.h


Copyright © 2011-2018 Spraylight GmbH.