mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-02 22:34:57 +00:00
wip: update XML comments
This commit is contained in:
@@ -5,6 +5,10 @@ namespace PepperDash.Essentials.Core
|
||||
/// </summary>
|
||||
public interface IAudioZone : IBasicVolumeWithFeedback
|
||||
{
|
||||
/// <summary>
|
||||
/// Selects the specified input
|
||||
/// </summary>
|
||||
/// <param name="input">The input to select</param>
|
||||
void SelectInput(ushort input);
|
||||
}
|
||||
}
|
||||
@@ -5,10 +5,26 @@ namespace PepperDash.Essentials.Core
|
||||
/// </summary>
|
||||
public interface IBasicVolumeWithFeedback : IBasicVolumeControls
|
||||
{
|
||||
BoolFeedback MuteFeedback { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Mutes the volume
|
||||
/// </summary>
|
||||
void MuteOn();
|
||||
|
||||
/// <summary>
|
||||
/// Unmutes the volume
|
||||
/// </summary>
|
||||
void MuteOff();
|
||||
|
||||
/// <summary>
|
||||
/// Sets the volume to the specified level
|
||||
/// </summary>
|
||||
/// <param name="level">The volume level to set</param>
|
||||
void SetVolume(ushort level);
|
||||
|
||||
/// <summary>
|
||||
/// Gets the mute feedback
|
||||
/// </summary>
|
||||
IntFeedback VolumeLevelFeedback { get; }
|
||||
}
|
||||
}
|
||||
@@ -5,8 +5,14 @@ namespace PepperDash.Essentials.Core
|
||||
/// </summary>
|
||||
public interface IBasicVolumeWithFeedbackAdvanced : IBasicVolumeWithFeedback
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the raw volume level
|
||||
/// </summary>
|
||||
int RawVolumeLevel { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the volume level units
|
||||
/// </summary>
|
||||
eVolumeLevelUnits Units { get; }
|
||||
}
|
||||
}
|
||||
@@ -7,26 +7,56 @@ using PepperDash.Essentials.Core.SmartObjects;
|
||||
namespace PepperDash.Essentials.Core
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// Defines the contract for IChannel
|
||||
/// </summary>
|
||||
public interface IChannel
|
||||
{
|
||||
/// <summary>
|
||||
/// Channel up
|
||||
/// </summary>
|
||||
/// <param name="pressRelease">indicates whether this is a press or release</param>
|
||||
///
|
||||
void ChannelUp(bool pressRelease);
|
||||
/// <summary>
|
||||
/// Channel down
|
||||
/// </summary>
|
||||
/// <param name="pressRelease">indicates whether this is a press or release</param>
|
||||
void ChannelDown(bool pressRelease);
|
||||
|
||||
/// <summary>
|
||||
/// Last channel
|
||||
/// </summary>
|
||||
/// <param name="pressRelease">indicates whether this is a press or release</param>
|
||||
void LastChannel(bool pressRelease);
|
||||
|
||||
/// <summary>
|
||||
/// Guide
|
||||
/// </summary>
|
||||
/// <param name="pressRelease">indicates whether this is a press or release</param>
|
||||
///
|
||||
void Guide(bool pressRelease);
|
||||
|
||||
/// <summary>
|
||||
/// Info
|
||||
/// </summary>
|
||||
/// <param name="pressRelease">indicates whether this is a press or release</param>
|
||||
void Info(bool pressRelease);
|
||||
|
||||
/// <summary>
|
||||
/// Exit
|
||||
/// </summary>
|
||||
/// <param name="pressRelease">indicates whether this is a press or release</param>
|
||||
void Exit(bool pressRelease);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// IChannelExtensions class
|
||||
/// </summary>
|
||||
public static class IChannelExtensions
|
||||
{
|
||||
/// <summary>
|
||||
/// LinkButtons method
|
||||
/// </summary>
|
||||
/// <summary>
|
||||
/// LinkButtons method
|
||||
/// </summary>
|
||||
public static void LinkButtons(this IChannel dev, BasicTriList triList)
|
||||
{
|
||||
triList.SetBoolSigAction(123, dev.ChannelUp);
|
||||
@@ -37,9 +67,9 @@ namespace PepperDash.Essentials.Core
|
||||
triList.SetBoolSigAction(134, dev.Exit);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// UnlinkButtons method
|
||||
/// </summary>
|
||||
/// <summary>
|
||||
/// UnlinkButtons method
|
||||
/// </summary>
|
||||
public static void UnlinkButtons(this IChannel dev, BasicTriList triList)
|
||||
{
|
||||
triList.ClearBoolSigAction(123);
|
||||
|
||||
@@ -7,24 +7,45 @@ using PepperDash.Essentials.Core.SmartObjects;
|
||||
namespace PepperDash.Essentials.Core
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// IColor interface
|
||||
/// </summary>
|
||||
public interface IColor
|
||||
{
|
||||
/// <summary>
|
||||
/// Red button
|
||||
/// </summary>
|
||||
/// <param name="pressRelease">indicates whether this is a press or release</param>
|
||||
void Red(bool pressRelease);
|
||||
|
||||
/// <summary>
|
||||
/// Green button
|
||||
/// </summary>
|
||||
/// <param name="pressRelease">indicates whether this is a press or release</param>
|
||||
void Green(bool pressRelease);
|
||||
|
||||
/// <summary>
|
||||
/// Yellow button
|
||||
/// </summary>
|
||||
/// <param name="pressRelease">indicates whether this is a press or release</param>
|
||||
void Yellow(bool pressRelease);
|
||||
|
||||
/// <summary>
|
||||
/// Blue button
|
||||
/// </summary>
|
||||
/// <param name="pressRelease">indicates whether this is a press or release</param>
|
||||
void Blue(bool pressRelease);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// IColorExtensions class
|
||||
/// </summary>
|
||||
public static class IColorExtensions
|
||||
{
|
||||
/// <summary>
|
||||
/// LinkButtons method
|
||||
/// </summary>
|
||||
/// <summary>
|
||||
/// LinkButtons method
|
||||
/// </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)
|
||||
{
|
||||
TriList.SetBoolSigAction(155, dev.Red);
|
||||
@@ -33,9 +54,11 @@ namespace PepperDash.Essentials.Core
|
||||
TriList.SetBoolSigAction(158, dev.Blue);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// UnlinkButtons method
|
||||
/// </summary>
|
||||
/// <summary>
|
||||
/// UnlinkButtons method
|
||||
/// </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)
|
||||
{
|
||||
triList.ClearBoolSigAction(155);
|
||||
|
||||
@@ -11,23 +11,57 @@ namespace PepperDash.Essentials.Core
|
||||
/// </summary>
|
||||
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);
|
||||
|
||||
/// <summary>
|
||||
/// Down button press
|
||||
/// </summary>
|
||||
/// <param name="pressRelease">determines if the button is pressed or released</param>
|
||||
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);
|
||||
|
||||
/// <summary>
|
||||
/// Right button press
|
||||
/// </summary>
|
||||
/// <param name="pressRelease">determines if the button is pressed or released</param>
|
||||
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);
|
||||
|
||||
/// <summary>
|
||||
/// Menu button press
|
||||
/// </summary>
|
||||
/// <param name="pressRelease">determines if the button is pressed or released</param>
|
||||
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);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// IDPadExtensions class
|
||||
/// </summary>
|
||||
public static class IDPadExtensions
|
||||
{
|
||||
/// <summary>
|
||||
/// LinkButtons method
|
||||
/// </summary>
|
||||
/// <summary>
|
||||
/// LinkButtons method
|
||||
/// </summary>
|
||||
public static void LinkButtons(this IDPad dev, BasicTriList triList)
|
||||
{
|
||||
triList.SetBoolSigAction(138, dev.Up);
|
||||
@@ -39,9 +73,9 @@ namespace PepperDash.Essentials.Core
|
||||
triList.SetBoolSigAction(134, dev.Exit);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// UnlinkButtons method
|
||||
/// </summary>
|
||||
/// <summary>
|
||||
/// UnlinkButtons method
|
||||
/// </summary>
|
||||
public static void UnlinkButtons(this IDPad dev, BasicTriList triList)
|
||||
{
|
||||
triList.ClearBoolSigAction(138);
|
||||
|
||||
@@ -16,24 +16,40 @@ namespace PepperDash.Essentials.Core
|
||||
/// </summary>
|
||||
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);
|
||||
|
||||
/// <summary>
|
||||
/// Record button press
|
||||
/// </summary>
|
||||
/// <param name="pressRelease">determines if the button is pressed or released</param>
|
||||
void Record(bool pressRelease);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// IDvrExtensions class
|
||||
/// </summary>
|
||||
public static class IDvrExtensions
|
||||
{
|
||||
/// <summary>
|
||||
/// LinkButtons method
|
||||
/// </summary>
|
||||
/// <summary>
|
||||
/// LinkButtons method
|
||||
/// </summary>
|
||||
/// <param name="dev">IDvr device</param>
|
||||
/// <param name="triList">BasicTriList to link to</param>
|
||||
public static void LinkButtons(this IDvr dev, BasicTriList triList)
|
||||
{
|
||||
triList.SetBoolSigAction(136, dev.DvrList);
|
||||
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)
|
||||
{
|
||||
triList.ClearBoolSigAction(136);
|
||||
|
||||
@@ -11,7 +11,15 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
|
||||
/// </summary>
|
||||
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);
|
||||
|
||||
/// <summary>
|
||||
/// Hides the emergency message from the OSD
|
||||
/// </summary>
|
||||
void HideEmergencyMessage();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,37 +5,149 @@ namespace PepperDash.Essentials.Core
|
||||
/// </summary>
|
||||
public interface IFullAudioSettings : IBasicVolumeWithFeedback
|
||||
{
|
||||
/// <summary>
|
||||
/// SetBalance method
|
||||
/// </summary>
|
||||
/// <param name="level">level to set</param>
|
||||
void SetBalance(ushort level);
|
||||
|
||||
/// <summary>
|
||||
/// BalanceLeft method
|
||||
/// </summary>
|
||||
/// <param name="pressRelease">determines if the button is pressed or released</param>
|
||||
void BalanceLeft(bool pressRelease);
|
||||
|
||||
/// <summary>
|
||||
/// BalanceRight method
|
||||
/// </summary>
|
||||
/// <param name="pressRelease">determines if the button is pressed or released</param>
|
||||
void BalanceRight(bool pressRelease);
|
||||
|
||||
/// <summary>
|
||||
/// SetBass method
|
||||
/// </summary>
|
||||
/// <param name="level">level to set</param>
|
||||
void SetBass(ushort level);
|
||||
|
||||
/// <summary>
|
||||
/// BassUp method
|
||||
/// </summary>
|
||||
/// <param name="pressRelease">determines if the button is pressed or released</param>
|
||||
void BassUp(bool pressRelease);
|
||||
|
||||
/// <summary>
|
||||
/// BassDown method
|
||||
/// </summary>
|
||||
/// <param name="pressRelease">determines if the button is pressed or released</param>
|
||||
void BassDown(bool pressRelease);
|
||||
|
||||
/// <summary>
|
||||
/// SetTreble method
|
||||
/// </summary>
|
||||
/// <param name="level">level to set</param>
|
||||
void SetTreble(ushort level);
|
||||
|
||||
/// <summary>
|
||||
/// TrebleUp method
|
||||
/// </summary>
|
||||
/// <param name="pressRelease">determines if the button is pressed or released</param>
|
||||
void TrebleUp(bool pressRelease);
|
||||
|
||||
/// <summary>
|
||||
/// TrebleDown method
|
||||
/// </summary>
|
||||
/// <param name="pressRelease">determines if the button is pressed or released</param>
|
||||
void TrebleDown(bool pressRelease);
|
||||
|
||||
/// <summary>
|
||||
/// hasMaxVolume property
|
||||
/// </summary>
|
||||
bool hasMaxVolume { get; }
|
||||
|
||||
/// <summary>
|
||||
/// SetMaxVolume method
|
||||
/// </summary>
|
||||
/// <param name="level">level to set</param>
|
||||
void SetMaxVolume(ushort level);
|
||||
|
||||
/// <summary>
|
||||
/// MaxVolumeUp method
|
||||
/// </summary>
|
||||
/// <param name="pressRelease">determines if the button is pressed or released</param>
|
||||
void MaxVolumeUp(bool pressRelease);
|
||||
|
||||
/// <summary>
|
||||
/// MaxVolumeDown method
|
||||
/// </summary>
|
||||
/// <param name="pressRelease">determines if the button is pressed or released</param>
|
||||
void MaxVolumeDown(bool pressRelease);
|
||||
|
||||
/// <summary>
|
||||
/// hasDefaultVolume property
|
||||
/// </summary>
|
||||
bool hasDefaultVolume { get; }
|
||||
|
||||
/// <summary>
|
||||
/// SetDefaultVolume method
|
||||
/// </summary>
|
||||
/// <param name="level">level to set</param>
|
||||
void SetDefaultVolume(ushort level);
|
||||
|
||||
/// <summary>
|
||||
/// DefaultVolumeUp method
|
||||
/// </summary>
|
||||
/// <param name="pressRelease">determines if the button is pressed or released</param>
|
||||
void DefaultVolumeUp(bool pressRelease);
|
||||
|
||||
/// <summary>
|
||||
/// DefaultVolumeDown method
|
||||
/// </summary>
|
||||
/// <param name="pressRelease">determines if the button is pressed or released</param>
|
||||
void DefaultVolumeDown(bool pressRelease);
|
||||
|
||||
/// <summary>
|
||||
/// LoudnessToggle method
|
||||
/// </summary>
|
||||
void LoudnessToggle();
|
||||
|
||||
/// <summary>
|
||||
/// MonoToggle method
|
||||
/// </summary>
|
||||
void MonoToggle();
|
||||
|
||||
/// <summary>
|
||||
/// LoudnessFeedback property
|
||||
/// </summary>
|
||||
BoolFeedback LoudnessFeedback { get; }
|
||||
|
||||
/// <summary>
|
||||
/// MonoFeedback property
|
||||
/// </summary>
|
||||
BoolFeedback MonoFeedback { get; }
|
||||
|
||||
/// <summary>
|
||||
/// BalanceFeedback property
|
||||
/// </summary>
|
||||
IntFeedback BalanceFeedback { get; }
|
||||
|
||||
/// <summary>
|
||||
/// BassFeedback property
|
||||
/// </summary>
|
||||
IntFeedback BassFeedback { get; }
|
||||
|
||||
/// <summary>
|
||||
/// TrebleFeedback property
|
||||
/// </summary>
|
||||
IntFeedback TrebleFeedback { get; }
|
||||
|
||||
/// <summary>
|
||||
/// MaxVolumeFeedback property
|
||||
/// </summary>
|
||||
IntFeedback MaxVolumeFeedback { get; }
|
||||
|
||||
/// <summary>
|
||||
/// DefaultVolumeFeedback property
|
||||
/// </summary>
|
||||
IntFeedback DefaultVolumeFeedback { get; }
|
||||
}
|
||||
}
|
||||
@@ -7,7 +7,15 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
|
||||
/// </summary>
|
||||
public interface IHasBranding
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets whether branding is enabled
|
||||
/// </summary>
|
||||
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);
|
||||
}
|
||||
}
|
||||
@@ -7,11 +7,24 @@ namespace PepperDash.Essentials.Core
|
||||
/// </summary>
|
||||
public interface IHasCurrentVolumeControls
|
||||
{
|
||||
/// <summary>
|
||||
/// CurrentVolumeControls property
|
||||
/// </summary>
|
||||
IBasicVolumeControls CurrentVolumeControls { get; }
|
||||
|
||||
/// <summary>
|
||||
/// CurrentVolumeDeviceChange event
|
||||
/// </summary>
|
||||
event EventHandler<VolumeDeviceChangeEventArgs> CurrentVolumeDeviceChange;
|
||||
|
||||
/// <summary>
|
||||
/// SetDefaultLevels method
|
||||
/// </summary>
|
||||
void SetDefaultLevels();
|
||||
|
||||
/// <summary>
|
||||
/// ZeroVolumeWhenSwtichingVolumeDevices property
|
||||
/// </summary>
|
||||
bool ZeroVolumeWhenSwtichingVolumeDevices { get; }
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,9 @@
|
||||
/// </summary>
|
||||
public interface IHasFarEndContentStatus
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets whether far end content is being received
|
||||
/// </summary>
|
||||
BoolFeedback ReceivingContent { get; }
|
||||
}
|
||||
}
|
||||
@@ -11,6 +11,9 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
|
||||
/// </example>
|
||||
public interface IHasInputs<T> : IKeyName
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the collection of inputs
|
||||
/// </summary>
|
||||
ISelectableItems<T> Inputs { get; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,9 @@ namespace PepperDash.Essentials.Core
|
||||
/// </summary>
|
||||
public interface IHasMuteControl
|
||||
{
|
||||
/// <summary>
|
||||
/// MuteToggle method
|
||||
/// </summary>
|
||||
void MuteToggle();
|
||||
}
|
||||
}
|
||||
@@ -5,8 +5,19 @@ namespace PepperDash.Essentials.Core
|
||||
/// </summary>
|
||||
public interface IHasMuteControlWithFeedback : IHasMuteControl
|
||||
{
|
||||
/// <summary>
|
||||
/// MuteFeedback property
|
||||
/// </summary>
|
||||
BoolFeedback MuteFeedback { get; }
|
||||
|
||||
/// <summary>
|
||||
/// MuteOn method
|
||||
/// </summary>
|
||||
void MuteOn();
|
||||
|
||||
/// <summary>
|
||||
/// MuteOff method
|
||||
/// </summary>
|
||||
void MuteOff();
|
||||
}
|
||||
}
|
||||
@@ -8,11 +8,36 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
|
||||
/// </summary>
|
||||
public interface IHasPhoneDialing
|
||||
{
|
||||
/// <summary>
|
||||
/// Feedback that indicates whether the phone is off-hook
|
||||
/// </summary>
|
||||
BoolFeedback PhoneOffHookFeedback { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Feedback that provides the caller ID name
|
||||
/// </summary>
|
||||
StringFeedback CallerIdNameFeedback { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Feedback that provides the caller ID number
|
||||
/// </summary>
|
||||
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);
|
||||
|
||||
/// <summary>
|
||||
/// Ends the current phone call
|
||||
/// </summary>
|
||||
void EndPhoneCall();
|
||||
|
||||
/// <summary>
|
||||
/// Sends a DTMF digit to the phone
|
||||
/// </summary>
|
||||
/// <param name="digit">the DTMF digit to send</param>
|
||||
void SendDtmfToPhone(string digit);
|
||||
}
|
||||
}
|
||||
@@ -11,10 +11,18 @@ 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>
|
||||
/// <typeparam name="TSelector">the type used to select an item. Most likely an enum or string</typeparam>
|
||||
public interface IHasSurroundSoundModes<TKey, TSelector>: IKeyName
|
||||
{
|
||||
/// <summary>
|
||||
/// The available surround sound modes
|
||||
/// </summary>
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,16 @@ namespace PepperDash.Essentials.Core
|
||||
/// </summary>
|
||||
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);
|
||||
|
||||
/// <summary>
|
||||
/// VolumeDown method
|
||||
/// </summary>
|
||||
/// <param name="pressRelease">determines if the volume down command is a press or release action</param>
|
||||
void VolumeDown(bool pressRelease);
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,15 @@ namespace PepperDash.Essentials.Core
|
||||
/// </summary>
|
||||
public interface IHasVolumeControlWithFeedback : IHasVolumeControl
|
||||
{
|
||||
/// <summary>
|
||||
/// SetVolume method
|
||||
/// </summary>
|
||||
/// <param name="level">The volume level to set</param>
|
||||
void SetVolume(ushort level);
|
||||
|
||||
/// <summary>
|
||||
/// VolumeLevelFeedback property
|
||||
/// </summary>
|
||||
IntFeedback VolumeLevelFeedback { get; }
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,9 @@ namespace PepperDash.Essentials.Core
|
||||
/// </summary>
|
||||
public interface IHasVolumeDevice
|
||||
{
|
||||
/// <summary>
|
||||
/// VolumeDevice property
|
||||
/// </summary>
|
||||
IBasicVolumeControls VolumeDevice { get; }
|
||||
}
|
||||
}
|
||||
@@ -11,9 +11,28 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
|
||||
/// </summary>
|
||||
public interface IHasWebView
|
||||
{
|
||||
/// <summary>
|
||||
/// Indicates whether the webview is currently visible
|
||||
/// </summary>
|
||||
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);
|
||||
|
||||
/// <summary>
|
||||
/// Hides the webview
|
||||
/// </summary>
|
||||
void HideWebView();
|
||||
|
||||
/// <summary>
|
||||
/// Event raised when the webview status changes
|
||||
/// </summary>
|
||||
event EventHandler<WebViewStatusChangedEventArgs> WebViewStatusChanged;
|
||||
}
|
||||
|
||||
@@ -27,6 +46,10 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
|
||||
/// </summary>
|
||||
public string Status { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Constructor for WebViewStatusChangedEventArgs
|
||||
/// </summary>
|
||||
/// <param name="status">the new status of the webview</param>
|
||||
public WebViewStatusChangedEventArgs(string status)
|
||||
{
|
||||
Status = status;
|
||||
|
||||
@@ -8,14 +8,49 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
|
||||
/// </summary>
|
||||
public interface ILanguageDefinition
|
||||
{
|
||||
/// <summary>
|
||||
/// The locale name for the language definition
|
||||
/// </summary>
|
||||
string LocaleName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The friendly name for the language definition
|
||||
/// </summary>
|
||||
string FriendlyName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Indicates whether the language definition is enabled
|
||||
/// </summary>
|
||||
bool Enable { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The UI labels for the language definition
|
||||
/// </summary>
|
||||
List<LanguageLabel> UiLabels { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The source and destination labels for the language definition
|
||||
/// </summary>
|
||||
List<LanguageLabel> Sources { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The destination labels for the language definition
|
||||
/// </summary>
|
||||
List<LanguageLabel> Destinations { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The source group names for the language definition
|
||||
/// </summary>
|
||||
List<LanguageLabel> SourceGroupNames { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The destination group names for the language definition
|
||||
/// </summary>
|
||||
List<LanguageLabel> DestinationGroupNames { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The room names for the language definition
|
||||
/// </summary>
|
||||
List<LanguageLabel> RoomNames { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,8 +8,14 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
|
||||
/// </summary>
|
||||
public interface ILanguageProvider
|
||||
{
|
||||
/// <summary>
|
||||
/// The current language definition
|
||||
/// </summary>
|
||||
ILanguageDefinition CurrentLanguage { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Event raised when the current language changes
|
||||
/// </summary>
|
||||
event EventHandler CurrentLanguageChanged;
|
||||
}
|
||||
|
||||
|
||||
@@ -11,6 +11,9 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
|
||||
/// </summary>
|
||||
public interface ILevelControls
|
||||
{
|
||||
/// <summary>
|
||||
/// The level control points
|
||||
/// </summary>
|
||||
Dictionary<string, IBasicVolumeWithFeedback> LevelControlPoints { get; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,8 +8,14 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
|
||||
/// </summary>
|
||||
public interface IMobileControlAction
|
||||
{
|
||||
/// <summary>
|
||||
/// The messenger to use for mobile control actions
|
||||
/// </summary>
|
||||
IMobileControlMessenger Messenger { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The action to perform for mobile control actions
|
||||
/// </summary>
|
||||
Action<string, string, JToken> Action { get; }
|
||||
}
|
||||
}
|
||||
@@ -3,14 +3,26 @@ using Newtonsoft.Json.Linq;
|
||||
|
||||
namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
|
||||
{
|
||||
/// <summary>
|
||||
/// Defines the contract for IMobileControlMessage
|
||||
/// </summary>
|
||||
public interface IMobileControlMessage
|
||||
{
|
||||
/// <summary>
|
||||
/// The type of mobile control message
|
||||
/// </summary>
|
||||
[JsonProperty("type")]
|
||||
string Type { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The client ID for the mobile control message
|
||||
/// </summary>
|
||||
[JsonProperty("clientId", NullValueHandling = NullValueHandling.Ignore)]
|
||||
string ClientId { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The content of the mobile control message
|
||||
/// </summary>
|
||||
[JsonProperty("content", NullValueHandling = NullValueHandling.Ignore)]
|
||||
JToken Content { get; }
|
||||
|
||||
|
||||
@@ -8,26 +8,60 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
|
||||
/// </summary>
|
||||
public interface IMobileControlRoomMessenger : IKeyed
|
||||
{
|
||||
/// <summary>
|
||||
/// Raised when the user code changes
|
||||
/// </summary>
|
||||
event EventHandler<EventArgs> UserCodeChanged;
|
||||
|
||||
/// <summary>
|
||||
/// Raised when the user is prompted for the code
|
||||
/// </summary>
|
||||
event EventHandler<EventArgs> UserPromptedForCode;
|
||||
|
||||
/// <summary>
|
||||
/// Raised when a client joins the room
|
||||
/// </summary>
|
||||
event EventHandler<EventArgs> ClientJoined;
|
||||
|
||||
/// <summary>
|
||||
/// Raised when the app url changes
|
||||
/// </summary>
|
||||
event EventHandler<EventArgs> AppUrlChanged;
|
||||
|
||||
/// <summary>
|
||||
/// The user code for joining the room
|
||||
/// </summary>
|
||||
string UserCode { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The QR code URL for joining the room
|
||||
/// </summary>
|
||||
string QrCodeUrl { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The QR code checksum
|
||||
/// </summary>
|
||||
string QrCodeChecksum { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The Mobile Control server URL
|
||||
/// </summary>
|
||||
string McServerUrl { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The name of the room
|
||||
/// </summary>
|
||||
string RoomName { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The Mobile Control app URL
|
||||
/// </summary>
|
||||
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);
|
||||
}
|
||||
}
|
||||
@@ -10,37 +10,119 @@ namespace PepperDash.Essentials.Core
|
||||
/// </summary>
|
||||
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);
|
||||
|
||||
/// <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);
|
||||
|
||||
/// <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);
|
||||
|
||||
/// <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);
|
||||
|
||||
/// <summary>
|
||||
/// Digit buttons 4
|
||||
/// </summary>
|
||||
/// <param name="pressRelease"></param>
|
||||
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);
|
||||
|
||||
/// <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);
|
||||
|
||||
/// <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);
|
||||
|
||||
/// <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);
|
||||
|
||||
/// <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);
|
||||
|
||||
/// <summary>
|
||||
/// Used to hide/show the button and/or text on the left-hand keypad button
|
||||
/// </summary>
|
||||
bool HasKeypadAccessoryButton1 { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Label for the left-hand keypad button
|
||||
/// </summary>
|
||||
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);
|
||||
|
||||
/// <summary>
|
||||
/// Used to hide/show the button and/or text on the right-hand keypad button
|
||||
/// </summary>
|
||||
bool HasKeypadAccessoryButton2 { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Label for the right-hand keypad button
|
||||
/// </summary>
|
||||
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);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Defines the contract for ISetTopBoxNumericKeypad
|
||||
/// </summary>
|
||||
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);
|
||||
|
||||
/// <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);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// INumericExtensions class
|
||||
/// </summary>
|
||||
public static class INumericExtensions
|
||||
{
|
||||
@@ -65,9 +147,9 @@ namespace PepperDash.Essentials.Core
|
||||
trilist.StringInput[111].StringValue = dev.KeypadAccessoryButton2Label;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// UnlinkButtons method
|
||||
/// </summary>
|
||||
/// <summary>
|
||||
/// UnlinkButtons method
|
||||
/// </summary>
|
||||
public static void UnlinkButtons(this INumericKeypad dev, BasicTriList trilist)
|
||||
{
|
||||
trilist.ClearBoolSigAction(110);
|
||||
|
||||
@@ -19,10 +19,13 @@ namespace PepperDash.Essentials.Core
|
||||
/// <summary>
|
||||
/// Submits the password
|
||||
/// </summary>
|
||||
/// <param name="password"></param>
|
||||
/// <param name="password">The password to submit</param>
|
||||
void SubmitPassword(string password);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// PasswordPromptEventArgs class
|
||||
/// </summary>
|
||||
public class PasswordPromptEventArgs : EventArgs
|
||||
{
|
||||
/// <summary>
|
||||
@@ -45,6 +48,13 @@ namespace PepperDash.Essentials.Core
|
||||
/// </summary>
|
||||
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)
|
||||
{
|
||||
LastAttemptWasIncorrect = lastAttemptIncorrect;
|
||||
|
||||
@@ -19,6 +19,9 @@ namespace PepperDash.Essentials.Core
|
||||
/// </summary>
|
||||
public interface IHasPowerControlWithFeedback : IHasPowerControl
|
||||
{
|
||||
/// <summary>
|
||||
/// Feedback indicating whether the device is powered on
|
||||
/// </summary>
|
||||
BoolFeedback PowerIsOnFeedback { get; }
|
||||
}
|
||||
|
||||
@@ -27,13 +30,24 @@ namespace PepperDash.Essentials.Core
|
||||
/// </summary>
|
||||
public interface IHasPowerControl
|
||||
{
|
||||
/// <summary>
|
||||
/// Powers the device on
|
||||
/// </summary>
|
||||
void PowerOn();
|
||||
|
||||
/// <summary>
|
||||
/// Powers the device off
|
||||
/// </summary>
|
||||
void PowerOff();
|
||||
|
||||
/// <summary>
|
||||
/// Toggles the power state of the device
|
||||
/// </summary>
|
||||
void PowerToggle();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// IHasPowerControlExtensions class
|
||||
/// </summary>
|
||||
public static class IHasPowerControlExtensions
|
||||
{
|
||||
|
||||
@@ -5,26 +5,60 @@ using Newtonsoft.Json.Converters;
|
||||
|
||||
namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
|
||||
{
|
||||
/// <summary>
|
||||
/// Defines the contract for IProjectorScreenLiftControl
|
||||
/// </summary>
|
||||
/// <summary>
|
||||
/// Defines the contract for IProjectorScreenLiftControl
|
||||
/// </summary>
|
||||
public interface IProjectorScreenLiftControl
|
||||
{
|
||||
/// <summary>
|
||||
/// Raises the screen/lift
|
||||
/// </summary>
|
||||
void Raise();
|
||||
|
||||
/// <summary>
|
||||
/// Lowers the screen/lift
|
||||
/// </summary>
|
||||
void Lower();
|
||||
|
||||
/// <summary>
|
||||
/// Stops the screen/lift
|
||||
/// </summary>
|
||||
BoolFeedback IsInUpPosition { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets whether the screen/lift is in the up position
|
||||
/// </summary>
|
||||
bool InUpPosition { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets whether the screen/lift is in the down position
|
||||
/// </summary>
|
||||
event EventHandler<EventArgs> PositionChanged;
|
||||
|
||||
/// <summary>
|
||||
/// The device key of the display associated with this screen/lift
|
||||
/// </summary>
|
||||
string DisplayDeviceKey { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The type of device
|
||||
/// </summary>
|
||||
eScreenLiftControlType Type { get; } // screen/lift
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Enumeration of eScreenLiftControlType values
|
||||
/// </summary>
|
||||
/// <summary>
|
||||
/// Enumeration of eScreenLiftControlType values
|
||||
/// </summary>
|
||||
public enum eScreenLiftControlType
|
||||
{
|
||||
/// <summary>
|
||||
/// Lift type device
|
||||
/// </summary>
|
||||
lift,
|
||||
|
||||
/// <summary>
|
||||
/// Screen type device
|
||||
/// </summary>
|
||||
screen
|
||||
}
|
||||
}
|
||||
@@ -10,10 +10,20 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
|
||||
/// </summary>
|
||||
public interface ISelectableItem : IKeyName
|
||||
{
|
||||
/// <summary>
|
||||
/// Raised when the item is updated
|
||||
/// </summary>
|
||||
event EventHandler ItemUpdated;
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets whether the item is selected
|
||||
/// </summary>
|
||||
[JsonProperty("isSelected")]
|
||||
bool IsSelected { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Selects the item
|
||||
/// </summary>
|
||||
void Select();
|
||||
}
|
||||
}
|
||||
@@ -9,12 +9,25 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
|
||||
/// </summary>
|
||||
public interface ISelectableItems<TKey, TValue> where TValue : ISelectableItem
|
||||
{
|
||||
/// <summary>
|
||||
/// Raised when the items are updated
|
||||
/// </summary>
|
||||
event EventHandler ItemsUpdated;
|
||||
|
||||
/// <summary>
|
||||
/// Raised when the current item changes
|
||||
/// </summary>
|
||||
event EventHandler CurrentItemChanged;
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the collection of selectable items
|
||||
/// </summary>
|
||||
[JsonProperty("items")]
|
||||
Dictionary<TKey, TValue> Items { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the current selected item key
|
||||
/// </summary>
|
||||
[JsonProperty("currentItem")]
|
||||
TKey CurrentItem { get; set; }
|
||||
|
||||
@@ -24,9 +37,6 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
|
||||
/// Describes a collection of items that can be selected
|
||||
/// </summary>
|
||||
/// <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>
|
||||
{
|
||||
}
|
||||
|
||||
@@ -5,9 +5,9 @@ using PepperDash.Essentials.Core.SmartObjects;
|
||||
|
||||
namespace PepperDash.Essentials.Core
|
||||
{
|
||||
/// <summary>
|
||||
/// Defines the contract for ISetTopBoxControls
|
||||
/// </summary>
|
||||
/// <summary>
|
||||
/// Defines the contract for ISetTopBoxControls
|
||||
/// </summary>
|
||||
public interface ISetTopBoxControls : IChannel, IColor, IDPad, ISetTopBoxNumericKeypad,
|
||||
ITransport, IUiDisplayInfo
|
||||
{
|
||||
@@ -31,27 +31,51 @@ namespace PepperDash.Essentials.Core
|
||||
/// </summary>
|
||||
bool HasDpad { get; }
|
||||
|
||||
/// <summary>
|
||||
/// TV Presets model
|
||||
/// </summary>
|
||||
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);
|
||||
|
||||
/// <summary>
|
||||
/// DvrList button action
|
||||
/// </summary>
|
||||
/// <param name="pressRelease">determines if the button action is a press or release</param>
|
||||
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);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// ISetTopBoxControlsExtensions class
|
||||
/// </summary>
|
||||
public static class ISetTopBoxControlsExtensions
|
||||
{
|
||||
/// <summary>
|
||||
/// LinkButtons method
|
||||
/// </summary>
|
||||
/// <summary>
|
||||
/// LinkButtons method
|
||||
/// </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)
|
||||
{
|
||||
triList.SetBoolSigAction(136, dev.DvrList);
|
||||
triList.SetBoolSigAction(152, dev.Replay);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// UnlinkButtons method
|
||||
/// </summary>
|
||||
/// <summary>
|
||||
/// UnlinkButtons method
|
||||
/// </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)
|
||||
{
|
||||
triList.ClearBoolSigAction(136);
|
||||
|
||||
@@ -17,9 +17,15 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
|
||||
/// </summary>
|
||||
IntFeedback TemperatureFeedback { get; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// The temperature in Celsius format
|
||||
/// </summary>
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,25 +7,65 @@ namespace PepperDash.Essentials.Core
|
||||
/// </summary>
|
||||
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);
|
||||
|
||||
/// <summary>
|
||||
/// Pause button action
|
||||
/// </summary>
|
||||
/// <param name="pressRelease">determines if the button action is a press or release</param>
|
||||
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);
|
||||
|
||||
/// <summary>
|
||||
/// Fast Forward button action
|
||||
/// </summary>
|
||||
/// <param name="pressRelease">determines if the button action is a press or release</param>
|
||||
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);
|
||||
|
||||
/// <summary>
|
||||
/// Chapter Plus button action
|
||||
/// </summary>
|
||||
/// <param name="pressRelease">determines if the button action is a press or release</param>
|
||||
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);
|
||||
|
||||
/// <summary>
|
||||
/// Record button action
|
||||
/// </summary>
|
||||
/// <param name="pressRelease">determines if the button action is a press or release</param>
|
||||
void Record(bool pressRelease);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// ITransportExtensions class
|
||||
/// </summary>
|
||||
public static class ITransportExtensions
|
||||
{
|
||||
/// <summary>
|
||||
/// Attaches to trilist joins: Play:145, Pause:146, Stop:147, ChapPlus:148, ChapMinus:149, Rewind:150, Ffwd:151, Record:154
|
||||
///
|
||||
/// </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)
|
||||
{
|
||||
triList.SetBoolSigAction(145, dev.Play);
|
||||
@@ -38,9 +78,11 @@ namespace PepperDash.Essentials.Core
|
||||
triList.SetBoolSigAction(154, dev.Record);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// UnlinkButtons method
|
||||
/// </summary>
|
||||
/// <summary>
|
||||
/// UnlinkButtons method
|
||||
/// </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)
|
||||
{
|
||||
triList.ClearBoolSigAction(145);
|
||||
|
||||
@@ -7,6 +7,9 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
|
||||
/// </summary>
|
||||
public interface ITvPresetsProvider
|
||||
{
|
||||
/// <summary>
|
||||
/// The TV presets model
|
||||
/// </summary>
|
||||
DevicePresetsModel TvPresets { get; }
|
||||
}
|
||||
}
|
||||
@@ -2,11 +2,14 @@
|
||||
|
||||
namespace PepperDash.Essentials.Core
|
||||
{
|
||||
/// <summary>
|
||||
/// Defines the contract for IUiDisplayInfo
|
||||
/// </summary>
|
||||
/// <summary>
|
||||
/// Defines the contract for IUiDisplayInfo
|
||||
/// </summary>
|
||||
public interface IUiDisplayInfo : IKeyed
|
||||
{
|
||||
/// <summary>
|
||||
/// Display UI Type
|
||||
/// </summary>
|
||||
uint DisplayUiType { get; }
|
||||
}
|
||||
}
|
||||
@@ -11,7 +11,14 @@ namespace PepperDash.Essentials.Core
|
||||
/// </summary>
|
||||
public interface IWarmingCooling
|
||||
{
|
||||
/// <summary>
|
||||
/// Feedback indicating whether the device is warming up
|
||||
/// </summary>
|
||||
BoolFeedback IsWarmingUpFeedback { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Feedback indicating whether the device is cooling down
|
||||
/// </summary>
|
||||
BoolFeedback IsCoolingDownFeedback { get; }
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,28 @@
|
||||
namespace PepperDash.Essentials.Core
|
||||
{
|
||||
/// <summary>
|
||||
/// Volume level units
|
||||
/// </summary>
|
||||
public enum eVolumeLevelUnits
|
||||
{
|
||||
/// <summary>
|
||||
/// Decibels
|
||||
/// </summary>
|
||||
Decibels,
|
||||
|
||||
/// <summary>
|
||||
/// Percent
|
||||
/// </summary>
|
||||
Percent,
|
||||
|
||||
/// <summary>
|
||||
/// Relative
|
||||
/// </summary>
|
||||
Relative,
|
||||
|
||||
/// <summary>
|
||||
/// Absolute
|
||||
/// </summary>
|
||||
Absolute
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user