using PepperDash.Core;
namespace PepperDash.Essentials.Core
{
///
/// Base class for and .
///
public abstract class RoutingPort : IKeyed
{
///
/// The unique key identifying this port within its parent device.
///
public string Key { get; private set; }
///
/// The type of signal this port handles (e.g., Audio, Video, AudioVideo).
///
public eRoutingSignalType Type { get; private set; }
///
/// The physical connection type of this port (e.g., Hdmi, Rca, Dm).
///
public eRoutingPortConnectionType ConnectionType { get; private set; }
///
/// An object (often a number or string) used by the parent routing device to select this port during switching.
///
public readonly object Selector;
///
/// Indicates if this port represents an internal connection within a device (e.g., card to backplane).
///
public bool IsInternal { get; private set; }
///
/// An object used to match feedback values to this port, if applicable.
///
public object FeedbackMatchObject { get; set; }
///
/// A reference to the underlying hardware port object (e.g., SimplSharpPro Port), if applicable.
///
public object Port { get; set; }
///
/// Initializes a new instance of the class.
///
/// The unique key for this port.
/// The signal type supported by this port.
/// The physical connection type of this port.
/// The selector object for switching.
/// True if this port is internal.
public RoutingPort(string key, eRoutingSignalType type, eRoutingPortConnectionType connType, object selector, bool isInternal)
{
Key = key;
Type = type;
ConnectionType = connType;
Selector = selector;
IsInternal = isInternal;
}
}
/*public abstract class RoutingPort:IKeyed
{
public string Key { get; private set; }
public eRoutingSignalType Type { get; private set; }
public eRoutingPortConnectionType ConnectionType { get; private set; }
public readonly TSelector Selector;
public bool IsInternal { get; private set; }
public object FeedbackMatchObject { get; set; }
public object Port { get; set; }
public RoutingPort(string key, eRoutingSignalType type, eRoutingPortConnectionType connType, TSelector selector, bool isInternal)
{
Key = key;
Type = type;
ConnectionType = connType;
Selector = selector;
IsInternal = isInternal;
}
}*/
}