Merge pull request #1179 from PepperDash/feature-2.0.0/soft-codec-routing

Update interfaces for Generic Soft Codec device
This commit is contained in:
Neil Dorin 2024-04-12 10:31:03 -06:00 committed by GitHub
commit 5fad706cd8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 29 additions and 3 deletions

View file

@ -22,7 +22,7 @@ namespace PepperDash.Essentials.Core
/// </summary>
public interface IHasDefaultDisplay
{
IRoutingSinkWithSwitching DefaultDisplay { get; }
IRoutingSink DefaultDisplay { get; }
}
/// <summary>
@ -30,7 +30,7 @@ namespace PepperDash.Essentials.Core
/// </summary>
public interface IHasMultipleDisplays
{
Dictionary<eSourceListItemDestinationTypes, IRoutingSinkWithSwitching> Displays { get; }
Dictionary<eSourceListItemDestinationTypes, IRoutingSink> Displays { get; }
}
/// <summary>

View file

@ -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<RoutingInputPort> InputPorts { get; private set; }
public RoutingPortCollection<RoutingOutputPort> 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