mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-04-14 04:57:15 +00:00
fix: add base classes for input/output slots for matrix routing
This commit is contained in:
parent
ee4ccb0d1a
commit
09ac964335
3 changed files with 29 additions and 4 deletions
|
|
@ -4,8 +4,8 @@ namespace PepperDash.Essentials.Core.Routing
|
||||||
{
|
{
|
||||||
public interface IMatrixRouting
|
public interface IMatrixRouting
|
||||||
{
|
{
|
||||||
Dictionary<string, IRoutingInputSlot> InputSlots { get; }
|
Dictionary<string, RoutingInputSlotBase> InputSlots { get; }
|
||||||
Dictionary<string, IRoutingOutputSlot> OutputSlots { get; }
|
Dictionary<string, RoutingOutputSlotBase> OutputSlots { get; }
|
||||||
|
|
||||||
void Route(string inputSlotKey, string outputSlotKey, eRoutingSignalType type);
|
void Route(string inputSlotKey, string outputSlotKey, eRoutingSignalType type);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,4 +10,17 @@ namespace PepperDash.Essentials.Core.Routing
|
||||||
{
|
{
|
||||||
string TxDeviceKey { get; }
|
string TxDeviceKey { get; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public abstract class RoutingInputSlotBase : IRoutingInputSlot
|
||||||
|
{
|
||||||
|
public abstract string TxDeviceKey { get; }
|
||||||
|
public abstract int SlotNumber { get; }
|
||||||
|
public abstract eRoutingSignalType SupportedSignalTypes { get; }
|
||||||
|
public abstract string Name { get; }
|
||||||
|
public abstract BoolFeedback IsOnline { get; }
|
||||||
|
public abstract bool VideoSyncDetected { get; }
|
||||||
|
public abstract string Key { get; }
|
||||||
|
|
||||||
|
public abstract event EventHandler VideoSyncChanged;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,12 +3,24 @@ using System.Collections.Generic;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Routing
|
namespace PepperDash.Essentials.Core.Routing
|
||||||
{
|
{
|
||||||
public interface IRoutingOutputSlot:IRoutingSlot
|
public interface IRoutingOutputSlot : IRoutingSlot
|
||||||
{
|
{
|
||||||
event EventHandler OutputSlotChanged;
|
event EventHandler OutputSlotChanged;
|
||||||
|
|
||||||
string RxDeviceKey { get; }
|
string RxDeviceKey { get; }
|
||||||
|
|
||||||
Dictionary<eRoutingSignalType, IRoutingInputSlot> CurrentRoutes { get; }
|
Dictionary<eRoutingSignalType, RoutingInputSlotBase> CurrentRoutes { get; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public abstract class RoutingOutputSlotBase : IRoutingOutputSlot
|
||||||
|
{
|
||||||
|
public abstract string RxDeviceKey { get; }
|
||||||
|
public abstract Dictionary<eRoutingSignalType, RoutingInputSlotBase> CurrentRoutes { get; }
|
||||||
|
public abstract int SlotNumber { get; }
|
||||||
|
public abstract eRoutingSignalType SupportedSignalTypes { get; }
|
||||||
|
public abstract string Name { get; }
|
||||||
|
public abstract string Key { get; }
|
||||||
|
|
||||||
|
public abstract event EventHandler OutputSlotChanged;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue