/// <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))); }
/// <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="ForwardInput{TDefinition,TForwardedDefinition,TMsg}(MessageInput{TDefinition,TMsg}, NodeHandle{TForwardedDefinition}, MessageInput{TForwardedDefinition,TMsg})"/>. /// </summary> public void ForwardInput <TDefinition, TForwardedDefinition, TDSLDefinition, IDSL>( DSLInput <TDefinition, TDSLDefinition, IDSL> origin, NodeHandle <TForwardedDefinition> replacedNode, DSLInput <TForwardedDefinition, TDSLDefinition, IDSL> replacement ) where TDefinition : NodeDefinition, IDSL where TForwardedDefinition : NodeDefinition, IDSL where TDSLDefinition : DSLHandler <IDSL>, new() where IDSL : class { CommonChecks <TDefinition>(replacedNode, (InputPortID)origin); GetForwardingBuffer().Add(ForwardedPort.Unchecked.Input(origin.Port, replacedNode, replacement.Port)); }