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 /// Describes a device that has selectable surround sound modes
/// </summary> /// </summary>
/// <typeparam name="TKey">the type to use as the key for each input item. Most likely an enum or string</typeparam> /// <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; } 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> public class MockDisplayInputs : ISelectableItems<string>
{ {
private Dictionary<string, ISelectableItem> _inputs; private Dictionary<string, ISelectableItem> _items;
public Dictionary<string, ISelectableItem> Items public Dictionary<string, ISelectableItem> Items
{ {
get get
{ {
return _inputs; return _items;
} }
set set
{ {
if (_inputs == value) if (_items == value)
return; return;
_inputs = value; _items = value;
ItemsUpdated?.Invoke(this, null); ItemsUpdated?.Invoke(this, null);
} }