omni::graph::core::IGraphRegistry

Defined in omni/graph/core/IGraphRegistry.h

struct IGraphRegistry

Interface that manages the registration and deregistration of node types.

Public Members

size_t (*getRegisteredTypesCount)()

Returns the number of registered node types in the graph.

This includes C++ types only.

Return

The number of node type objects.

bool (*getRegisteredTypes)(NodeTypeObj *typesBuf, size_t bufferSize)

Gets the list of the registered types in the graph.

This includes C++ types only.

Param typesBuf

[out] Buffer to hold the return array of node type objects

Param bufferSize

[in] The number of NodeTypeObj structures the buffer is able to hold

Return

true on success, false on failure.

int (*getNodeTypeVersion)(const char *nodeType)

Gets the version of the registered node type.

This includes both C++ and Python types.

Param nodeType

[in] The name of the node type in question.

Return

The version number of the currently registered type. If the type is not found returns the default version number, which is 0.

void (*registerNodeType)(const INodeType &desc, int version)

Registers a node type as defined above with the system Deprecated.

Use registerNodeTypeInterface instead.

Param desc

[in] Reference to the node type interface (the underlying object is not yet available here).

Param version

[in] Version of the node interface to be registered.

void (*unregisterNodeType)(const char *nodeType)

Unregisters a node type interface as defined above with the system.

Param nodeType

[in] Name of the node type to be unregistered.

void (*registerNodeTypeAlias)(const INodeType &desc, const char *alias)

Registers an alias by which a node type can be referred to.

Useful for backward compatibility in files.

Param desc

[in] Reference to the node type interface.

Param alias

[in] Alternate name that can be used to refer to the node type when creating.

bool (*inspect)(inspect::IInspector *inspector)

Runs the inspector on the contents of the graph registry.

Param inspector

[in] The inspector class.

Return

true if the inspection ran successfully, false if the inspection type is not supported.

NodeTypeObj (*getRegisteredType)(const char *nodeTypeName)

Gets the node type information corresponding to the node type name.

This includes aliases.

Param nodeTypeName

[in] the name of the node type one wishes to acquire

Return

The node type object corresponding to the inputted name if such a node type has been registered, an empty/invalid node type object if no such name has been registered.

carb::events::IEventStreamPtr (*getEventStream)()

Returns the interface for the event stream for the changes on the graph registry.

The events that are raised are specified by IGraphRegistryEvent.

Return

The event stream interface that pumps events.

void (*registerNodeTypeInterface)(const INodeType &desc, int version, size_t nodeTypeStructSize)

Registers a node type as defined above with the system.

Param desc

[in] Reference to the node type interface (the underlying object is not yet available here)

Param version

[in] Version of the node interface to be registered

Param nodeTypeStructSize

[in] The size of the INodeType struct being passed. Use sizeof(INodeType).