diff --git a/src/PepperDash.Essentials.Core/Room/Interfaces.cs b/src/PepperDash.Essentials.Core/Room/Interfaces.cs index e4f93802..190abeec 100644 --- a/src/PepperDash.Essentials.Core/Room/Interfaces.cs +++ b/src/PepperDash.Essentials.Core/Room/Interfaces.cs @@ -22,7 +22,7 @@ namespace PepperDash.Essentials.Core /// public interface IHasDefaultDisplay { - IRoutingSinkWithSwitching DefaultDisplay { get; } + IRoutingSink DefaultDisplay { get; } } /// @@ -30,7 +30,7 @@ namespace PepperDash.Essentials.Core /// public interface IHasMultipleDisplays { - Dictionary Displays { get; } + Dictionary Displays { get; } } /// diff --git a/src/PepperDash.Essentials.Devices.Common/SoftCodec/GenericSoftCodec.cs b/src/PepperDash.Essentials.Devices.Common/SoftCodec/GenericSoftCodec.cs index 4c45a929..a4155692 100644 --- a/src/PepperDash.Essentials.Devices.Common/SoftCodec/GenericSoftCodec.cs +++ b/src/PepperDash.Essentials.Devices.Common/SoftCodec/GenericSoftCodec.cs @@ -11,7 +11,7 @@ using System.Threading.Tasks; namespace PepperDash.Essentials.Devices.Common.SoftCodec { - public class GenericSoftCodec : EssentialsDevice, IRoutingInputsOutputs + public class GenericSoftCodec : EssentialsDevice, IRoutingSource, IRoutingSink { public GenericSoftCodec(string key, string name, GenericSoftCodecProperties props) : base(key, name) { @@ -48,6 +48,32 @@ namespace PepperDash.Essentials.Devices.Common.SoftCodec public RoutingPortCollection InputPorts { get; private set; } public RoutingPortCollection OutputPorts { get; private set; } + public string CurrentSourceInfoKey { get ; set; } + public SourceListItem CurrentSourceInfo + { + get + { + return _CurrentSourceInfo; + } + set + { + if (value == _CurrentSourceInfo) return; + + var handler = CurrentSourceChange; + + if (handler != null) + handler(_CurrentSourceInfo, ChangeType.WillChange); + + _CurrentSourceInfo = value; + + if (handler != null) + handler(_CurrentSourceInfo, ChangeType.DidChange); + } + } + + SourceListItem _CurrentSourceInfo; + + public event SourceInfoChangeHandler CurrentSourceChange; } public class GenericSoftCodecProperties