# IRsConnector Interface Reference

Inherits IRsObject.

List of all members.

## Public Member Functions
HRESULT | Initialize ([in] IRsConDescriptor *pConDesc)
HRESULT | Destroy (void)
HRESULT | Clone ([out, retval] IRsConnector **ppCon)
HRESULT | ConnectTo (IRsConnector *pRemCon)
HRESULT | Disconnect (IRsConnector *pRemCon)
HRESULT | ConnectionsCount ([out, retval] RtUlong *numCon)
HRESULT | GetConnections (SAFEARRAY **ppCon)
HRESULT | GetOutputConnection ([in] RtUlong index,[out, retval] IRsConnector **ppCon)
HRESULT | GetInputConnection ([in] RtUlong index,[out, retval] IRsConnector **ppCon)
HRESULT | EnumInputConnections ([out] IRsEnumCon **ppInputCon)
HRESULT | EnumOutputConnections ([out] IRsEnumCon **ppOutputCon)
HRESULT | InputConnectionsCount ([out] RtUlong *numCon)
HRESULT | OutputConnectionsCount ([out] RtUlong *pNumCon)
HRESULT | DisconnectAll (void)
HRESULT | RegisterInConnector (IRsConnector *pCon)
HRESULT | RegisterOutConnector (IRsConnector *pRemCon)
HRESULT | UnregisterConnection (IRsConnector *pRemCon)
HRESULT | PropagateEventToOut (VARIANT vData)
HRESULT | PropagateEventToIn (VARIANT vData)
HRESULT | RemoteGetValue (VARIANT *pvData)
HRESULT | Invalidate (void)
HRESULT | GetConId ([in, out] CONID *pConId)
HRESULT | GetNode ([out, retval] IRsNode **pNode)
HRESULT | GetValidateStatus ([out, retval] RtConValidStatus *status)
HRESULT | GetDescriptor ([out, retval] IRsConDescriptor **pConDesc)
HRESULT | GetLocRntId ([out, retval] RtLocRntId *plocRntId)
HRESULT | SetValidateStatus ([in] RtConValidStatus status)
HRESULT | AssignOwnerNode ([in] IRsNode *pParent,[in] CONID Con_Id)
HRESULT | AddDependency ([in] IRsConnector *pCon)
HRESULT | RemoveDependency ([in] IRsConnector *pCon)
HRESULT | EnumDependencies ([out, retval] IRsEnumCon **ppDependCon)
HRESULT | GetFullName ([in] IRsNode *pRootNode,[out, retval] BSTR *pVal)
HRESULT | IsEndConnector ([out] RtBool *pVal)
HRESULT | GetInvalidationStamp ([out, retval] RtDWORD *pdwInvTimeStamp)
HRESULT | RestoreLocalReferences (void)
HRESULT | ConnectionExists (IRsConnector *pRemCon)
## Properties
BSTR * | Name`[get]`
BSTR | Name`[set]`
RtFlags * | Flags`[get]`
RtFlags | Flags`[set]`

## Detailed Description

Node connector representation.
Implements methods for manipulation with connections and connecting to other connectors.

## Member Function Documentation

HRESULT IRsConnector::Initialize | ( | [in] IRsConDescriptor * | pConDesc | ) |

Initializes connector based on descriptor object.

Parameters:

  | pConDesc | [in] interface to connector descriptor .

HRESULT IRsConnector::Destroy | ( | void |  | ) |

Destroys connector and releases all asigned resources. All connections are removed including internal dependencies.

HRESULT IRsConnector::Clone | ( | [out, retval] IRsConnector ** | ppCon | ) |

Creates a copy of connector. Only name, id, flags and descriptor are cloned.

Returns:
  ppCon [out,retval] new instance of connector.

HRESULT IRsConnector::ConnectTo | ( | IRsConnector * | pRemCon | ) |

Creates link beween connectors of different nodes. New connection has a direction from this connector (source) to connector specified in parameter (destination). Connection is outgoing from this connector and incoming to connector specified as parameter.

HRESULT IRsConnector::Disconnect | ( | IRsConnector * | pRemCon | ) |

Removes a link between two connectors.
Assumes that connection is directed from this connector to connector specified as parameter.

HRESULT IRsConnector::ConnectionsCount | ( | [out, retval] RtUlong * | numCon | ) |

Returns number of all connections.

Returns:
  numCon [out,retval].

HRESULT IRsConnector::GetConnections | ( | SAFEARRAY ** | ppCon | ) |

Returns all connections represented as remote connectors in array.

HRESULT IRsConnector::GetOutputConnection | ( | [in] RtUlong | index,
|  | [out, retval] IRsConnector ** | ppCon |
| ) |  |  |

Gets output connection with specified index.

Parameters:

  | index | [in] index to output connection list. .

Returns:
  ppCon [out,retval] remote connector representing connection .

HRESULT IRsConnector::GetInputConnection | ( | [in] RtUlong | index,
|  | [out, retval] IRsConnector ** | ppCon |
| ) |  |  |

Gets input connection with specified index. A connection is represented as a pair of source and remote connectors

Parameters:

  | index | [in] index to input connection list.

Returns:
  ppCon [out,retval] remote connector representing connection.

HRESULT IRsConnector::EnumInputConnections | ( | [out] IRsEnumCon ** | ppInputCon | ) |

Gets enumerator of input connections. A connection is represented as a pair of source and remote connectors

Parameters:

  | ppInputCon | [out] interface to enumerator .

HRESULT IRsConnector::EnumOutputConnections | ( | [out] IRsEnumCon ** | ppOutputCon | ) |

Gets enumerator of output connections.

Parameters:

  | ppOutputCon | [out] internace to enumerator.

HRESULT IRsConnector::InputConnectionsCount | ( | [out] RtUlong * | numCon | ) |

Counts input connections.

Parameters:

  | numCon | [out] number of input connections .

HRESULT IRsConnector::OutputConnectionsCount | ( | [out] RtUlong * | pNumCon | ) |

Counts output connections.

Parameters:

  | pNumCon | [out] number of output connections .

HRESULT IRsConnector::DisconnectAll | ( | void |  | ) |

Disconnect all connections.

HRESULT IRsConnector::RegisterInConnector | ( | IRsConnector * | pCon | ) |

Adds connector to the list of registered input connectors. Used internally.

HRESULT IRsConnector::RegisterOutConnector | ( | IRsConnector * | pRemCon | ) |

Adds connector to the list of registered output connectors. Used internally.

HRESULT IRsConnector::UnregisterConnection | ( | IRsConnector * | pRemCon | ) |

Removes registered pair of connectors from the connector list. Used internally.

HRESULT IRsConnector::PropagateEventToOut | ( | VARIANT | vData | ) |

Propagates the event through output connections to opposite connectors. Used internally.

HRESULT IRsConnector::PropagateEventToIn | ( | VARIANT | vData | ) |

Propagates the event through input connections in reverse direction. Used internally.

HRESULT IRsConnector::RemoteGetValue | ( | VARIANT * | pvData | ) |

Gets value of connector at remote side of connector. Used internally.

HRESULT IRsConnector::Invalidate | ( | void |  | ) |

Invalidates connector. Sets invalidation status of connector to CON_INVALID and propagates invalidation to connected and depended connectors.

HRESULT IRsConnector::GetConId | ( | [in, out] CONID * | pConId | ) |

Returns connector guid.

Parameters:

  | pConId | [in,out] unique identification of connector.

HRESULT IRsConnector::GetNode | ( | [out, retval] IRsNode ** | pNode | ) |

Returns:
  pNode [out,retval] Returns node which owns this connector.

HRESULT IRsConnector::GetValidateStatus | ( | [out, retval] RtConValidStatus * | status | ) |

Returns:
  status [out,retval] Gets connector validation status.

HRESULT IRsConnector::GetDescriptor | ( | [out, retval] IRsConDescriptor ** | pConDesc | ) |

Returns:
  pConDesc [out,retval] Gets connector descriptor.

HRESULT IRsConnector::GetLocRntId | ( | [out, retval] RtLocRntId * | plocRntId | ) |

Returns:
  plocRntId [out,retval] Gets local runtime ID of connector.

HRESULT IRsConnector::SetValidateStatus | ( | [in] RtConValidStatus | status | ) |

Parameters:

  | status | [in] Sets validation status of connector.

HRESULT IRsConnector::AssignOwnerNode | ( | [in] IRsNode * | pParent,
|  | [in] CONID | Con_Id |
| ) |  |  |

Assigns owner node during initialization. Used internally.

Parameters:

  | pParent | [in] owner node.
  | Con_Id | [in] unique identification of connector.

HRESULT IRsConnector::AddDependency | ( | [in] IRsConnector * | pCon | ) |

Adds new dependency between two connectors. Internal dependency is an oriented relationship between two connectors of the same node.

Parameters:

  | pCon | [in] Specified connector in parameter becomes depended on this connector.

HRESULT IRsConnector::RemoveDependency | ( | [in] IRsConnector * | pCon | ) |

Parameters:

  | pCon | [in] Removes internal dependency between connectors.

HRESULT IRsConnector::EnumDependencies | ( | [out, retval] IRsEnumCon ** | ppDependCon | ) |

Returns:
  ppDependCon [out,retval] Returns enumerator of internal connector dependences.

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

Assembles the full name of the Connector:
(i.e. "Kernel/Space 3D/Sphere, 1/Radius" for pRootNode = NULL).

Parameters:

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

Returns:
  pVal [out,retval] Returned pointer to 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 IRsConnector::IsEndConnector | ( | [out] RtBool * | pVal | ) |

Returns true if connector is end connector. It means the one of following is true:

- Connector is input or exported connector and it doesn't have any outer dependencies (connections to other nodes).
- Connector is output and it doesn't have any internal dependencies.

Parameters:

  | pVal | [out] returns true of connector is end connector, otherwise false.

HRESULT IRsConnector::GetInvalidationStamp | ( | [out, retval] RtDWORD * | pdwInvTimeStamp | ) |

Returns Invalidation stamp. This value can be only used to detect whether the connector was invalidated or not.

Returns:
  pdwInvTimeStamp [out,retval] stamp of last connector invalidation, if it is different than previously stored stamp, the connector was invalidated.

HRESULT IRsConnector::RestoreLocalReferences | ( | void |  | ) |

Restore local dependencies. Obsolete.

HRESULT IRsConnector::ConnectionExists | ( | IRsConnector * | pRemCon | ) |

Detects if there is a connction between connectors ( if connector is linked with other connector)

Parameters:

  | pRemCon | remote connector.

Returns:
  S_OK if there is a connection between connectors.

  S_FALSE if there is not any connection between connectors.

  error_code.

## Property Documentation

BSTR* IRsConnector::Name`[get]`

Returns:
  pVal [out,retval] sets new connector name.

BSTR IRsConnector::Name`[set]`

Parameters:

  | newVal | [in] returns connector name.

RtFlags* IRsConnector::Flags`[get]`

Returns:
  pVal [out,retval] return connector flags.

RtFlags IRsConnector::Flags`[set]`

Parameters:

  | newVal | [in] Sets new connector flags.