using System;
namespace PepperDash.Essentials.Core
{
///
/// Provides event arguments for routing changes, potentially including numeric or port object references.
///
public class RoutingNumericEventArgs : EventArgs
{
///
/// The numeric representation of the output, if applicable.
///
public uint? Output { get; set; }
///
/// The numeric representation of the input, if applicable.
///
public uint? Input { get; set; }
///
/// The type of signal involved in the routing change.
///
public eRoutingSignalType SigType { get; set; }
///
/// The input port involved in the routing change, if applicable.
///
public RoutingInputPort InputPort { get; set; }
///
/// The output port involved in the routing change, if applicable.
///
public RoutingOutputPort OutputPort { get; set; }
///
/// Initializes a new instance of the class using numeric identifiers.
///
/// The numeric output identifier.
/// The numeric input identifier.
/// The signal type.
public RoutingNumericEventArgs(uint output, uint input, eRoutingSignalType sigType) : this(output, input, null, null, sigType)
{
}
///
/// Initializes a new instance of the class using port objects.
///
/// The output port object.
/// The input port object.
/// The signal type.
public RoutingNumericEventArgs(RoutingOutputPort outputPort, RoutingInputPort inputPort,
eRoutingSignalType sigType)
: this(null, null, outputPort, inputPort, sigType)
{
}
///
/// Initializes a new instance of the class with default values.
///
public RoutingNumericEventArgs()
: this(null, null, null, null, 0)
{
}
///
/// Initializes a new instance of the class with potentially mixed identifiers.
///
/// The numeric output identifier (optional).
/// The numeric input identifier (optional).
/// The output port object (optional).
/// The input port object (optional).
/// The signal type.
public RoutingNumericEventArgs(uint? output, uint? input, RoutingOutputPort outputPort,
RoutingInputPort inputPort, eRoutingSignalType sigType)
{
OutputPort = outputPort;
InputPort = inputPort;
Output = output;
Input = input;
SigType = sigType;
}
}
}