wip: update XML comments

This commit is contained in:
Erik Meyer
2026-01-28 13:06:00 -05:00
parent 4db32e3720
commit 2b0c98444b
40 changed files with 786 additions and 61 deletions

View File

@@ -5,6 +5,10 @@ namespace PepperDash.Essentials.Core
/// </summary> /// </summary>
public interface IAudioZone : IBasicVolumeWithFeedback public interface IAudioZone : IBasicVolumeWithFeedback
{ {
/// <summary>
/// Selects the specified input
/// </summary>
/// <param name="input">The input to select</param>
void SelectInput(ushort input); void SelectInput(ushort input);
} }
} }

View File

@@ -5,10 +5,26 @@ namespace PepperDash.Essentials.Core
/// </summary> /// </summary>
public interface IBasicVolumeWithFeedback : IBasicVolumeControls public interface IBasicVolumeWithFeedback : IBasicVolumeControls
{ {
BoolFeedback MuteFeedback { get; }
/// <summary>
/// Mutes the volume
/// </summary>
void MuteOn(); void MuteOn();
/// <summary>
/// Unmutes the volume
/// </summary>
void MuteOff(); void MuteOff();
/// <summary>
/// Sets the volume to the specified level
/// </summary>
/// <param name="level">The volume level to set</param>
void SetVolume(ushort level); void SetVolume(ushort level);
/// <summary>
/// Gets the mute feedback
/// </summary>
IntFeedback VolumeLevelFeedback { get; } IntFeedback VolumeLevelFeedback { get; }
} }
} }

View File

@@ -5,8 +5,14 @@ namespace PepperDash.Essentials.Core
/// </summary> /// </summary>
public interface IBasicVolumeWithFeedbackAdvanced : IBasicVolumeWithFeedback public interface IBasicVolumeWithFeedbackAdvanced : IBasicVolumeWithFeedback
{ {
/// <summary>
/// Gets the raw volume level
/// </summary>
int RawVolumeLevel { get; } int RawVolumeLevel { get; }
/// <summary>
/// Gets the volume level units
/// </summary>
eVolumeLevelUnits Units { get; } eVolumeLevelUnits Units { get; }
} }
} }

View File

@@ -7,26 +7,56 @@ using PepperDash.Essentials.Core.SmartObjects;
namespace PepperDash.Essentials.Core namespace PepperDash.Essentials.Core
{ {
/// <summary> /// <summary>
/// /// Defines the contract for IChannel
/// </summary> /// </summary>
public interface IChannel public interface IChannel
{ {
/// <summary>
/// Channel up
/// </summary>
/// <param name="pressRelease">indicates whether this is a press or release</param>
///
void ChannelUp(bool pressRelease); void ChannelUp(bool pressRelease);
/// <summary>
/// Channel down
/// </summary>
/// <param name="pressRelease">indicates whether this is a press or release</param>
void ChannelDown(bool pressRelease); void ChannelDown(bool pressRelease);
/// <summary>
/// Last channel
/// </summary>
/// <param name="pressRelease">indicates whether this is a press or release</param>
void LastChannel(bool pressRelease); void LastChannel(bool pressRelease);
/// <summary>
/// Guide
/// </summary>
/// <param name="pressRelease">indicates whether this is a press or release</param>
///
void Guide(bool pressRelease); void Guide(bool pressRelease);
/// <summary>
/// Info
/// </summary>
/// <param name="pressRelease">indicates whether this is a press or release</param>
void Info(bool pressRelease); void Info(bool pressRelease);
/// <summary>
/// Exit
/// </summary>
/// <param name="pressRelease">indicates whether this is a press or release</param>
void Exit(bool pressRelease); void Exit(bool pressRelease);
} }
/// <summary> /// <summary>
/// /// IChannelExtensions class
/// </summary> /// </summary>
public static class IChannelExtensions public static class IChannelExtensions
{ {
/// <summary> /// <summary>
/// LinkButtons method /// LinkButtons method
/// </summary> /// </summary>
public static void LinkButtons(this IChannel dev, BasicTriList triList) public static void LinkButtons(this IChannel dev, BasicTriList triList)
{ {
triList.SetBoolSigAction(123, dev.ChannelUp); triList.SetBoolSigAction(123, dev.ChannelUp);
@@ -37,9 +67,9 @@ namespace PepperDash.Essentials.Core
triList.SetBoolSigAction(134, dev.Exit); triList.SetBoolSigAction(134, dev.Exit);
} }
/// <summary> /// <summary>
/// UnlinkButtons method /// UnlinkButtons method
/// </summary> /// </summary>
public static void UnlinkButtons(this IChannel dev, BasicTriList triList) public static void UnlinkButtons(this IChannel dev, BasicTriList triList)
{ {
triList.ClearBoolSigAction(123); triList.ClearBoolSigAction(123);

View File

@@ -7,24 +7,45 @@ using PepperDash.Essentials.Core.SmartObjects;
namespace PepperDash.Essentials.Core namespace PepperDash.Essentials.Core
{ {
/// <summary> /// <summary>
/// /// IColor interface
/// </summary> /// </summary>
public interface IColor public interface IColor
{ {
/// <summary>
/// Red button
/// </summary>
/// <param name="pressRelease">indicates whether this is a press or release</param>
void Red(bool pressRelease); void Red(bool pressRelease);
/// <summary>
/// Green button
/// </summary>
/// <param name="pressRelease">indicates whether this is a press or release</param>
void Green(bool pressRelease); void Green(bool pressRelease);
/// <summary>
/// Yellow button
/// </summary>
/// <param name="pressRelease">indicates whether this is a press or release</param>
void Yellow(bool pressRelease); void Yellow(bool pressRelease);
/// <summary>
/// Blue button
/// </summary>
/// <param name="pressRelease">indicates whether this is a press or release</param>
void Blue(bool pressRelease); void Blue(bool pressRelease);
} }
/// <summary> /// <summary>
/// /// IColorExtensions class
/// </summary> /// </summary>
public static class IColorExtensions public static class IColorExtensions
{ {
/// <summary> /// <summary>
/// LinkButtons method /// LinkButtons method
/// </summary> /// </summary>
/// <param name="dev">The IColor device</param>
/// <param name="TriList">The BasicTriList to link</param>
public static void LinkButtons(this IColor dev, BasicTriList TriList) public static void LinkButtons(this IColor dev, BasicTriList TriList)
{ {
TriList.SetBoolSigAction(155, dev.Red); TriList.SetBoolSigAction(155, dev.Red);
@@ -33,9 +54,11 @@ namespace PepperDash.Essentials.Core
TriList.SetBoolSigAction(158, dev.Blue); TriList.SetBoolSigAction(158, dev.Blue);
} }
/// <summary> /// <summary>
/// UnlinkButtons method /// UnlinkButtons method
/// </summary> /// </summary>
/// <param name="dev">The IColor device</param>
/// <param name="triList">The BasicTriList to unlink</param>
public static void UnlinkButtons(this IColor dev, BasicTriList triList) public static void UnlinkButtons(this IColor dev, BasicTriList triList)
{ {
triList.ClearBoolSigAction(155); triList.ClearBoolSigAction(155);

View File

@@ -11,23 +11,57 @@ namespace PepperDash.Essentials.Core
/// </summary> /// </summary>
public interface IDPad : IKeyed public interface IDPad : IKeyed
{ {
/// <summary>
/// Up button press
/// </summary>
/// <param name="pressRelease">determines if the button is pressed or released</param>
void Up(bool pressRelease); void Up(bool pressRelease);
/// <summary>
/// Down button press
/// </summary>
/// <param name="pressRelease">determines if the button is pressed or released</param>
void Down(bool pressRelease); void Down(bool pressRelease);
/// <summary>
/// Left button press
/// </summary>
/// <param name="pressRelease">determines if the button is pressed or released</param>
void Left(bool pressRelease); void Left(bool pressRelease);
/// <summary>
/// Right button press
/// </summary>
/// <param name="pressRelease">determines if the button is pressed or released</param>
void Right(bool pressRelease); void Right(bool pressRelease);
/// <summary>
/// Select button press
/// </summary>
/// <param name="pressRelease">determines if the button is pressed or released</param>
void Select(bool pressRelease); void Select(bool pressRelease);
/// <summary>
/// Menu button press
/// </summary>
/// <param name="pressRelease">determines if the button is pressed or released</param>
void Menu(bool pressRelease); void Menu(bool pressRelease);
/// <summary>
/// Exit button press
/// </summary>
/// <param name="pressRelease">determines if the button is pressed or released</param>
void Exit(bool pressRelease); void Exit(bool pressRelease);
} }
/// <summary> /// <summary>
/// /// IDPadExtensions class
/// </summary> /// </summary>
public static class IDPadExtensions public static class IDPadExtensions
{ {
/// <summary> /// <summary>
/// LinkButtons method /// LinkButtons method
/// </summary> /// </summary>
public static void LinkButtons(this IDPad dev, BasicTriList triList) public static void LinkButtons(this IDPad dev, BasicTriList triList)
{ {
triList.SetBoolSigAction(138, dev.Up); triList.SetBoolSigAction(138, dev.Up);
@@ -39,9 +73,9 @@ namespace PepperDash.Essentials.Core
triList.SetBoolSigAction(134, dev.Exit); triList.SetBoolSigAction(134, dev.Exit);
} }
/// <summary> /// <summary>
/// UnlinkButtons method /// UnlinkButtons method
/// </summary> /// </summary>
public static void UnlinkButtons(this IDPad dev, BasicTriList triList) public static void UnlinkButtons(this IDPad dev, BasicTriList triList)
{ {
triList.ClearBoolSigAction(138); triList.ClearBoolSigAction(138);

View File

@@ -16,24 +16,40 @@ namespace PepperDash.Essentials.Core
/// </summary> /// </summary>
public interface IDvr : IDPad public interface IDvr : IDPad
{ {
/// <summary>
/// DVR List button press
/// </summary>
/// <param name="pressRelease">determines if the button is pressed or released</param>
void DvrList(bool pressRelease); void DvrList(bool pressRelease);
/// <summary>
/// Record button press
/// </summary>
/// <param name="pressRelease">determines if the button is pressed or released</param>
void Record(bool pressRelease); void Record(bool pressRelease);
} }
/// <summary> /// <summary>
/// /// IDvrExtensions class
/// </summary> /// </summary>
public static class IDvrExtensions public static class IDvrExtensions
{ {
/// <summary> /// <summary>
/// LinkButtons method /// LinkButtons method
/// </summary> /// </summary>
/// <param name="dev">IDvr device</param>
/// <param name="triList">BasicTriList to link to</param>
public static void LinkButtons(this IDvr dev, BasicTriList triList) public static void LinkButtons(this IDvr dev, BasicTriList triList)
{ {
triList.SetBoolSigAction(136, dev.DvrList); triList.SetBoolSigAction(136, dev.DvrList);
triList.SetBoolSigAction(152, dev.Record); triList.SetBoolSigAction(152, dev.Record);
} }
/// <summary>
/// UnlinkButtons method
/// </summary>
/// <param name="dev">IDvr device</param>
/// <param name="triList">BasicTriList to unlink from</param>
public static void UnlinkButtons(this IDvr dev, BasicTriList triList) public static void UnlinkButtons(this IDvr dev, BasicTriList triList)
{ {
triList.ClearBoolSigAction(136); triList.ClearBoolSigAction(136);

View File

@@ -11,7 +11,15 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
/// </summary> /// </summary>
public interface IEmergencyOSD public interface IEmergencyOSD
{ {
/// <summary>
/// Shows an emergency message on the OSD
/// </summary>
/// <param name="url">The URL of the emergency message to display</param>
void ShowEmergencyMessage(string url); void ShowEmergencyMessage(string url);
/// <summary>
/// Hides the emergency message from the OSD
/// </summary>
void HideEmergencyMessage(); void HideEmergencyMessage();
} }
} }

View File

@@ -5,37 +5,149 @@ namespace PepperDash.Essentials.Core
/// </summary> /// </summary>
public interface IFullAudioSettings : IBasicVolumeWithFeedback public interface IFullAudioSettings : IBasicVolumeWithFeedback
{ {
/// <summary>
/// SetBalance method
/// </summary>
/// <param name="level">level to set</param>
void SetBalance(ushort level); void SetBalance(ushort level);
/// <summary>
/// BalanceLeft method
/// </summary>
/// <param name="pressRelease">determines if the button is pressed or released</param>
void BalanceLeft(bool pressRelease); void BalanceLeft(bool pressRelease);
/// <summary>
/// BalanceRight method
/// </summary>
/// <param name="pressRelease">determines if the button is pressed or released</param>
void BalanceRight(bool pressRelease); void BalanceRight(bool pressRelease);
/// <summary>
/// SetBass method
/// </summary>
/// <param name="level">level to set</param>
void SetBass(ushort level); void SetBass(ushort level);
/// <summary>
/// BassUp method
/// </summary>
/// <param name="pressRelease">determines if the button is pressed or released</param>
void BassUp(bool pressRelease); void BassUp(bool pressRelease);
/// <summary>
/// BassDown method
/// </summary>
/// <param name="pressRelease">determines if the button is pressed or released</param>
void BassDown(bool pressRelease); void BassDown(bool pressRelease);
/// <summary>
/// SetTreble method
/// </summary>
/// <param name="level">level to set</param>
void SetTreble(ushort level); void SetTreble(ushort level);
/// <summary>
/// TrebleUp method
/// </summary>
/// <param name="pressRelease">determines if the button is pressed or released</param>
void TrebleUp(bool pressRelease); void TrebleUp(bool pressRelease);
/// <summary>
/// TrebleDown method
/// </summary>
/// <param name="pressRelease">determines if the button is pressed or released</param>
void TrebleDown(bool pressRelease); void TrebleDown(bool pressRelease);
/// <summary>
/// hasMaxVolume property
/// </summary>
bool hasMaxVolume { get; } bool hasMaxVolume { get; }
/// <summary>
/// SetMaxVolume method
/// </summary>
/// <param name="level">level to set</param>
void SetMaxVolume(ushort level); void SetMaxVolume(ushort level);
/// <summary>
/// MaxVolumeUp method
/// </summary>
/// <param name="pressRelease">determines if the button is pressed or released</param>
void MaxVolumeUp(bool pressRelease); void MaxVolumeUp(bool pressRelease);
/// <summary>
/// MaxVolumeDown method
/// </summary>
/// <param name="pressRelease">determines if the button is pressed or released</param>
void MaxVolumeDown(bool pressRelease); void MaxVolumeDown(bool pressRelease);
/// <summary>
/// hasDefaultVolume property
/// </summary>
bool hasDefaultVolume { get; } bool hasDefaultVolume { get; }
/// <summary>
/// SetDefaultVolume method
/// </summary>
/// <param name="level">level to set</param>
void SetDefaultVolume(ushort level); void SetDefaultVolume(ushort level);
/// <summary>
/// DefaultVolumeUp method
/// </summary>
/// <param name="pressRelease">determines if the button is pressed or released</param>
void DefaultVolumeUp(bool pressRelease); void DefaultVolumeUp(bool pressRelease);
/// <summary>
/// DefaultVolumeDown method
/// </summary>
/// <param name="pressRelease">determines if the button is pressed or released</param>
void DefaultVolumeDown(bool pressRelease); void DefaultVolumeDown(bool pressRelease);
/// <summary>
/// LoudnessToggle method
/// </summary>
void LoudnessToggle(); void LoudnessToggle();
/// <summary>
/// MonoToggle method
/// </summary>
void MonoToggle(); void MonoToggle();
/// <summary>
/// LoudnessFeedback property
/// </summary>
BoolFeedback LoudnessFeedback { get; } BoolFeedback LoudnessFeedback { get; }
/// <summary>
/// MonoFeedback property
/// </summary>
BoolFeedback MonoFeedback { get; } BoolFeedback MonoFeedback { get; }
/// <summary>
/// BalanceFeedback property
/// </summary>
IntFeedback BalanceFeedback { get; } IntFeedback BalanceFeedback { get; }
/// <summary>
/// BassFeedback property
/// </summary>
IntFeedback BassFeedback { get; } IntFeedback BassFeedback { get; }
/// <summary>
/// TrebleFeedback property
/// </summary>
IntFeedback TrebleFeedback { get; } IntFeedback TrebleFeedback { get; }
/// <summary>
/// MaxVolumeFeedback property
/// </summary>
IntFeedback MaxVolumeFeedback { get; } IntFeedback MaxVolumeFeedback { get; }
/// <summary>
/// DefaultVolumeFeedback property
/// </summary>
IntFeedback DefaultVolumeFeedback { get; } IntFeedback DefaultVolumeFeedback { get; }
} }
} }

View File

@@ -7,7 +7,15 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
/// </summary> /// </summary>
public interface IHasBranding public interface IHasBranding
{ {
/// <summary>
/// Gets whether branding is enabled
/// </summary>
bool BrandingEnabled { get; } bool BrandingEnabled { get; }
/// <summary>
/// Initializes branding for the device
/// </summary>
/// <param name="roomKey">The key identifying the room for branding purposes</param>
void InitializeBranding(string roomKey); void InitializeBranding(string roomKey);
} }
} }

View File

@@ -7,11 +7,24 @@ namespace PepperDash.Essentials.Core
/// </summary> /// </summary>
public interface IHasCurrentVolumeControls public interface IHasCurrentVolumeControls
{ {
/// <summary>
/// CurrentVolumeControls property
/// </summary>
IBasicVolumeControls CurrentVolumeControls { get; } IBasicVolumeControls CurrentVolumeControls { get; }
/// <summary>
/// CurrentVolumeDeviceChange event
/// </summary>
event EventHandler<VolumeDeviceChangeEventArgs> CurrentVolumeDeviceChange; event EventHandler<VolumeDeviceChangeEventArgs> CurrentVolumeDeviceChange;
/// <summary>
/// SetDefaultLevels method
/// </summary>
void SetDefaultLevels(); void SetDefaultLevels();
/// <summary>
/// ZeroVolumeWhenSwtichingVolumeDevices property
/// </summary>
bool ZeroVolumeWhenSwtichingVolumeDevices { get; } bool ZeroVolumeWhenSwtichingVolumeDevices { get; }
} }
} }

View File

@@ -5,6 +5,9 @@
/// </summary> /// </summary>
public interface IHasFarEndContentStatus public interface IHasFarEndContentStatus
{ {
/// <summary>
/// Gets whether far end content is being received
/// </summary>
BoolFeedback ReceivingContent { get; } BoolFeedback ReceivingContent { get; }
} }
} }

View File

@@ -11,6 +11,9 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
/// </example> /// </example>
public interface IHasInputs<T> : IKeyName public interface IHasInputs<T> : IKeyName
{ {
/// <summary>
/// Gets the collection of inputs
/// </summary>
ISelectableItems<T> Inputs { get; } ISelectableItems<T> Inputs { get; }
} }
} }

View File

@@ -5,6 +5,9 @@ namespace PepperDash.Essentials.Core
/// </summary> /// </summary>
public interface IHasMuteControl public interface IHasMuteControl
{ {
/// <summary>
/// MuteToggle method
/// </summary>
void MuteToggle(); void MuteToggle();
} }
} }

View File

@@ -5,8 +5,19 @@ namespace PepperDash.Essentials.Core
/// </summary> /// </summary>
public interface IHasMuteControlWithFeedback : IHasMuteControl public interface IHasMuteControlWithFeedback : IHasMuteControl
{ {
/// <summary>
/// MuteFeedback property
/// </summary>
BoolFeedback MuteFeedback { get; } BoolFeedback MuteFeedback { get; }
/// <summary>
/// MuteOn method
/// </summary>
void MuteOn(); void MuteOn();
/// <summary>
/// MuteOff method
/// </summary>
void MuteOff(); void MuteOff();
} }
} }

View File

@@ -8,11 +8,36 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
/// </summary> /// </summary>
public interface IHasPhoneDialing public interface IHasPhoneDialing
{ {
/// <summary>
/// Feedback that indicates whether the phone is off-hook
/// </summary>
BoolFeedback PhoneOffHookFeedback { get; } BoolFeedback PhoneOffHookFeedback { get; }
/// <summary>
/// Feedback that provides the caller ID name
/// </summary>
StringFeedback CallerIdNameFeedback { get; } StringFeedback CallerIdNameFeedback { get; }
/// <summary>
/// Feedback that provides the caller ID number
/// </summary>
StringFeedback CallerIdNumberFeedback { get; } StringFeedback CallerIdNumberFeedback { get; }
/// <summary>
/// Dials a phone call to the specified number
/// </summary>
/// <param name="number">the number to dial</param>
void DialPhoneCall(string number); void DialPhoneCall(string number);
/// <summary>
/// Ends the current phone call
/// </summary>
void EndPhoneCall(); void EndPhoneCall();
/// <summary>
/// Sends a DTMF digit to the phone
/// </summary>
/// <param name="digit">the DTMF digit to send</param>
void SendDtmfToPhone(string digit); void SendDtmfToPhone(string digit);
} }
} }

View File

@@ -11,10 +11,18 @@ 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>
/// <typeparam name="TSelector">the type used to select an item. Most likely an enum or string</typeparam>
public interface IHasSurroundSoundModes<TKey, TSelector>: IKeyName public interface IHasSurroundSoundModes<TKey, TSelector>: IKeyName
{ {
/// <summary>
/// The available surround sound modes
/// </summary>
ISelectableItems<TKey> SurroundSoundModes { get; } ISelectableItems<TKey> SurroundSoundModes { get; }
/// <summary>
/// The currently selected surround sound mode
/// </summary>
/// <param name="selector">the selector for the surround sound mode</param>
void SetSurroundSoundMode(TSelector selector); void SetSurroundSoundMode(TSelector selector);
} }
} }

View File

@@ -5,7 +5,16 @@ namespace PepperDash.Essentials.Core
/// </summary> /// </summary>
public interface IHasVolumeControl public interface IHasVolumeControl
{ {
/// <summary>
/// VolumeUp method
/// </summary>
/// <param name="pressRelease">determines if the volume up command is a press or release action</param>
void VolumeUp(bool pressRelease); void VolumeUp(bool pressRelease);
/// <summary>
/// VolumeDown method
/// </summary>
/// <param name="pressRelease">determines if the volume down command is a press or release action</param>
void VolumeDown(bool pressRelease); void VolumeDown(bool pressRelease);
} }
} }

View File

@@ -5,7 +5,15 @@ namespace PepperDash.Essentials.Core
/// </summary> /// </summary>
public interface IHasVolumeControlWithFeedback : IHasVolumeControl public interface IHasVolumeControlWithFeedback : IHasVolumeControl
{ {
/// <summary>
/// SetVolume method
/// </summary>
/// <param name="level">The volume level to set</param>
void SetVolume(ushort level); void SetVolume(ushort level);
/// <summary>
/// VolumeLevelFeedback property
/// </summary>
IntFeedback VolumeLevelFeedback { get; } IntFeedback VolumeLevelFeedback { get; }
} }
} }

View File

@@ -5,6 +5,9 @@ namespace PepperDash.Essentials.Core
/// </summary> /// </summary>
public interface IHasVolumeDevice public interface IHasVolumeDevice
{ {
/// <summary>
/// VolumeDevice property
/// </summary>
IBasicVolumeControls VolumeDevice { get; } IBasicVolumeControls VolumeDevice { get; }
} }
} }

View File

@@ -11,9 +11,28 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
/// </summary> /// </summary>
public interface IHasWebView public interface IHasWebView
{ {
/// <summary>
/// Indicates whether the webview is currently visible
/// </summary>
bool WebviewIsVisible { get; } bool WebviewIsVisible { get; }
/// <summary>
/// Shows the webview with the specified parameters
/// </summary>
/// <param name="url">the URL to display in the webview</param>
/// <param name="mode">the display mode for the webview</param>
/// <param name="title">the title to display on the webview</param>
/// <param name="target">the target for the webview</param>
void ShowWebView(string url, string mode, string title, string target); void ShowWebView(string url, string mode, string title, string target);
/// <summary>
/// Hides the webview
/// </summary>
void HideWebView(); void HideWebView();
/// <summary>
/// Event raised when the webview status changes
/// </summary>
event EventHandler<WebViewStatusChangedEventArgs> WebViewStatusChanged; event EventHandler<WebViewStatusChangedEventArgs> WebViewStatusChanged;
} }
@@ -27,6 +46,10 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
/// </summary> /// </summary>
public string Status { get; } public string Status { get; }
/// <summary>
/// Constructor for WebViewStatusChangedEventArgs
/// </summary>
/// <param name="status">the new status of the webview</param>
public WebViewStatusChangedEventArgs(string status) public WebViewStatusChangedEventArgs(string status)
{ {
Status = status; Status = status;

View File

@@ -8,14 +8,49 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
/// </summary> /// </summary>
public interface ILanguageDefinition public interface ILanguageDefinition
{ {
/// <summary>
/// The locale name for the language definition
/// </summary>
string LocaleName { get; set; } string LocaleName { get; set; }
/// <summary>
/// The friendly name for the language definition
/// </summary>
string FriendlyName { get; set; } string FriendlyName { get; set; }
/// <summary>
/// Indicates whether the language definition is enabled
/// </summary>
bool Enable { get; set; } bool Enable { get; set; }
/// <summary>
/// The UI labels for the language definition
/// </summary>
List<LanguageLabel> UiLabels { get; set; } List<LanguageLabel> UiLabels { get; set; }
/// <summary>
/// The source and destination labels for the language definition
/// </summary>
List<LanguageLabel> Sources { get; set; } List<LanguageLabel> Sources { get; set; }
/// <summary>
/// The destination labels for the language definition
/// </summary>
List<LanguageLabel> Destinations { get; set; } List<LanguageLabel> Destinations { get; set; }
/// <summary>
/// The source group names for the language definition
/// </summary>
List<LanguageLabel> SourceGroupNames { get; set; } List<LanguageLabel> SourceGroupNames { get; set; }
/// <summary>
/// The destination group names for the language definition
/// </summary>
List<LanguageLabel> DestinationGroupNames { get; set; } List<LanguageLabel> DestinationGroupNames { get; set; }
/// <summary>
/// The room names for the language definition
/// </summary>
List<LanguageLabel> RoomNames { get; set; } List<LanguageLabel> RoomNames { get; set; }
} }
} }

View File

@@ -8,8 +8,14 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
/// </summary> /// </summary>
public interface ILanguageProvider public interface ILanguageProvider
{ {
/// <summary>
/// The current language definition
/// </summary>
ILanguageDefinition CurrentLanguage { get; set; } ILanguageDefinition CurrentLanguage { get; set; }
/// <summary>
/// Event raised when the current language changes
/// </summary>
event EventHandler CurrentLanguageChanged; event EventHandler CurrentLanguageChanged;
} }

View File

@@ -11,6 +11,9 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
/// </summary> /// </summary>
public interface ILevelControls public interface ILevelControls
{ {
/// <summary>
/// The level control points
/// </summary>
Dictionary<string, IBasicVolumeWithFeedback> LevelControlPoints { get; } Dictionary<string, IBasicVolumeWithFeedback> LevelControlPoints { get; }
} }
} }

View File

@@ -8,8 +8,14 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
/// </summary> /// </summary>
public interface IMobileControlAction public interface IMobileControlAction
{ {
/// <summary>
/// The messenger to use for mobile control actions
/// </summary>
IMobileControlMessenger Messenger { get; } IMobileControlMessenger Messenger { get; }
/// <summary>
/// The action to perform for mobile control actions
/// </summary>
Action<string, string, JToken> Action { get; } Action<string, string, JToken> Action { get; }
} }
} }

View File

@@ -3,14 +3,26 @@ using Newtonsoft.Json.Linq;
namespace PepperDash.Essentials.Core.DeviceTypeInterfaces namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
{ {
/// <summary>
/// Defines the contract for IMobileControlMessage
/// </summary>
public interface IMobileControlMessage public interface IMobileControlMessage
{ {
/// <summary>
/// The type of mobile control message
/// </summary>
[JsonProperty("type")] [JsonProperty("type")]
string Type { get; } string Type { get; }
/// <summary>
/// The client ID for the mobile control message
/// </summary>
[JsonProperty("clientId", NullValueHandling = NullValueHandling.Ignore)] [JsonProperty("clientId", NullValueHandling = NullValueHandling.Ignore)]
string ClientId { get; } string ClientId { get; }
/// <summary>
/// The content of the mobile control message
/// </summary>
[JsonProperty("content", NullValueHandling = NullValueHandling.Ignore)] [JsonProperty("content", NullValueHandling = NullValueHandling.Ignore)]
JToken Content { get; } JToken Content { get; }

View File

@@ -8,26 +8,60 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
/// </summary> /// </summary>
public interface IMobileControlRoomMessenger : IKeyed public interface IMobileControlRoomMessenger : IKeyed
{ {
/// <summary>
/// Raised when the user code changes
/// </summary>
event EventHandler<EventArgs> UserCodeChanged; event EventHandler<EventArgs> UserCodeChanged;
/// <summary>
/// Raised when the user is prompted for the code
/// </summary>
event EventHandler<EventArgs> UserPromptedForCode; event EventHandler<EventArgs> UserPromptedForCode;
/// <summary>
/// Raised when a client joins the room
/// </summary>
event EventHandler<EventArgs> ClientJoined; event EventHandler<EventArgs> ClientJoined;
/// <summary>
/// Raised when the app url changes
/// </summary>
event EventHandler<EventArgs> AppUrlChanged; event EventHandler<EventArgs> AppUrlChanged;
/// <summary>
/// The user code for joining the room
/// </summary>
string UserCode { get; } string UserCode { get; }
/// <summary>
/// The QR code URL for joining the room
/// </summary>
string QrCodeUrl { get; } string QrCodeUrl { get; }
/// <summary>
/// The QR code checksum
/// </summary>
string QrCodeChecksum { get; } string QrCodeChecksum { get; }
/// <summary>
/// The Mobile Control server URL
/// </summary>
string McServerUrl { get; } string McServerUrl { get; }
/// <summary>
/// The name of the room
/// </summary>
string RoomName { get; } string RoomName { get; }
/// <summary>
/// The Mobile Control app URL
/// </summary>
string AppUrl { get; } string AppUrl { get; }
/// <summary>
/// Updates the url of the Mobile Control app
/// </summary>
/// <param name="url">The new URL of the Mobile Control app</param>
void UpdateAppUrl(string url); void UpdateAppUrl(string url);
} }
} }

View File

@@ -10,37 +10,119 @@ namespace PepperDash.Essentials.Core
/// </summary> /// </summary>
public interface INumericKeypad:IKeyed public interface INumericKeypad:IKeyed
{ {
/// <summary>
/// Digit buttons 0
/// </summary>
/// <param name="pressRelease">determines if the digit button command is a press or release action</param>
void Digit0(bool pressRelease); void Digit0(bool pressRelease);
/// <summary>
/// Digit buttons 1
/// </summary>
/// <param name="pressRelease">determines if the digit button command is a press or release action</param>
void Digit1(bool pressRelease); void Digit1(bool pressRelease);
/// <summary>
/// Digit buttons 2
/// </summary>
/// <param name="pressRelease">determines if the digit button command is a press or release action</param>
void Digit2(bool pressRelease); void Digit2(bool pressRelease);
/// <summary>
/// Digit buttons 3
/// </summary>
/// <param name="pressRelease">determines if the digit button command is a press or release action</param>
void Digit3(bool pressRelease); void Digit3(bool pressRelease);
/// <summary>
/// Digit buttons 4
/// </summary>
/// <param name="pressRelease"></param>
void Digit4(bool pressRelease); void Digit4(bool pressRelease);
/// <summary>
/// Digit buttons 5
/// </summary>
/// <param name="pressRelease">determines if the digit button command is a press or release action</param>
void Digit5(bool pressRelease); void Digit5(bool pressRelease);
/// <summary>
/// Digit buttons 6
/// </summary>
/// <param name="pressRelease">determines if the digit button command is a press or release action</param>
void Digit6(bool pressRelease); void Digit6(bool pressRelease);
/// <summary>
/// Digit buttons 7
/// </summary>
/// <param name="pressRelease">determines if the digit button command is a press or release action</param>
void Digit7(bool pressRelease); void Digit7(bool pressRelease);
/// <summary>
/// Digit buttons 8
/// </summary>
/// <param name="pressRelease">determines if the digit button command is a press or release action</param>
void Digit8(bool pressRelease); void Digit8(bool pressRelease);
/// <summary>
/// Digit buttons 9
/// </summary>
/// <param name="pressRelease">determines if the digit button command is a press or release action</param>
void Digit9(bool pressRelease); void Digit9(bool pressRelease);
/// <summary> /// <summary>
/// Used to hide/show the button and/or text on the left-hand keypad button /// Used to hide/show the button and/or text on the left-hand keypad button
/// </summary> /// </summary>
bool HasKeypadAccessoryButton1 { get; } bool HasKeypadAccessoryButton1 { get; }
/// <summary>
/// Label for the left-hand keypad button
/// </summary>
string KeypadAccessoryButton1Label { get; } string KeypadAccessoryButton1Label { get; }
/// <summary>
/// Left-hand keypad button action
/// </summary>
/// <param name="pressRelease">determines if the button command is a press or release action</param>
void KeypadAccessoryButton1(bool pressRelease); void KeypadAccessoryButton1(bool pressRelease);
/// <summary>
/// Used to hide/show the button and/or text on the right-hand keypad button
/// </summary>
bool HasKeypadAccessoryButton2 { get; } bool HasKeypadAccessoryButton2 { get; }
/// <summary>
/// Label for the right-hand keypad button
/// </summary>
string KeypadAccessoryButton2Label { get; } string KeypadAccessoryButton2Label { get; }
/// <summary>
/// Right-hand keypad button action
/// </summary>
/// <param name="pressRelease">determines if the button command is a press or release action</param>
void KeypadAccessoryButton2(bool pressRelease); void KeypadAccessoryButton2(bool pressRelease);
} }
/// <summary>
/// Defines the contract for ISetTopBoxNumericKeypad
/// </summary>
public interface ISetTopBoxNumericKeypad : INumericKeypad public interface ISetTopBoxNumericKeypad : INumericKeypad
{ {
/// <summary>
/// Dash button action
/// </summary>
/// <param name="pressRelease">determines if the button command is a press or release action</param>
void Dash(bool pressRelease); void Dash(bool pressRelease);
/// <summary>
/// Keypad Enter button action
/// </summary>
/// <param name="pressRelease">determines if the button command is a press or release action</param>
void KeypadEnter(bool pressRelease); void KeypadEnter(bool pressRelease);
} }
/// <summary> /// <summary>
/// /// INumericExtensions class
/// </summary> /// </summary>
public static class INumericExtensions public static class INumericExtensions
{ {
@@ -65,9 +147,9 @@ namespace PepperDash.Essentials.Core
trilist.StringInput[111].StringValue = dev.KeypadAccessoryButton2Label; trilist.StringInput[111].StringValue = dev.KeypadAccessoryButton2Label;
} }
/// <summary> /// <summary>
/// UnlinkButtons method /// UnlinkButtons method
/// </summary> /// </summary>
public static void UnlinkButtons(this INumericKeypad dev, BasicTriList trilist) public static void UnlinkButtons(this INumericKeypad dev, BasicTriList trilist)
{ {
trilist.ClearBoolSigAction(110); trilist.ClearBoolSigAction(110);

View File

@@ -19,10 +19,13 @@ namespace PepperDash.Essentials.Core
/// <summary> /// <summary>
/// Submits the password /// Submits the password
/// </summary> /// </summary>
/// <param name="password"></param> /// <param name="password">The password to submit</param>
void SubmitPassword(string password); void SubmitPassword(string password);
} }
/// <summary>
/// PasswordPromptEventArgs class
/// </summary>
public class PasswordPromptEventArgs : EventArgs public class PasswordPromptEventArgs : EventArgs
{ {
/// <summary> /// <summary>
@@ -45,6 +48,13 @@ namespace PepperDash.Essentials.Core
/// </summary> /// </summary>
public string Message { get; private set; } public string Message { get; private set; }
/// <summary>
/// Constructor
/// </summary>
/// <param name="lastAttemptIncorrect">indicates if the last submitted password was incorrect</param>
/// <param name="loginFailed">indicates if the login attempt failed</param>
/// <param name="loginCancelled">indicates if the login attempt was cancelled</param>
/// <param name="message">provides a message related to the password prompt</param>
public PasswordPromptEventArgs(bool lastAttemptIncorrect, bool loginFailed, bool loginCancelled, string message) public PasswordPromptEventArgs(bool lastAttemptIncorrect, bool loginFailed, bool loginCancelled, string message)
{ {
LastAttemptWasIncorrect = lastAttemptIncorrect; LastAttemptWasIncorrect = lastAttemptIncorrect;

View File

@@ -19,6 +19,9 @@ namespace PepperDash.Essentials.Core
/// </summary> /// </summary>
public interface IHasPowerControlWithFeedback : IHasPowerControl public interface IHasPowerControlWithFeedback : IHasPowerControl
{ {
/// <summary>
/// Feedback indicating whether the device is powered on
/// </summary>
BoolFeedback PowerIsOnFeedback { get; } BoolFeedback PowerIsOnFeedback { get; }
} }
@@ -27,13 +30,24 @@ namespace PepperDash.Essentials.Core
/// </summary> /// </summary>
public interface IHasPowerControl public interface IHasPowerControl
{ {
/// <summary>
/// Powers the device on
/// </summary>
void PowerOn(); void PowerOn();
/// <summary>
/// Powers the device off
/// </summary>
void PowerOff(); void PowerOff();
/// <summary>
/// Toggles the power state of the device
/// </summary>
void PowerToggle(); void PowerToggle();
} }
/// <summary> /// <summary>
/// /// IHasPowerControlExtensions class
/// </summary> /// </summary>
public static class IHasPowerControlExtensions public static class IHasPowerControlExtensions
{ {

View File

@@ -5,26 +5,60 @@ using Newtonsoft.Json.Converters;
namespace PepperDash.Essentials.Core.DeviceTypeInterfaces namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
{ {
/// <summary> /// <summary>
/// Defines the contract for IProjectorScreenLiftControl /// Defines the contract for IProjectorScreenLiftControl
/// </summary> /// </summary>
public interface IProjectorScreenLiftControl public interface IProjectorScreenLiftControl
{ {
/// <summary>
/// Raises the screen/lift
/// </summary>
void Raise(); void Raise();
/// <summary>
/// Lowers the screen/lift
/// </summary>
void Lower(); void Lower();
/// <summary>
/// Stops the screen/lift
/// </summary>
BoolFeedback IsInUpPosition { get; } BoolFeedback IsInUpPosition { get; }
/// <summary>
/// Gets whether the screen/lift is in the up position
/// </summary>
bool InUpPosition { get; } bool InUpPosition { get; }
/// <summary>
/// Gets whether the screen/lift is in the down position
/// </summary>
event EventHandler<EventArgs> PositionChanged; event EventHandler<EventArgs> PositionChanged;
/// <summary>
/// The device key of the display associated with this screen/lift
/// </summary>
string DisplayDeviceKey { get; } string DisplayDeviceKey { get; }
/// <summary>
/// The type of device
/// </summary>
eScreenLiftControlType Type { get; } // screen/lift eScreenLiftControlType Type { get; } // screen/lift
} }
/// <summary> /// <summary>
/// Enumeration of eScreenLiftControlType values /// Enumeration of eScreenLiftControlType values
/// </summary> /// </summary>
public enum eScreenLiftControlType public enum eScreenLiftControlType
{ {
/// <summary>
/// Lift type device
/// </summary>
lift, lift,
/// <summary>
/// Screen type device
/// </summary>
screen screen
} }
} }

View File

@@ -10,10 +10,20 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
/// </summary> /// </summary>
public interface ISelectableItem : IKeyName public interface ISelectableItem : IKeyName
{ {
/// <summary>
/// Raised when the item is updated
/// </summary>
event EventHandler ItemUpdated; event EventHandler ItemUpdated;
/// <summary>
/// Gets or sets whether the item is selected
/// </summary>
[JsonProperty("isSelected")] [JsonProperty("isSelected")]
bool IsSelected { get; set; } bool IsSelected { get; set; }
/// <summary>
/// Selects the item
/// </summary>
void Select(); void Select();
} }
} }

View File

@@ -9,12 +9,25 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
/// </summary> /// </summary>
public interface ISelectableItems<TKey, TValue> where TValue : ISelectableItem public interface ISelectableItems<TKey, TValue> where TValue : ISelectableItem
{ {
/// <summary>
/// Raised when the items are updated
/// </summary>
event EventHandler ItemsUpdated; event EventHandler ItemsUpdated;
/// <summary>
/// Raised when the current item changes
/// </summary>
event EventHandler CurrentItemChanged; event EventHandler CurrentItemChanged;
/// <summary>
/// Gets or sets the collection of selectable items
/// </summary>
[JsonProperty("items")] [JsonProperty("items")]
Dictionary<TKey, TValue> Items { get; set; } Dictionary<TKey, TValue> Items { get; set; }
/// <summary>
/// Gets or sets the current selected item key
/// </summary>
[JsonProperty("currentItem")] [JsonProperty("currentItem")]
TKey CurrentItem { get; set; } TKey CurrentItem { get; set; }
@@ -24,9 +37,6 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
/// Describes a collection of items that can be selected /// Describes a collection of items that can be selected
/// </summary> /// </summary>
/// <typeparam name="TKey">type for the keys in the collection. Probably a string or enum</typeparam> /// <typeparam name="TKey">type for the keys in the collection. Probably a string or enum</typeparam>
/// <summary>
/// Defines the contract for ISelectableItems
/// </summary>
public interface ISelectableItems<TKey> : ISelectableItems<TKey, ISelectableItem> public interface ISelectableItems<TKey> : ISelectableItems<TKey, ISelectableItem>
{ {
} }

View File

@@ -5,9 +5,9 @@ using PepperDash.Essentials.Core.SmartObjects;
namespace PepperDash.Essentials.Core namespace PepperDash.Essentials.Core
{ {
/// <summary> /// <summary>
/// Defines the contract for ISetTopBoxControls /// Defines the contract for ISetTopBoxControls
/// </summary> /// </summary>
public interface ISetTopBoxControls : IChannel, IColor, IDPad, ISetTopBoxNumericKeypad, public interface ISetTopBoxControls : IChannel, IColor, IDPad, ISetTopBoxNumericKeypad,
ITransport, IUiDisplayInfo ITransport, IUiDisplayInfo
{ {
@@ -31,27 +31,51 @@ namespace PepperDash.Essentials.Core
/// </summary> /// </summary>
bool HasDpad { get; } bool HasDpad { get; }
/// <summary>
/// TV Presets model
/// </summary>
PepperDash.Essentials.Core.Presets.DevicePresetsModel TvPresets { get; } PepperDash.Essentials.Core.Presets.DevicePresetsModel TvPresets { get; }
/// <summary>
/// LoadPresets method
/// </summary>
/// <param name="filePath">path to file that contains the presets</param>
void LoadPresets(string filePath); void LoadPresets(string filePath);
/// <summary>
/// DvrList button action
/// </summary>
/// <param name="pressRelease">determines if the button action is a press or release</param>
void DvrList(bool pressRelease); void DvrList(bool pressRelease);
/// <summary>
/// Replay button action
/// </summary>
/// <param name="pressRelease">determines if the button action is a press or release</param>
void Replay(bool pressRelease); void Replay(bool pressRelease);
} }
/// <summary>
/// ISetTopBoxControlsExtensions class
/// </summary>
public static class ISetTopBoxControlsExtensions public static class ISetTopBoxControlsExtensions
{ {
/// <summary> /// <summary>
/// LinkButtons method /// LinkButtons method
/// </summary> /// </summary>
/// <param name="dev">The ISetTopBoxControls device</param>
/// <param name="triList">The BasicTriList to link buttons to</param>
public static void LinkButtons(this ISetTopBoxControls dev, BasicTriList triList) public static void LinkButtons(this ISetTopBoxControls dev, BasicTriList triList)
{ {
triList.SetBoolSigAction(136, dev.DvrList); triList.SetBoolSigAction(136, dev.DvrList);
triList.SetBoolSigAction(152, dev.Replay); triList.SetBoolSigAction(152, dev.Replay);
} }
/// <summary> /// <summary>
/// UnlinkButtons method /// UnlinkButtons method
/// </summary> /// </summary>
/// <param name="dev">The ISetTopBoxControls device</param>
/// <param name="triList">The BasicTriList to unlink buttons from</param>
public static void UnlinkButtons(this ISetTopBoxControls dev, BasicTriList triList) public static void UnlinkButtons(this ISetTopBoxControls dev, BasicTriList triList)
{ {
triList.ClearBoolSigAction(136); triList.ClearBoolSigAction(136);

View File

@@ -17,9 +17,15 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
/// </summary> /// </summary>
IntFeedback TemperatureFeedback { get; } IntFeedback TemperatureFeedback { get; }
/// <summary>
/// The temperature in Celsius format
/// </summary>
BoolFeedback TemperatureInCFeedback { get; } BoolFeedback TemperatureInCFeedback { get; }
/// <summary>
/// Sets the temperature format to Celsius or Fahrenheit
/// </summary>
/// <param name="setToC">If true, sets the format to Celsius; otherwise, sets it to Fahrenheit.</param>
void SetTemperatureFormat(bool setToC); void SetTemperatureFormat(bool setToC);
} }
} }

View File

@@ -7,25 +7,65 @@ namespace PepperDash.Essentials.Core
/// </summary> /// </summary>
public interface ITransport public interface ITransport
{ {
/// <summary>
/// Play button action
/// </summary>
/// <param name="pressRelease">determines if the button action is a press or release</param>
void Play(bool pressRelease); void Play(bool pressRelease);
/// <summary>
/// Pause button action
/// </summary>
/// <param name="pressRelease">determines if the button action is a press or release</param>
void Pause(bool pressRelease); void Pause(bool pressRelease);
/// <summary>
/// Rewind button action
/// </summary>
/// <param name="pressRelease">determines if the button action is a press or release</param>
void Rewind(bool pressRelease); void Rewind(bool pressRelease);
/// <summary>
/// Fast Forward button action
/// </summary>
/// <param name="pressRelease">determines if the button action is a press or release</param>
void FFwd(bool pressRelease); void FFwd(bool pressRelease);
/// <summary>
/// Chapter Minus button action
/// </summary>
/// <param name="pressRelease">determines if the button action is a press or release</param>
void ChapMinus(bool pressRelease); void ChapMinus(bool pressRelease);
/// <summary>
/// Chapter Plus button action
/// </summary>
/// <param name="pressRelease">determines if the button action is a press or release</param>
void ChapPlus(bool pressRelease); void ChapPlus(bool pressRelease);
/// <summary>
/// Stop button action
/// </summary>
/// <param name="pressRelease">determines if the button action is a press or release</param>
void Stop(bool pressRelease); void Stop(bool pressRelease);
/// <summary>
/// Record button action
/// </summary>
/// <param name="pressRelease">determines if the button action is a press or release</param>
void Record(bool pressRelease); void Record(bool pressRelease);
} }
/// <summary> /// <summary>
/// /// ITransportExtensions class
/// </summary> /// </summary>
public static class ITransportExtensions public static class ITransportExtensions
{ {
/// <summary> /// <summary>
/// Attaches to trilist joins: Play:145, Pause:146, Stop:147, ChapPlus:148, ChapMinus:149, Rewind:150, Ffwd:151, Record:154 /// Attaches to trilist joins: Play:145, Pause:146, Stop:147, ChapPlus:148, ChapMinus:149, Rewind:150, Ffwd:151, Record:154
///
/// </summary> /// </summary>
/// <param name="dev">The ITransport device</param>
/// <param name="triList">The BasicTriList to link buttons to</param>
public static void LinkButtons(this ITransport dev, BasicTriList triList) public static void LinkButtons(this ITransport dev, BasicTriList triList)
{ {
triList.SetBoolSigAction(145, dev.Play); triList.SetBoolSigAction(145, dev.Play);
@@ -38,9 +78,11 @@ namespace PepperDash.Essentials.Core
triList.SetBoolSigAction(154, dev.Record); triList.SetBoolSigAction(154, dev.Record);
} }
/// <summary> /// <summary>
/// UnlinkButtons method /// UnlinkButtons method
/// </summary> /// </summary>
/// <param name="dev">The ITransport device</param>
/// <param name="triList">The BasicTriList to unlink buttons from</param>
public static void UnlinkButtons(this ITransport dev, BasicTriList triList) public static void UnlinkButtons(this ITransport dev, BasicTriList triList)
{ {
triList.ClearBoolSigAction(145); triList.ClearBoolSigAction(145);

View File

@@ -7,6 +7,9 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
/// </summary> /// </summary>
public interface ITvPresetsProvider public interface ITvPresetsProvider
{ {
/// <summary>
/// The TV presets model
/// </summary>
DevicePresetsModel TvPresets { get; } DevicePresetsModel TvPresets { get; }
} }
} }

View File

@@ -2,11 +2,14 @@
namespace PepperDash.Essentials.Core namespace PepperDash.Essentials.Core
{ {
/// <summary> /// <summary>
/// Defines the contract for IUiDisplayInfo /// Defines the contract for IUiDisplayInfo
/// </summary> /// </summary>
public interface IUiDisplayInfo : IKeyed public interface IUiDisplayInfo : IKeyed
{ {
/// <summary>
/// Display UI Type
/// </summary>
uint DisplayUiType { get; } uint DisplayUiType { get; }
} }
} }

View File

@@ -11,7 +11,14 @@ namespace PepperDash.Essentials.Core
/// </summary> /// </summary>
public interface IWarmingCooling public interface IWarmingCooling
{ {
/// <summary>
/// Feedback indicating whether the device is warming up
/// </summary>
BoolFeedback IsWarmingUpFeedback { get; } BoolFeedback IsWarmingUpFeedback { get; }
/// <summary>
/// Feedback indicating whether the device is cooling down
/// </summary>
BoolFeedback IsCoolingDownFeedback { get; } BoolFeedback IsCoolingDownFeedback { get; }
} }
} }

View File

@@ -1,10 +1,28 @@
namespace PepperDash.Essentials.Core namespace PepperDash.Essentials.Core
{ {
/// <summary>
/// Volume level units
/// </summary>
public enum eVolumeLevelUnits public enum eVolumeLevelUnits
{ {
/// <summary>
/// Decibels
/// </summary>
Decibels, Decibels,
/// <summary>
/// Percent
/// </summary>
Percent, Percent,
/// <summary>
/// Relative
/// </summary>
Relative, Relative,
/// <summary>
/// Absolute
/// </summary>
Absolute Absolute
} }
} }