/// <summary> /// See <see cref="Connect(NodeHandle, OutputPortID, NodeHandle, InputPortID, ConnectionType)"/> /// </summary> public void Connect <TDSLHandler, TDSL, TSource, TDestination>( NodeHandle <TSource> sourceHandle, DSLOutput <TSource, TDSLHandler, TDSL> sourcePort, NodeHandle <TDestination> destHandle, DSLInput <TDestination, TDSLHandler, TDSL> destPort ) where TSource : NodeDefinition, TDSL where TDestination : NodeDefinition, TDSL where TDSLHandler : DSLHandler <TDSL>, new() where TDSL : class { Connect((PortDescription.Category.DomainSpecific, typeof(TDSLHandler), ConnectionType.Normal), new OutputPair(this, sourceHandle, sourcePort.Port), new InputPair(this, destHandle, new InputPortArrayID(destPort.Port))); }
/// <summary> /// See <see cref="Disconnect(NodeHandle, OutputPortID, NodeHandle, InputPortID)"/> /// </summary> public void Disconnect <TDSLHandler, TDSL, TSource, TDestination>( NodeHandle <TSource> sourceHandle, DSLOutput <TSource, TDSLHandler, TDSL> sourcePort, NodeHandle <TDestination> destHandle, DSLInput <TDestination, TDSLHandler, TDSL> destPort ) where TSource : NodeDefinition, TDSL where TDestination : NodeDefinition, TDSL where TDSLHandler : DSLHandler <TDSL>, new() where TDSL : class { Disconnect(new OutputPair(this, sourceHandle, sourcePort.Port), new InputPair(this, destHandle, new InputPortArrayID(destPort.Port))); }
public void Disconnect <TTask, TDSLHandler, TDSL, TSource, TDestination>( NodeHandle <TSource> sourceHandle, DSLOutput <TSource, TDSLHandler, TDSL> sourcePort, NodeInterfaceLink <TTask, TDestination> destHandle ) where TSource : NodeDefinition, TDSL where TDestination : NodeDefinition, TDSL, TTask, new() where TDSLHandler : DSLHandler <TDSL>, new() where TDSL : class where TTask : ITaskPort <TTask> { Disconnect(sourceHandle, sourcePort.Port, destHandle, GetDefinition(destHandle.TypedHandle).GetPort(destHandle)); }
/// <summary> /// See <see cref="ForwardOutput{TDefinition,TForwardedDefinition,TMsg}(MessageOutput{TDefinition,TMsg}, NodeHandle{TForwardedDefinition}, MessageOutput{TForwardedDefinition,TMsg})"/>. /// </summary> public void ForwardOutput <TDefinition, TForwardedDefinition, TDSLDefinition, IDSL>( DSLOutput <TDefinition, TDSLDefinition, IDSL> origin, NodeHandle <TForwardedDefinition> replacedNode, DSLOutput <TForwardedDefinition, TDSLDefinition, IDSL> replacement ) where TDefinition : NodeDefinition, IDSL where TForwardedDefinition : NodeDefinition, IDSL where TDSLDefinition : DSLHandler <IDSL>, new() where IDSL : class { CommonChecks <TDefinition>(replacedNode, (OutputPortID)origin); GetForwardingBuffer().Add(ForwardedPort.Unchecked.Output(origin.Port, replacedNode, replacement.Port)); }