feat: Adds TSelector generic type to IHasSurroundSoundModes

This commit is contained in:
Neil Dorin
2024-03-14 12:26:05 -06:00
parent a2e4c2fad6
commit 0f57799382
2 changed files with 7 additions and 5 deletions

View File

@@ -11,8 +11,10 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
/// Describes a device that has selectable surround sound modes
/// </summary>
/// <typeparam name="TKey">the type to use as the key for each input item. Most likely an enum or string</typeparam>
public interface IHasSurroundSoundModes<TKey>: IKeyName
public interface IHasSurroundSoundModes<TKey, TSelector>: IKeyName
{
ISelectableItems<TKey> SurroundSoundModes { get; }
void SetSurroundSoundMode(TSelector selector);
}
}

View File

@@ -10,20 +10,20 @@ namespace PepperDash.Essentials.Devices.Common.Displays
{
public class MockDisplayInputs : ISelectableItems<string>
{
private Dictionary<string, ISelectableItem> _inputs;
private Dictionary<string, ISelectableItem> _items;
public Dictionary<string, ISelectableItem> Items
{
get
{
return _inputs;
return _items;
}
set
{
if (_inputs == value)
if (_items == value)
return;
_inputs = value;
_items = value;
ItemsUpdated?.Invoke(this, null);
}