# IRsNode Interface Reference

Inherits IUnknown.

Inherited by IRsBaseNode.

List of all members.

## Public Member Functions
HRESULT | GetValue ([in] CONID con_id,[out, retval] VARIANT *pVtData)
HRESULT | SetValue ([in] CONID con_id,[in] VARIANT vtData)
HRESULT | Invalidate ([in] CONID con_id)
HRESULT | Initialize (void)
HRESULT | LoadDefault (void)
HRESULT | Destroy (void)
HRESULT | GetDefaultValue ([in] CONID con_id,[out, retval] VARIANT *pVtData)
HRESULT | GetDataStatus ([in] CONID con_id,[out, retval] RtDataStatus *pDataStatus)
HRESULT | GetFullName ([in] IRsNode *pRootNode,[out, retval] BSTR *pVal)
HRESULT | NameRegistered ([in] RtBOOL bRegistered)
HRESULT | GetOwner ([out, retval] IRsNode **ppRemNode)
HRESULT | GetLocRntId ([out] RtLocRntId *plocRntId)
## Properties
BSTR * | Name`[get]`
BSTR | Name`[set]`

## Detailed Description

Interface which must be implemented by every node registered in system.
Contains basic functionality for:

- handling connector values.
- initialization and destruction.

See also:
  also IRsBaseNode interface where all other functionality is contained.

## Member Function Documentation

HRESULT IRsNode::GetValue | ( | [in] CONID | con_id,
|  | [out, retval] VARIANT * | pVtData |
| ) |  |  |

Gets the value of specified connector.

Parameters:

  | con_id | [in] GUID of connector.

Returns:
  pVtData [out,retval] Pointer to variant which will be filled with connector data.

HRESULT IRsNode::SetValue | ( | [in] CONID | con_id,
|  | [in] VARIANT | vtData |
| ) |  |  |

Sets the value of specified connector.
Setting value to connector automatically invalidates all dependent connectors.

Parameters:

  | con_id | [in] GUID of connector.
  | vtData | [in] Data to put in connector.

HRESULT IRsNode::Invalidate | ( | [in] CONID | con_id | ) |

Invalidates connector with specified GUID.

Parameters:

  | con_id | [in] GUID of connector to invalidate.

HRESULT IRsNode::Initialize | ( | void |  | ) |

Initializes node. Called only when node is created (not deserialized from stream).

HRESULT IRsNode::LoadDefault | ( | void |  | ) |

Creates connectors for node and sets up their default values where appropriate.

HRESULT IRsNode::Destroy | ( | void |  | ) |

Destroys internal node structures and connectors, frees connector data.

HRESULT IRsNode::GetDefaultValue | ( | [in] CONID | con_id,
|  | [out, retval] VARIANT * | pVtData |
| ) |  |  |

Returns default value for specified connector.

Parameters:

  | con_id | [in] GUID of connector for which default value is retrieved.

Returns:
  pVtData [out,retval] Pointer to variant to which default value data will be filled.

HRESULT IRsNode::GetDataStatus | ( | [in] CONID | con_id,
|  | [out, retval] RtDataStatus * | pDataStatus |
| ) |  |  |

Gets data validation status for specified connector.

Parameters:

  | con_id | [in] GUID of connector.

Returns:
  pDataStatus [out,retval] Status of connector.

HRESULT IRsNode::GetFullName | ( | [in] IRsNode * | pRootNode,
|  | [out, retval] BSTR * | pVal |
| ) |  |  |

Assemble the full name of the Node (i.e. "Kernel/Space 3D/Sphere, 1" or pRootNode = NULL).

Parameters:

  | pRootNode | [in] Root Node. If NULL the top Node is taken as the root.

Returns:
  pVal [out, retval] Returned the full name BSTR.

  S_OK - if the root node is found and the full name properly assembled.

  S_FALSE - if the full name is properly assembled,
  but the root node is not found (equivalent to pRootNode == NULL).

  error_code.

HRESULT IRsNode::NameRegistered | ( | [in] RtBOOL | bRegistered | ) |

Sets the registration status of object's name.
If the name is registered, the registration will be automatically updated when object's name changes.

Parameters:

  | bRegistered | [in] Desired registration state.

HRESULT IRsNode::GetOwner | ( | [out, retval] IRsNode ** | ppRemNode | ) |

Returns the current node owner, null if node is orphaned.

Returns:
  ppRemNode [out,retval] Owner node.

HRESULT IRsNode::GetLocRntId | ( | [out] RtLocRntId * | plocRntId | ) |

Returns runtime id of node

Parameters:

  | plocRntId | [out] Pointer to local runtime id to fill.

## Property Documentation

BSTR* IRsNode::Name`[get]`

Retriever for Name property of node.

Returns:
  pVal [out, retval] pointer to BSTR containing the name of node.

BSTR IRsNode::Name`[set]`

Setter for Name property of node.

Parameters:

  | newVal | [in] BSTR containing new node name.