diff options
Diffstat (limited to 'Software/Visual_Studio/SideChains/RealTimeGraphX/IGraphOutputComponent.cs')
| -rw-r--r-- | Software/Visual_Studio/SideChains/RealTimeGraphX/IGraphOutputComponent.cs | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/Software/Visual_Studio/SideChains/RealTimeGraphX/IGraphOutputComponent.cs b/Software/Visual_Studio/SideChains/RealTimeGraphX/IGraphOutputComponent.cs new file mode 100644 index 000000000..4835dcaf1 --- /dev/null +++ b/Software/Visual_Studio/SideChains/RealTimeGraphX/IGraphOutputComponent.cs @@ -0,0 +1,40 @@ +using RealTimeGraphX.EventArguments; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace RealTimeGraphX +{ + /// <summary> + /// Represents a graph component which passes data to some other type of component. + /// </summary> + /// <typeparam name="TOut">The type of the out.</typeparam> + /// <seealso cref="RealTimeGraphX.IGraphComponent" /> + public interface IGraphOutputComponent<TOut> : IGraphComponent where TOut : IGraphComponent + { + /// <summary> + /// Occurs when the <see cref="Output"/> property has changed. + /// </summary> + event EventHandler<OutputChangedEventArgs<TOut>> OutputChanged; + + /// <summary> + /// Gets the connected output <see cref="IGraphComponent"/>. + /// </summary> + TOut Output { get; } + + /// <summary> + /// Connects this component to another <see cref="IGraphComponent" />. + /// </summary> + /// <param name="output">The output component.</param> + /// <param name="fromOutput">Specifies whether this call was made from a <see cref="TOut"/> component.</param> + void ConnectOutput(TOut output, bool fromOutput = false); + + /// <summary> + /// Disconnects this component from the connected <see cref="Output"/> <see cref="IGraphComponent"/>. + /// </summary> + /// <param name="fromOutput">Specifies whether this call was made from a <see cref="TOut"/> component.</param> + void DisconnectOutput(bool fromOutput = false); + } +} |
