mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-08-31 19:08:29 +00:00
feat (essentials): wip to move interfaces to their own folder/namespace
This commit is contained in:
parent
2f179ea190
commit
65d54f89ea
118 changed files with 526 additions and 464 deletions
|
|
@ -12,6 +12,7 @@ using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
|
|
||||||
//using PepperDash.Essentials.Devices.Common.Cameras;
|
//using PepperDash.Essentials.Devices.Common.Cameras;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Bridges
|
namespace PepperDash.Essentials.Core.Bridges
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -100,6 +100,7 @@ namespace PepperDash.Essentials.Core
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
public class GenericHttpClientEventArgs : EventArgs
|
public class GenericHttpClientEventArgs : EventArgs
|
||||||
{
|
{
|
||||||
public string ResponseText { get; private set; }
|
public string ResponseText { get; private set; }
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ using Newtonsoft.Json;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.Bridges;
|
using PepperDash.Essentials.Core.Bridges;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.CrestronIO
|
namespace PepperDash.Essentials.Core.CrestronIO
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using Crestron.SimplSharp;
|
|
||||||
|
|
||||||
using PepperDash.Essentials.Core;
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.CrestronIO
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Describes an output capable of switching on and off
|
|
||||||
/// </summary>
|
|
||||||
public interface ISwitchedOutput
|
|
||||||
{
|
|
||||||
BoolFeedback OutputIsOnFeedback {get;}
|
|
||||||
|
|
||||||
void On();
|
|
||||||
void Off();
|
|
||||||
}
|
|
||||||
|
|
||||||
public interface ISwitchedOutputCollection
|
|
||||||
{
|
|
||||||
Dictionary<uint, ISwitchedOutput> SwitchedOutputs { get; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -5,6 +5,8 @@ using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Core.JsonStandardObjects;
|
using PepperDash.Core.JsonStandardObjects;
|
||||||
using PepperDash.Essentials.Core.Bridges;
|
using PepperDash.Essentials.Core.Bridges;
|
||||||
|
using PepperDash.Essentials.Core.Devices;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
using System;
|
|
||||||
using PepperDash.Core;
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.DeviceInfo
|
|
||||||
{
|
|
||||||
public interface IDeviceInfoProvider:IKeyed
|
|
||||||
{
|
|
||||||
DeviceInfo DeviceInfo { get; }
|
|
||||||
|
|
||||||
event DeviceInfoChangeHandler DeviceInfoChanged;
|
|
||||||
|
|
||||||
void UpdateDeviceInfo();
|
|
||||||
}
|
|
||||||
|
|
||||||
public delegate void DeviceInfoChangeHandler(IKeyed device, DeviceInfoEventArgs args);
|
|
||||||
}
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
//using System;
|
|
||||||
//using System.Collections.Generic;
|
|
||||||
//using Crestron.SimplSharpPro;
|
|
||||||
//using Crestron.SimplSharpPro.DeviceSupport;
|
|
||||||
|
|
||||||
//using PepperDash.Core;
|
|
||||||
|
|
||||||
|
|
||||||
//namespace PepperDash.Essentials.Core
|
|
||||||
//{
|
|
||||||
// public interface IPresentationSource : IKeyed
|
|
||||||
// {
|
|
||||||
// string Name { get; }
|
|
||||||
// PresentationSourceType Type { get; }
|
|
||||||
// string IconName { get; set; }
|
|
||||||
// BoolFeedback HasPowerOnFeedback { get; }
|
|
||||||
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
using PepperDash.Core;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Core.DeviceInfo
|
||||||
|
{
|
||||||
|
// TODO: Change to event args... no reason for extraneous delegate
|
||||||
|
public delegate void DeviceInfoChangeHandler(IKeyed device, DeviceInfoEventArgs args);
|
||||||
|
}
|
||||||
|
|
@ -1,6 +1,4 @@
|
||||||
using Crestron.SimplSharpPro;
|
using Crestron.SimplSharpPro;
|
||||||
using Crestron.SimplSharpPro.DeviceSupport;
|
|
||||||
|
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.SmartObjects;
|
using PepperDash.Essentials.Core.SmartObjects;
|
||||||
|
|
||||||
|
|
@ -18,30 +16,4 @@ namespace PepperDash.Essentials.Core
|
||||||
void Info(bool pressRelease);
|
void Info(bool pressRelease);
|
||||||
void Exit(bool pressRelease);
|
void Exit(bool pressRelease);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
///
|
|
||||||
/// </summary>
|
|
||||||
public static class IChannelExtensions
|
|
||||||
{
|
|
||||||
public static void LinkButtons(this IChannel dev, BasicTriList triList)
|
|
||||||
{
|
|
||||||
triList.SetBoolSigAction(123, dev.ChannelUp);
|
|
||||||
triList.SetBoolSigAction(124, dev.ChannelDown);
|
|
||||||
triList.SetBoolSigAction(125, dev.LastChannel);
|
|
||||||
triList.SetBoolSigAction(137, dev.Guide);
|
|
||||||
triList.SetBoolSigAction(129, dev.Info);
|
|
||||||
triList.SetBoolSigAction(134, dev.Exit);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void UnlinkButtons(this IChannel dev, BasicTriList triList)
|
|
||||||
{
|
|
||||||
triList.ClearBoolSigAction(123);
|
|
||||||
triList.ClearBoolSigAction(124);
|
|
||||||
triList.ClearBoolSigAction(125);
|
|
||||||
triList.ClearBoolSigAction(137);
|
|
||||||
triList.ClearBoolSigAction(129);
|
|
||||||
triList.ClearBoolSigAction(134);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Core
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
public static class IChannelExtensions
|
||||||
|
{
|
||||||
|
public static void LinkButtons(this IChannel dev, BasicTriList triList)
|
||||||
|
{
|
||||||
|
triList.SetBoolSigAction(123, dev.ChannelUp);
|
||||||
|
triList.SetBoolSigAction(124, dev.ChannelDown);
|
||||||
|
triList.SetBoolSigAction(125, dev.LastChannel);
|
||||||
|
triList.SetBoolSigAction(137, dev.Guide);
|
||||||
|
triList.SetBoolSigAction(129, dev.Info);
|
||||||
|
triList.SetBoolSigAction(134, dev.Exit);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void UnlinkButtons(this IChannel dev, BasicTriList triList)
|
||||||
|
{
|
||||||
|
triList.ClearBoolSigAction(123);
|
||||||
|
triList.ClearBoolSigAction(124);
|
||||||
|
triList.ClearBoolSigAction(125);
|
||||||
|
triList.ClearBoolSigAction(137);
|
||||||
|
triList.ClearBoolSigAction(129);
|
||||||
|
triList.ClearBoolSigAction(134);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
using System;
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
|
|
||||||
{
|
|
||||||
public interface IHasBranding
|
|
||||||
{
|
|
||||||
bool BrandingEnabled { get; }
|
|
||||||
void InitializeBranding(string roomKey);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace PepperDash_Essentials_Core.DeviceTypeInterfaces
|
|
||||||
{
|
|
||||||
[Obsolete("Use PepperDash.Essentials.Core.DeviceTypeInterfaces")]
|
|
||||||
public interface IHasBranding
|
|
||||||
{
|
|
||||||
bool BrandingEnabled { get; }
|
|
||||||
void InitializeBranding(string roomKey);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -33,12 +33,6 @@ namespace PepperDash.Essentials.Core
|
||||||
void KeypadAccessoryButton2(bool pressRelease);
|
void KeypadAccessoryButton2(bool pressRelease);
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface ISetTopBoxNumericKeypad : INumericKeypad
|
|
||||||
{
|
|
||||||
void Dash(bool pressRelease);
|
|
||||||
void KeypadEnter(bool pressRelease);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
using Crestron.SimplSharpPro.DeviceSupport;
|
using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
|
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
using PepperDash.Essentials.Core.SmartObjects;
|
using PepperDash.Essentials.Core.SmartObjects;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
|
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
using Crestron.SimplSharpPro.DeviceSupport;
|
|
||||||
|
|
||||||
using PepperDash.Essentials.Core;
|
|
||||||
using PepperDash.Essentials.Core.SmartObjects;
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -5,15 +5,10 @@ using System.Text;
|
||||||
using Crestron.SimplSharp;
|
using Crestron.SimplSharp;
|
||||||
using Crestron.SimplSharpPro;
|
using Crestron.SimplSharpPro;
|
||||||
using Crestron.SimplSharpPro.DeviceSupport;
|
using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
|
|
||||||
public enum AudioChangeType
|
|
||||||
{
|
|
||||||
Mute, Volume
|
|
||||||
}
|
|
||||||
|
|
||||||
public class AudioChangeEventArgs
|
public class AudioChangeEventArgs
|
||||||
{
|
{
|
||||||
public AudioChangeType ChangeType { get; private set; }
|
public AudioChangeType ChangeType { get; private set; }
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
namespace PepperDash.Essentials.Core
|
||||||
|
{
|
||||||
|
public enum AudioChangeType
|
||||||
|
{
|
||||||
|
Mute, Volume
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,46 +0,0 @@
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using Crestron.SimplSharp;
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Adds control of codec receive volume
|
|
||||||
/// </summary>
|
|
||||||
public interface IReceiveVolume
|
|
||||||
{
|
|
||||||
// Break this out into 3 interfaces
|
|
||||||
void SetReceiveVolume(ushort level);
|
|
||||||
void ReceiveMuteOn();
|
|
||||||
void ReceiveMuteOff();
|
|
||||||
void ReceiveMuteToggle();
|
|
||||||
IntFeedback ReceiveLevelFeedback { get; }
|
|
||||||
BoolFeedback ReceiveMuteIsOnFeedback { get; }
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Adds control of codec transmit volume
|
|
||||||
/// </summary>
|
|
||||||
public interface ITransmitVolume
|
|
||||||
{
|
|
||||||
void SetTransmitVolume(ushort level);
|
|
||||||
void TransmitMuteOn();
|
|
||||||
void TransmitMuteOff();
|
|
||||||
void TransmitMuteToggle();
|
|
||||||
IntFeedback TransmitLevelFeedback { get; }
|
|
||||||
BoolFeedback TransmitMuteIsOnFeedback { get; }
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Adds control of codec privacy function (microphone mute)
|
|
||||||
/// </summary>
|
|
||||||
public interface IPrivacy
|
|
||||||
{
|
|
||||||
void PrivacyModeOn();
|
|
||||||
void PrivacyModeOff();
|
|
||||||
void PrivacyModeToggle();
|
|
||||||
BoolFeedback PrivacyModeIsOnFeedback { get; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -6,13 +6,14 @@ using Crestron.SimplSharp;
|
||||||
|
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.CrestronIO;
|
using PepperDash.Essentials.Core.CrestronIO;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Devices
|
namespace PepperDash.Essentials.Core.Devices
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// This wrapper class is meant to allow interfaces to be applied to any Crestron processor
|
/// This wrapper class is meant to allow interfaces to be applied to any Crestron processor
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class CrestronProcessor : Device, ISwitchedOutputCollection
|
public class CrestronProcessor : Device, IHasSwitchedOutputs
|
||||||
{
|
{
|
||||||
public Dictionary<uint, ISwitchedOutput> SwitchedOutputs { get; private set; }
|
public Dictionary<uint, ISwitchedOutput> SwitchedOutputs { get; private set; }
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
using Crestron.SimplSharpPro.DeviceSupport;
|
using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
using PepperDash.Essentials.Core.Bridges;
|
using PepperDash.Essentials.Core.Bridges;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,56 +0,0 @@
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using Crestron.SimplSharp;
|
|
||||||
using Crestron.SimplSharpPro;
|
|
||||||
using Crestron.SimplSharpPro.DeviceSupport;
|
|
||||||
|
|
||||||
using PepperDash.Core;
|
|
||||||
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
|
||||||
{
|
|
||||||
public interface IOnline
|
|
||||||
{
|
|
||||||
BoolFeedback IsOnline { get; }
|
|
||||||
}
|
|
||||||
|
|
||||||
///// <summary>
|
|
||||||
///// ** WANT THIS AND ALL ITS FRIENDS TO GO AWAY **
|
|
||||||
///// Defines a class that has a list of CueAction objects, typically
|
|
||||||
///// for linking functions to user interfaces or API calls
|
|
||||||
///// </summary>
|
|
||||||
//public interface IHasCueActionList
|
|
||||||
//{
|
|
||||||
// List<CueActionPair> CueActionList { get; }
|
|
||||||
//}
|
|
||||||
|
|
||||||
|
|
||||||
//public interface IHasComPortsHardware
|
|
||||||
//{
|
|
||||||
// IComPorts ComPortsDevice { get; }
|
|
||||||
//}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Describes a device that can have a video sync providing device attached to it
|
|
||||||
/// </summary>
|
|
||||||
public interface IAttachVideoStatus : IKeyed
|
|
||||||
{
|
|
||||||
// Extension methods will depend on this
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// For display classes that can provide usage data
|
|
||||||
/// </summary>
|
|
||||||
public interface IDisplayUsage
|
|
||||||
{
|
|
||||||
IntFeedback LampHours { get; }
|
|
||||||
}
|
|
||||||
|
|
||||||
public interface IMakeModel : IKeyed
|
|
||||||
{
|
|
||||||
string DeviceMake { get; }
|
|
||||||
string DeviceModel { get; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -3,6 +3,8 @@ using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using Crestron.SimplSharp;
|
using Crestron.SimplSharp;
|
||||||
|
using PepperDash.Essentials.Core.Devices;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using Crestron.SimplSharp;
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
|
||||||
{
|
|
||||||
public interface IBasicVideoMute
|
|
||||||
{
|
|
||||||
void VideoMuteToggle();
|
|
||||||
}
|
|
||||||
|
|
||||||
public interface IBasicVideoMuteWithFeedback : IBasicVideoMute
|
|
||||||
{
|
|
||||||
BoolFeedback VideoMuteIsOn { get; }
|
|
||||||
|
|
||||||
void VideoMuteOn();
|
|
||||||
void VideoMuteOff();
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -3,59 +3,10 @@ using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using Crestron.SimplSharp;
|
using Crestron.SimplSharp;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
/// <summary>
|
|
||||||
/// Defines minimal volume and mute control methods
|
|
||||||
/// </summary>
|
|
||||||
public interface IBasicVolumeControls : IHasVolumeControl, IHasMuteControl
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Defines basic volume control methods
|
|
||||||
/// </summary>
|
|
||||||
public interface IHasVolumeControl
|
|
||||||
{
|
|
||||||
void VolumeUp(bool pressRelease);
|
|
||||||
void VolumeDown(bool pressRelease);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Defines volume control methods and properties with feedback
|
|
||||||
/// </summary>
|
|
||||||
public interface IHasVolumeControlWithFeedback : IHasVolumeControl
|
|
||||||
{
|
|
||||||
void SetVolume(ushort level);
|
|
||||||
IntFeedback VolumeLevelFeedback { get; }
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Defines basic mute control methods
|
|
||||||
/// </summary>
|
|
||||||
public interface IHasMuteControl
|
|
||||||
{
|
|
||||||
void MuteToggle();
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Defines mute control methods and properties with feedback
|
|
||||||
/// </summary>
|
|
||||||
public interface IHasMuteControlWithFeedback : IHasMuteControl
|
|
||||||
{
|
|
||||||
BoolFeedback MuteFeedback { get; }
|
|
||||||
void MuteOn();
|
|
||||||
void MuteOff();
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Adds feedback and direct volume level set to IBasicVolumeControls
|
|
||||||
/// </summary>
|
|
||||||
public interface IBasicVolumeWithFeedback : IBasicVolumeControls, IHasVolumeControlWithFeedback, IHasMuteControlWithFeedback
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A class that implements this contains a reference to a current IBasicVolumeControls device.
|
/// A class that implements this contains a reference to a current IBasicVolumeControls device.
|
||||||
/// The class may have multiple IBasicVolumeControls.
|
/// The class may have multiple IBasicVolumeControls.
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ using Crestron.SimplSharpPro;
|
||||||
|
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
using PepperDash.Essentials.Core.Routing;
|
using PepperDash.Essentials.Core.Routing;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ using Crestron.SimplSharpPro;
|
||||||
|
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
using PepperDash.Essentials.Core.Routing;
|
using PepperDash.Essentials.Core.Routing;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ using PepperDash.Essentials.Core.Bridges;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Devices
|
namespace PepperDash.Essentials.Core.Devices
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,25 +1,8 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using Crestron.SimplSharp;
|
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core.Devices
|
||||||
{
|
{
|
||||||
public interface IUsageTracking
|
|
||||||
{
|
|
||||||
UsageTracking UsageTracker { get; set; }
|
|
||||||
}
|
|
||||||
|
|
||||||
//public static class IUsageTrackingExtensions
|
|
||||||
//{
|
|
||||||
// public static void EnableUsageTracker(this IUsageTracking device)
|
|
||||||
// {
|
|
||||||
// device.UsageTracker = new UsageTracking();
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|
||||||
public class UsageTracking
|
public class UsageTracking
|
||||||
{
|
{
|
||||||
public event EventHandler<DeviceUsageEventArgs> DeviceUsageEnded;
|
public event EventHandler<DeviceUsageEventArgs> DeviceUsageEnded;
|
||||||
|
|
@ -95,10 +78,4 @@ namespace PepperDash.Essentials.Core
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class DeviceUsageEventArgs : EventArgs
|
|
||||||
{
|
|
||||||
public DateTime UsageEndTime { get; set; }
|
|
||||||
public int MinutesUsed { get; set; }
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
@ -6,6 +6,7 @@ using Crestron.SimplSharp;
|
||||||
|
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
using PepperDash.Essentials.Core.Bridges;
|
using PepperDash.Essentials.Core.Bridges;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
using PepperDash.Essentials.Core.Routing;
|
using PepperDash.Essentials.Core.Routing;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,8 @@ using Crestron.SimplSharpPro.DM.Endpoints.Transmitters;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.Bridges;
|
using PepperDash.Essentials.Core.Bridges;
|
||||||
|
using PepperDash.Essentials.Core.Devices;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ using Crestron.SimplSharpPro.DM.Endpoints.Transmitters;
|
||||||
|
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.Bridges;
|
using PepperDash.Essentials.Core.Bridges;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
using PepperDash.Essentials.Core.Routing;
|
using PepperDash.Essentials.Core.Routing;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,8 @@ using Crestron.SimplSharpPro.Fusion;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
|
using PepperDash.Essentials.Core.Devices;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Fusion
|
namespace PepperDash.Essentials.Core.Fusion
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
using System;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Core
|
||||||
|
{
|
||||||
|
public class DeviceUsageEventArgs : EventArgs
|
||||||
|
{
|
||||||
|
public DateTime UsageEndTime { get; set; }
|
||||||
|
public int MinutesUsed { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
using PepperDash.Core;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Core.Interfaces
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Describes a device that can have a video sync providing device attached to it
|
||||||
|
/// </summary>
|
||||||
|
public interface IAttachVideoStatus : IKeyed
|
||||||
|
{
|
||||||
|
// Extension methods will depend on this
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
namespace PepperDash.Essentials.Core.Interfaces
|
||||||
|
{
|
||||||
|
public interface IBasicVideoMute
|
||||||
|
{
|
||||||
|
void VideoMuteToggle();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
namespace PepperDash.Essentials.Core.Interfaces
|
||||||
|
{
|
||||||
|
public interface IBasicVideoMuteWithFeedback : IBasicVideoMute
|
||||||
|
{
|
||||||
|
BoolFeedback VideoMuteIsOn { get; }
|
||||||
|
|
||||||
|
void VideoMuteOn();
|
||||||
|
void VideoMuteOff();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
namespace PepperDash.Essentials.Core.Interfaces
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Defines minimal volume and mute control methods
|
||||||
|
/// </summary>
|
||||||
|
public interface IBasicVolumeControls : IHasVolumeControl, IHasMuteControl
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
namespace PepperDash.Essentials.Core.Interfaces
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Adds feedback and direct volume level set to IBasicVolumeControls
|
||||||
|
/// </summary>
|
||||||
|
public interface IBasicVolumeWithFeedback : IBasicVolumeControls, IHasVolumeControlWithFeedback, IHasMuteControlWithFeedback
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
using Crestron.SimplSharpPro.DeviceSupport;
|
using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
|
using PepperDash.Essentials.Core.Bridges;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Bridges
|
namespace PepperDash.Essentials.Core.Interfaces
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Defines a device that uses JoinMapBaseAdvanced for its join map
|
/// Defines a device that uses JoinMapBaseAdvanced for its join map
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
using PepperDash.Core;
|
||||||
|
using PepperDash.Essentials.Core.DeviceInfo;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Core.Interfaces
|
||||||
|
{
|
||||||
|
public interface IDeviceInfoProvider:IKeyed
|
||||||
|
{
|
||||||
|
DeviceInfo.DeviceInfo DeviceInfo { get; }
|
||||||
|
|
||||||
|
event DeviceInfoChangeHandler DeviceInfoChanged;
|
||||||
|
|
||||||
|
void UpdateDeviceInfo();
|
||||||
|
}
|
||||||
|
}
|
||||||
10
src/PepperDash.Essentials.Core/Interfaces/IDisplayUsage.cs
Normal file
10
src/PepperDash.Essentials.Core/Interfaces/IDisplayUsage.cs
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
namespace PepperDash.Essentials.Core.Interfaces
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// For display classes that can provide usage data
|
||||||
|
/// </summary>
|
||||||
|
public interface IDisplayUsage
|
||||||
|
{
|
||||||
|
IntFeedback LampHours { get; }
|
||||||
|
}
|
||||||
|
}
|
||||||
8
src/PepperDash.Essentials.Core/Interfaces/IDspPreset.cs
Normal file
8
src/PepperDash.Essentials.Core/Interfaces/IDspPreset.cs
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
namespace PepperDash.Essentials.Core.Interfaces
|
||||||
|
{
|
||||||
|
// TODO: Is this a base class?
|
||||||
|
public interface IDspPreset
|
||||||
|
{
|
||||||
|
string Name { get; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
namespace PepperDash.Essentials.Core.Interfaces
|
||||||
|
{
|
||||||
|
public interface IHasBranding
|
||||||
|
{
|
||||||
|
bool BrandingEnabled { get; }
|
||||||
|
void InitializeBranding(string roomKey);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,17 +1,10 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core.Interfaces
|
||||||
{
|
{
|
||||||
public interface IHasDspPresets
|
public interface IHasDspPresets
|
||||||
{
|
{
|
||||||
List<IDspPreset> Presets { get; }
|
List<IDspPreset> Presets { get; }
|
||||||
|
|
||||||
void RecallPreset(IDspPreset preset);
|
void RecallPreset(IDspPreset preset);
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public interface IDspPreset
|
|
||||||
{
|
|
||||||
string Name { get; }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
10
src/PepperDash.Essentials.Core/Interfaces/IHasMuteControl.cs
Normal file
10
src/PepperDash.Essentials.Core/Interfaces/IHasMuteControl.cs
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
namespace PepperDash.Essentials.Core.Interfaces
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Defines basic mute control methods
|
||||||
|
/// </summary>
|
||||||
|
public interface IHasMuteControl
|
||||||
|
{
|
||||||
|
void MuteToggle();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
namespace PepperDash.Essentials.Core.Interfaces
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Defines mute control methods and properties with feedback
|
||||||
|
/// </summary>
|
||||||
|
public interface IHasMuteControlWithFeedback : IHasMuteControl
|
||||||
|
{
|
||||||
|
BoolFeedback MuteFeedback { get; }
|
||||||
|
void MuteOn();
|
||||||
|
void MuteOff();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Core.Interfaces
|
||||||
|
{
|
||||||
|
public interface IHasSwitchedOutputs
|
||||||
|
{
|
||||||
|
Dictionary<uint, ISwitchedOutput> SwitchedOutputs { get; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
namespace PepperDash.Essentials.Core.Interfaces
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Defines basic volume control methods
|
||||||
|
/// </summary>
|
||||||
|
public interface IHasVolumeControl
|
||||||
|
{
|
||||||
|
void VolumeUp(bool pressRelease);
|
||||||
|
void VolumeDown(bool pressRelease);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
namespace PepperDash.Essentials.Core.Interfaces
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Defines volume control methods and properties with feedback
|
||||||
|
/// </summary>
|
||||||
|
public interface IHasVolumeControlWithFeedback : IHasVolumeControl
|
||||||
|
{
|
||||||
|
void SetVolume(ushort level);
|
||||||
|
IntFeedback VolumeLevelFeedback { get; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,11 +1,6 @@
|
||||||
using System;
|
namespace PepperDash.Essentials.Core.Interfaces
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using Crestron.SimplSharp;
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
|
||||||
{
|
{
|
||||||
|
// TODO: potentially anemic model here
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Defines a class that uses an InUseTracker
|
/// Defines a class that uses an InUseTracker
|
||||||
/// </summary>
|
/// </summary>
|
||||||
10
src/PepperDash.Essentials.Core/Interfaces/IMakeModel.cs
Normal file
10
src/PepperDash.Essentials.Core/Interfaces/IMakeModel.cs
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
using PepperDash.Core;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Core.Interfaces
|
||||||
|
{
|
||||||
|
public interface IMakeModel : IKeyed
|
||||||
|
{
|
||||||
|
string DeviceMake { get; }
|
||||||
|
string DeviceModel { get; }
|
||||||
|
}
|
||||||
|
}
|
||||||
7
src/PepperDash.Essentials.Core/Interfaces/IOnline.cs
Normal file
7
src/PepperDash.Essentials.Core/Interfaces/IOnline.cs
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
namespace PepperDash.Essentials.Core.Interfaces
|
||||||
|
{
|
||||||
|
public interface IOnline
|
||||||
|
{
|
||||||
|
BoolFeedback IsOnline { get; }
|
||||||
|
}
|
||||||
|
}
|
||||||
13
src/PepperDash.Essentials.Core/Interfaces/IPrivacy.cs
Normal file
13
src/PepperDash.Essentials.Core/Interfaces/IPrivacy.cs
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
namespace PepperDash.Essentials.Core.Interfaces
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Adds control of codec privacy function (microphone mute)
|
||||||
|
/// </summary>
|
||||||
|
public interface IPrivacy
|
||||||
|
{
|
||||||
|
void PrivacyModeOn();
|
||||||
|
void PrivacyModeOff();
|
||||||
|
void PrivacyModeToggle();
|
||||||
|
BoolFeedback PrivacyModeIsOnFeedback { get; }
|
||||||
|
}
|
||||||
|
}
|
||||||
16
src/PepperDash.Essentials.Core/Interfaces/IReceiveVolume.cs
Normal file
16
src/PepperDash.Essentials.Core/Interfaces/IReceiveVolume.cs
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
namespace PepperDash.Essentials.Core.Interfaces
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Adds control of codec receive volume
|
||||||
|
/// </summary>
|
||||||
|
public interface IReceiveVolume
|
||||||
|
{
|
||||||
|
// Break this out into 3 interfaces
|
||||||
|
void SetReceiveVolume(ushort level);
|
||||||
|
void ReceiveMuteOn();
|
||||||
|
void ReceiveMuteOff();
|
||||||
|
void ReceiveMuteToggle();
|
||||||
|
IntFeedback ReceiveLevelFeedback { get; }
|
||||||
|
BoolFeedback ReceiveMuteIsOnFeedback { get; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,12 +1,7 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using Crestron.SimplSharp;
|
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Core.Interfaces
|
||||||
namespace PepperDash.Essentials.Core.Devices
|
|
||||||
{
|
{
|
||||||
public interface IReconfigurableDevice
|
public interface IReconfigurableDevice
|
||||||
{
|
{
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
namespace PepperDash.Essentials.Core.Interfaces
|
||||||
|
{
|
||||||
|
public interface ISetTopBoxNumericKeypad : INumericKeypad
|
||||||
|
{
|
||||||
|
void Dash(bool pressRelease);
|
||||||
|
void KeypadEnter(bool pressRelease);
|
||||||
|
}
|
||||||
|
}
|
||||||
14
src/PepperDash.Essentials.Core/Interfaces/ISwitchedOutput.cs
Normal file
14
src/PepperDash.Essentials.Core/Interfaces/ISwitchedOutput.cs
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
namespace PepperDash.Essentials.Core.Interfaces
|
||||||
|
{
|
||||||
|
// TODO: Is-A relationship; consider refactoring
|
||||||
|
/// <summary>
|
||||||
|
/// Describes an output capable of switching on and off
|
||||||
|
/// </summary>
|
||||||
|
public interface ISwitchedOutput
|
||||||
|
{
|
||||||
|
BoolFeedback OutputIsOnFeedback {get;}
|
||||||
|
|
||||||
|
void On();
|
||||||
|
void Off();
|
||||||
|
}
|
||||||
|
}
|
||||||
15
src/PepperDash.Essentials.Core/Interfaces/ITransmitVolume.cs
Normal file
15
src/PepperDash.Essentials.Core/Interfaces/ITransmitVolume.cs
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
namespace PepperDash.Essentials.Core.Interfaces
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Adds control of codec transmit volume
|
||||||
|
/// </summary>
|
||||||
|
public interface ITransmitVolume
|
||||||
|
{
|
||||||
|
void SetTransmitVolume(ushort level);
|
||||||
|
void TransmitMuteOn();
|
||||||
|
void TransmitMuteOff();
|
||||||
|
void TransmitMuteToggle();
|
||||||
|
IntFeedback TransmitLevelFeedback { get; }
|
||||||
|
BoolFeedback TransmitMuteIsOnFeedback { get; }
|
||||||
|
}
|
||||||
|
}
|
||||||
17
src/PepperDash.Essentials.Core/Interfaces/IUsageTracking.cs
Normal file
17
src/PepperDash.Essentials.Core/Interfaces/IUsageTracking.cs
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
using PepperDash.Essentials.Core.Devices;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Core.Interfaces
|
||||||
|
{
|
||||||
|
public interface IUsageTracking
|
||||||
|
{
|
||||||
|
UsageTracking UsageTracker { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
//public static class IUsageTrackingExtensions
|
||||||
|
//{
|
||||||
|
// public static void EnableUsageTracker(this IUsageTracking device)
|
||||||
|
// {
|
||||||
|
// device.UsageTracker = new UsageTracking();
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
}
|
||||||
15
src/PepperDash.Essentials.Core/Lighting/ILightingLoad.cs
Normal file
15
src/PepperDash.Essentials.Core/Lighting/ILightingLoad.cs
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
namespace PepperDash.Essentials.Core.Lighting
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Requiremnts for controlling a lighting load
|
||||||
|
/// </summary>
|
||||||
|
public interface ILightingLoad
|
||||||
|
{
|
||||||
|
void SetLoadLevel(int level);
|
||||||
|
void Raise();
|
||||||
|
void Lower();
|
||||||
|
|
||||||
|
IntFeedback LoadLevelFeedback { get; }
|
||||||
|
BoolFeedback LoadIsOnFeedback { get; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
namespace PepperDash.Essentials.Core.Lighting
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Requirements for a device that implements master raise/lower
|
||||||
|
/// </summary>
|
||||||
|
public interface ILightingMasterRaiseLower
|
||||||
|
{
|
||||||
|
void MasterRaise();
|
||||||
|
void MasterLower();
|
||||||
|
void MasterRaiseLowerStop();
|
||||||
|
}
|
||||||
|
}
|
||||||
20
src/PepperDash.Essentials.Core/Lighting/ILightingScenes.cs
Normal file
20
src/PepperDash.Essentials.Core/Lighting/ILightingScenes.cs
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Core.Lighting
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Requirements for a device that implements lighting scene control
|
||||||
|
/// </summary>
|
||||||
|
public interface ILightingScenes
|
||||||
|
{
|
||||||
|
event EventHandler<LightingSceneChangeEventArgs> LightingSceneChange;
|
||||||
|
|
||||||
|
List<LightingScene> LightingScenes { get; }
|
||||||
|
|
||||||
|
void SelectScene(LightingScene scene);
|
||||||
|
|
||||||
|
LightingScene CurrentLightingScene { get; }
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,59 +0,0 @@
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using Crestron.SimplSharp;
|
|
||||||
|
|
||||||
using PepperDash.Core;
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Lighting
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Requirements for a device that implements lighting scene control
|
|
||||||
/// </summary>
|
|
||||||
public interface ILightingScenes
|
|
||||||
{
|
|
||||||
event EventHandler<LightingSceneChangeEventArgs> LightingSceneChange;
|
|
||||||
|
|
||||||
List<LightingScene> LightingScenes { get; }
|
|
||||||
|
|
||||||
void SelectScene(LightingScene scene);
|
|
||||||
|
|
||||||
LightingScene CurrentLightingScene { get; }
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Requirements for a device that implements master raise/lower
|
|
||||||
/// </summary>
|
|
||||||
public interface ILightingMasterRaiseLower
|
|
||||||
{
|
|
||||||
void MasterRaise();
|
|
||||||
void MasterLower();
|
|
||||||
void MasterRaiseLowerStop();
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Requiremnts for controlling a lighting load
|
|
||||||
/// </summary>
|
|
||||||
public interface ILightingLoad
|
|
||||||
{
|
|
||||||
void SetLoadLevel(int level);
|
|
||||||
void Raise();
|
|
||||||
void Lower();
|
|
||||||
|
|
||||||
IntFeedback LoadLevelFeedback { get; }
|
|
||||||
BoolFeedback LoadIsOnFeedback { get; }
|
|
||||||
}
|
|
||||||
|
|
||||||
public class LightingSceneChangeEventArgs : EventArgs
|
|
||||||
{
|
|
||||||
public LightingScene CurrentLightingScene { get; private set; }
|
|
||||||
|
|
||||||
public LightingSceneChangeEventArgs(LightingScene scene)
|
|
||||||
{
|
|
||||||
CurrentLightingScene = scene;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -115,34 +115,4 @@ namespace PepperDash.Essentials.Core.Lighting
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class LightingScene
|
|
||||||
{
|
|
||||||
[JsonProperty("name", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
public string Name { get; set; }
|
|
||||||
[JsonProperty("id", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
public string ID { get; set; }
|
|
||||||
bool _IsActive;
|
|
||||||
[JsonProperty("isActive", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
public bool IsActive
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return _IsActive;
|
|
||||||
}
|
|
||||||
set
|
|
||||||
{
|
|
||||||
_IsActive = value;
|
|
||||||
IsActiveFeedback.FireUpdate();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[JsonIgnore]
|
|
||||||
public BoolFeedback IsActiveFeedback { get; set; }
|
|
||||||
|
|
||||||
public LightingScene()
|
|
||||||
{
|
|
||||||
IsActiveFeedback = new BoolFeedback(new Func<bool>(() => IsActive));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
35
src/PepperDash.Essentials.Core/Lighting/LightingScene.cs
Normal file
35
src/PepperDash.Essentials.Core/Lighting/LightingScene.cs
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
using System;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Core.Lighting
|
||||||
|
{
|
||||||
|
public class LightingScene
|
||||||
|
{
|
||||||
|
[JsonProperty("name", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
|
public string Name { get; set; }
|
||||||
|
[JsonProperty("id", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
|
public string ID { get; set; }
|
||||||
|
bool _IsActive;
|
||||||
|
[JsonProperty("isActive", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
|
public bool IsActive
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return _IsActive;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_IsActive = value;
|
||||||
|
IsActiveFeedback.FireUpdate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[JsonIgnore]
|
||||||
|
public BoolFeedback IsActiveFeedback { get; set; }
|
||||||
|
|
||||||
|
public LightingScene()
|
||||||
|
{
|
||||||
|
IsActiveFeedback = new BoolFeedback(new Func<bool>(() => IsActive));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
using System;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using Crestron.SimplSharp;
|
||||||
|
|
||||||
|
using PepperDash.Core;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Core.Lighting
|
||||||
|
{
|
||||||
|
public class LightingSceneChangeEventArgs : EventArgs
|
||||||
|
{
|
||||||
|
public LightingScene CurrentLightingScene { get; private set; }
|
||||||
|
|
||||||
|
public LightingSceneChangeEventArgs(LightingScene scene)
|
||||||
|
{
|
||||||
|
CurrentLightingScene = scene;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -8,6 +8,7 @@ using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
using PepperDash.Essentials.Core.CrestronIO;
|
using PepperDash.Essentials.Core.CrestronIO;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Privacy
|
namespace PepperDash.Essentials.Core.Privacy
|
||||||
|
|
|
||||||
|
|
@ -120,7 +120,25 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="Bridges\BridgeBase.cs" />
|
<Compile Include="Bridges\BridgeBase.cs" />
|
||||||
<Compile Include="Bridges\IBridge.cs" />
|
<Compile Include="Devices\AudioChangeType.cs" />
|
||||||
|
<Compile Include="Interfaces\IDisplayUsage.cs" />
|
||||||
|
<Compile Include="Interfaces\IBasicVolumeWithFeedback.cs" />
|
||||||
|
<Compile Include="Interfaces\IHasMuteControlWithFeedback.cs" />
|
||||||
|
<Compile Include="Interfaces\IAttachVideoStatus.cs" />
|
||||||
|
<Compile Include="Interfaces\IHasMuteControl.cs" />
|
||||||
|
<Compile Include="Interfaces\IHasVolumeControlWithFeedback.cs" />
|
||||||
|
<Compile Include="Interfaces\IHasVolumeControl.cs" />
|
||||||
|
<Compile Include="Interfaces\IBasicVideoMute.cs" />
|
||||||
|
<Compile Include="Interfaces\IOnline.cs" />
|
||||||
|
<Compile Include="Interfaces\IReceiveVolume.cs" />
|
||||||
|
<Compile Include="Interfaces\ITransmitVolume.cs" />
|
||||||
|
<Compile Include="Interfaces\IBasicVolumeControls.cs" />
|
||||||
|
<Compile Include="Interfaces\IHasSwitchedOutputs.cs" />
|
||||||
|
<Compile Include="DeviceTypeInterfaces\IChannelExtensions.cs" />
|
||||||
|
<Compile Include="DeviceInfo\DeviceInfoChangeHandler.cs" />
|
||||||
|
<Compile Include="InUseTracking\DeviceUsageEventArgs.cs" />
|
||||||
|
<Compile Include="Interfaces\ISetTopBoxNumericKeypad.cs" />
|
||||||
|
<Compile Include="Interfaces\IBridgeAdvanced.cs" />
|
||||||
<Compile Include="Bridges\JoinMaps\AirMediaControllerJoinMap.cs" />
|
<Compile Include="Bridges\JoinMaps\AirMediaControllerJoinMap.cs" />
|
||||||
<Compile Include="Bridges\JoinMaps\AppleTvJoinMap.cs" />
|
<Compile Include="Bridges\JoinMaps\AppleTvJoinMap.cs" />
|
||||||
<Compile Include="Bridges\JoinMaps\C2nRthsControllerJoinMap.cs" />
|
<Compile Include="Bridges\JoinMaps\C2nRthsControllerJoinMap.cs" />
|
||||||
|
|
@ -185,12 +203,12 @@
|
||||||
<Compile Include="Crestron IO\IOPortConfig.cs" />
|
<Compile Include="Crestron IO\IOPortConfig.cs" />
|
||||||
<Compile Include="Crestron IO\Relay\CenIoRy104Controller.cs" />
|
<Compile Include="Crestron IO\Relay\CenIoRy104Controller.cs" />
|
||||||
<Compile Include="Crestron IO\Relay\GenericRelayDevice.cs" />
|
<Compile Include="Crestron IO\Relay\GenericRelayDevice.cs" />
|
||||||
<Compile Include="Crestron IO\Relay\ISwitchedOutput.cs" />
|
<Compile Include="Interfaces\ISwitchedOutput.cs" />
|
||||||
<Compile Include="Crestron IO\StatusSign\StatusSignController.cs" />
|
<Compile Include="Crestron IO\StatusSign\StatusSignController.cs" />
|
||||||
<Compile Include="DeviceInfo\DeviceInfo.cs" />
|
<Compile Include="DeviceInfo\DeviceInfo.cs" />
|
||||||
<Compile Include="DeviceInfo\DeviceInfoEventArgs.cs" />
|
<Compile Include="DeviceInfo\DeviceInfoEventArgs.cs" />
|
||||||
<Compile Include="Device Info\IDeviceInfoProvider.cs" />
|
<Compile Include="Interfaces\IDeviceInfoProvider.cs" />
|
||||||
<Compile Include="Devices\CodecInterfaces.cs" />
|
<Compile Include="Interfaces\IPrivacy.cs" />
|
||||||
<Compile Include="Devices\CrestronProcessor.cs" />
|
<Compile Include="Devices\CrestronProcessor.cs" />
|
||||||
<Compile Include="Devices\DestinationListItem.cs" />
|
<Compile Include="Devices\DestinationListItem.cs" />
|
||||||
<Compile Include="Devices\DeviceApiBase.cs" />
|
<Compile Include="Devices\DeviceApiBase.cs" />
|
||||||
|
|
@ -198,9 +216,9 @@
|
||||||
<Compile Include="Devices\EssentialsBridgeableDevice.cs" />
|
<Compile Include="Devices\EssentialsBridgeableDevice.cs" />
|
||||||
<Compile Include="Devices\EssentialsDevice.cs" />
|
<Compile Include="Devices\EssentialsDevice.cs" />
|
||||||
<Compile Include="Devices\GenericIRController.cs" />
|
<Compile Include="Devices\GenericIRController.cs" />
|
||||||
<Compile Include="Devices\IDspPreset.cs" />
|
<Compile Include="Interfaces\IDspPreset.cs" />
|
||||||
<Compile Include="Devices\IProjectorInterfaces.cs" />
|
<Compile Include="Interfaces\IBasicVideoMuteWithFeedback.cs" />
|
||||||
<Compile Include="Devices\IReconfigurableDevice.cs" />
|
<Compile Include="Interfaces\IReconfigurableDevice.cs" />
|
||||||
<Compile Include="Devices\PC\InRoomPc.cs" />
|
<Compile Include="Devices\PC\InRoomPc.cs" />
|
||||||
<Compile Include="Devices\PC\Laptop.cs" />
|
<Compile Include="Devices\PC\Laptop.cs" />
|
||||||
<Compile Include="Devices\ReconfigurableDevice.cs" />
|
<Compile Include="Devices\ReconfigurableDevice.cs" />
|
||||||
|
|
@ -209,7 +227,7 @@
|
||||||
<Compile Include="DeviceTypeInterfaces\ITvPresetsProvider.cs" />
|
<Compile Include="DeviceTypeInterfaces\ITvPresetsProvider.cs" />
|
||||||
<Compile Include="DeviceTypeInterfaces\LanguageLabel.cs" />
|
<Compile Include="DeviceTypeInterfaces\LanguageLabel.cs" />
|
||||||
<Compile Include="DeviceTypeInterfaces\ILanguageProvider.cs" />
|
<Compile Include="DeviceTypeInterfaces\ILanguageProvider.cs" />
|
||||||
<Compile Include="DeviceTypeInterfaces\IHasBranding.cs" />
|
<Compile Include="Interfaces\IHasBranding.cs" />
|
||||||
<Compile Include="DeviceTypeInterfaces\ILanguageDefinition.cs" />
|
<Compile Include="DeviceTypeInterfaces\ILanguageDefinition.cs" />
|
||||||
<Compile Include="DeviceTypeInterfaces\IHasFarEndContentStatus.cs" />
|
<Compile Include="DeviceTypeInterfaces\IHasFarEndContentStatus.cs" />
|
||||||
<Compile Include="DeviceTypeInterfaces\IHasPhoneDialing.cs" />
|
<Compile Include="DeviceTypeInterfaces\IHasPhoneDialing.cs" />
|
||||||
|
|
@ -233,8 +251,14 @@
|
||||||
<Compile Include="Gateways\CenRfgwController.cs" />
|
<Compile Include="Gateways\CenRfgwController.cs" />
|
||||||
<Compile Include="Gateways\EssentialsRfGatewayConfig.cs" />
|
<Compile Include="Gateways\EssentialsRfGatewayConfig.cs" />
|
||||||
<Compile Include="Global\EthernetAdapterInfo.cs" />
|
<Compile Include="Global\EthernetAdapterInfo.cs" />
|
||||||
|
<Compile Include="Interfaces\IHasDspPresets.cs" />
|
||||||
<Compile Include="Interfaces\ILogStrings.cs" />
|
<Compile Include="Interfaces\ILogStrings.cs" />
|
||||||
<Compile Include="Interfaces\ILogStringsWithLevel.cs" />
|
<Compile Include="Interfaces\ILogStringsWithLevel.cs" />
|
||||||
|
<Compile Include="Devices\UsageTracking.cs" />
|
||||||
|
<Compile Include="Lighting\ILightingLoad.cs" />
|
||||||
|
<Compile Include="Lighting\ILightingMasterRaiseLower.cs" />
|
||||||
|
<Compile Include="Lighting\ILightingScenes.cs" />
|
||||||
|
<Compile Include="Lighting\LightingScene.cs" />
|
||||||
<Compile Include="Occupancy\GlsOccupancySensorPropertiesConfig.cs" />
|
<Compile Include="Occupancy\GlsOccupancySensorPropertiesConfig.cs" />
|
||||||
<Compile Include="Occupancy\GlsOirOccupancySensorController.cs" />
|
<Compile Include="Occupancy\GlsOirOccupancySensorController.cs" />
|
||||||
<Compile Include="PartitionSensor\EssentialsPartitionController.cs" />
|
<Compile Include="PartitionSensor\EssentialsPartitionController.cs" />
|
||||||
|
|
@ -248,7 +272,7 @@
|
||||||
<Compile Include="Global\Scheduler.cs" />
|
<Compile Include="Global\Scheduler.cs" />
|
||||||
<Compile Include="Queues\IQueue.cs" />
|
<Compile Include="Queues\IQueue.cs" />
|
||||||
<Compile Include="JoinMaps\JoinMapBase.cs" />
|
<Compile Include="JoinMaps\JoinMapBase.cs" />
|
||||||
<Compile Include="Lighting\Lighting Interfaces.cs" />
|
<Compile Include="Lighting\LightingSceneChangeEventArgs.cs" />
|
||||||
<Compile Include="Lighting\LightingBase.cs" />
|
<Compile Include="Lighting\LightingBase.cs" />
|
||||||
<Compile Include="Monitoring\SystemMonitorController.cs" />
|
<Compile Include="Monitoring\SystemMonitorController.cs" />
|
||||||
<Compile Include="Microphone Privacy\MicrophonePrivacyController.cs" />
|
<Compile Include="Microphone Privacy\MicrophonePrivacyController.cs" />
|
||||||
|
|
@ -268,7 +292,7 @@
|
||||||
<Compile Include="Config\InfoConfig.cs" />
|
<Compile Include="Config\InfoConfig.cs" />
|
||||||
<Compile Include="Config\DeviceConfig.cs" />
|
<Compile Include="Config\DeviceConfig.cs" />
|
||||||
<Compile Include="Devices\DisplayUiConstants.cs" />
|
<Compile Include="Devices\DisplayUiConstants.cs" />
|
||||||
<Compile Include="Devices\IUsageTracking.cs" />
|
<Compile Include="Interfaces\IUsageTracking.cs" />
|
||||||
<Compile Include="Devices\DeviceJsonApi.cs" />
|
<Compile Include="Devices\DeviceJsonApi.cs" />
|
||||||
<Compile Include="Devices\SourceListItem.cs" />
|
<Compile Include="Devices\SourceListItem.cs" />
|
||||||
<Compile Include="DeviceTypeInterfaces\IDisplayBasic.cs" />
|
<Compile Include="DeviceTypeInterfaces\IDisplayBasic.cs" />
|
||||||
|
|
@ -282,7 +306,6 @@
|
||||||
<Compile Include="DeviceTypeInterfaces\IColorFunctions.cs" />
|
<Compile Include="DeviceTypeInterfaces\IColorFunctions.cs" />
|
||||||
<Compile Include="DeviceTypeInterfaces\IDPad.cs" />
|
<Compile Include="DeviceTypeInterfaces\IDPad.cs" />
|
||||||
<Compile Include="DeviceTypeInterfaces\IDvr.cs" />
|
<Compile Include="DeviceTypeInterfaces\IDvr.cs" />
|
||||||
<Compile Include="DeviceTypeInterfaces\Template.cs" />
|
|
||||||
<Compile Include="DeviceTypeInterfaces\ITransport.cs" />
|
<Compile Include="DeviceTypeInterfaces\ITransport.cs" />
|
||||||
<Compile Include="Devices\GenericMonitoredTcpDevice.cs" />
|
<Compile Include="Devices\GenericMonitoredTcpDevice.cs" />
|
||||||
<Compile Include="DeviceTypeInterfaces\INumeric.cs" />
|
<Compile Include="DeviceTypeInterfaces\INumeric.cs" />
|
||||||
|
|
@ -306,7 +329,7 @@
|
||||||
<Compile Include="Room\iOccupancyStatusProvider.cs" />
|
<Compile Include="Room\iOccupancyStatusProvider.cs" />
|
||||||
<Compile Include="Routing\DummyRoutingInputsDevice.cs" />
|
<Compile Include="Routing\DummyRoutingInputsDevice.cs" />
|
||||||
<Compile Include="Routing\ICardPortsDevice.cs" />
|
<Compile Include="Routing\ICardPortsDevice.cs" />
|
||||||
<Compile Include="InUseTracking\IInUseTracking.cs" />
|
<Compile Include="Interfaces\IInUseTracking.cs" />
|
||||||
<Compile Include="InUseTracking\InUseTracking.cs" />
|
<Compile Include="InUseTracking\InUseTracking.cs" />
|
||||||
<Compile Include="Routing\IRoutingInputsExtensions.cs" />
|
<Compile Include="Routing\IRoutingInputsExtensions.cs" />
|
||||||
<Compile Include="Monitoring\StatusMonitorCollection.cs" />
|
<Compile Include="Monitoring\StatusMonitorCollection.cs" />
|
||||||
|
|
@ -314,9 +337,9 @@
|
||||||
<Compile Include="Monitoring\StatusMonitorBase.cs" />
|
<Compile Include="Monitoring\StatusMonitorBase.cs" />
|
||||||
<Compile Include="Monitoring\Interfaces.cs" />
|
<Compile Include="Monitoring\Interfaces.cs" />
|
||||||
<Compile Include="Monitoring\GenericCommunicationMonitor.cs" />
|
<Compile Include="Monitoring\GenericCommunicationMonitor.cs" />
|
||||||
<Compile Include="Devices\AudioInterfaces.cs" />
|
<Compile Include="Devices\AudioChangeEventArgs.cs" />
|
||||||
<Compile Include="Devices\IAttachVideoStatusExtensions.cs" />
|
<Compile Include="Devices\IAttachVideoStatusExtensions.cs" />
|
||||||
<Compile Include="Devices\IHasFeedbacks.cs" />
|
<Compile Include="Interfaces\IHasFeedbacks.cs" />
|
||||||
<Compile Include="Devices\SmartObjectBaseTypes.cs" />
|
<Compile Include="Devices\SmartObjectBaseTypes.cs" />
|
||||||
<Compile Include="Devices\PresentationDeviceType.cs" />
|
<Compile Include="Devices\PresentationDeviceType.cs" />
|
||||||
<Compile Include="Display\MockDisplay.cs" />
|
<Compile Include="Display\MockDisplay.cs" />
|
||||||
|
|
@ -363,7 +386,6 @@
|
||||||
<Compile Include="Utilities\ActionSequence.cs" />
|
<Compile Include="Utilities\ActionSequence.cs" />
|
||||||
<Compile Include="VideoStatus\VideoStatusOutputs.cs" />
|
<Compile Include="VideoStatus\VideoStatusOutputs.cs" />
|
||||||
<Compile Include="Crestron\CrestronGenericBaseDevice.cs" />
|
<Compile Include="Crestron\CrestronGenericBaseDevice.cs" />
|
||||||
<Compile Include="DeviceControlsParentInterfaces\IPresentationSource.cs" />
|
|
||||||
<Compile Include="Devices\DeviceManager.cs" />
|
<Compile Include="Devices\DeviceManager.cs" />
|
||||||
<Compile Include="Devices\IrOutputPortController.cs" />
|
<Compile Include="Devices\IrOutputPortController.cs" />
|
||||||
<Compile Include="Display\DisplayBase.cs" />
|
<Compile Include="Display\DisplayBase.cs" />
|
||||||
|
|
@ -372,7 +394,7 @@
|
||||||
<Compile Include="SmartObjects\SubpageReferencList\SourceListSubpageReferenceList.cs" />
|
<Compile Include="SmartObjects\SubpageReferencList\SourceListSubpageReferenceList.cs" />
|
||||||
<Compile Include="Touchpanels\ModalDialog.cs" />
|
<Compile Include="Touchpanels\ModalDialog.cs" />
|
||||||
<Compile Include="TriListBridges\HandlerBridge.cs" />
|
<Compile Include="TriListBridges\HandlerBridge.cs" />
|
||||||
<Compile Include="Devices\FIND HOMES Interfaces.cs" />
|
<Compile Include="Interfaces\IMakeModel.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
<Compile Include="SigHelper.cs" />
|
<Compile Include="SigHelper.cs" />
|
||||||
<Compile Include="SmartObjects\SubpageReferencList\SubpageReferenceList.cs" />
|
<Compile Include="SmartObjects\SubpageReferencList\SubpageReferenceList.cs" />
|
||||||
|
|
|
||||||
|
|
@ -58,6 +58,7 @@ namespace PepperDash.Essentials
|
||||||
|
|
||||||
Debug.Console(2, "Found {0} Assemblies", assemblyFiles.Length);
|
Debug.Console(2, "Found {0} Assemblies", assemblyFiles.Length);
|
||||||
|
|
||||||
|
//TODO update assembly names here
|
||||||
foreach (var fi in assemblyFiles)
|
foreach (var fi in assemblyFiles)
|
||||||
{
|
{
|
||||||
string version = string.Empty;
|
string version = string.Empty;
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ using PepperDash.Core;
|
||||||
|
|
||||||
//using SSMono.IO;
|
//using SSMono.IO;
|
||||||
using PepperDash.Core.WebApi.Presets;
|
using PepperDash.Core.WebApi.Presets;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Presets
|
namespace PepperDash.Essentials.Core.Presets
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ using PepperDash.Essentials.Core.Devices;
|
||||||
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
|
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
|
||||||
|
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ using System.Text;
|
||||||
using Crestron.SimplSharp;
|
using Crestron.SimplSharp;
|
||||||
|
|
||||||
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
|
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
using PepperDash.Essentials.Room.Config;
|
using PepperDash.Essentials.Room.Config;
|
||||||
using PepperDash.Essentials.Core.Devices;
|
using PepperDash.Essentials.Core.Devices;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ using Crestron.SimplSharp;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
using PepperDash.Essentials.Core.Routing;
|
using PepperDash.Essentials.Core.Routing;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Devices.Common
|
namespace PepperDash.Essentials.Devices.Common
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,8 @@ using Crestron.SimplSharp;
|
||||||
|
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
|
using PepperDash.Essentials.Core.Devices;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
using PepperDash.Essentials.Devices.Common.Codec;
|
using PepperDash.Essentials.Devices.Common.Codec;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Devices.Common.AudioCodec
|
namespace PepperDash.Essentials.Devices.Common.AudioCodec
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Bridges;
|
using PepperDash.Essentials.Core.Bridges;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
using PepperDash.Essentials.Devices.Common.Codec;
|
using PepperDash.Essentials.Devices.Common.Codec;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using Crestron.SimplSharp.Reflection;
|
using Crestron.SimplSharp.Reflection;
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ using System.Text;
|
||||||
using Crestron.SimplSharp;
|
using Crestron.SimplSharp;
|
||||||
|
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Devices.Common.Codec
|
namespace PepperDash.Essentials.Devices.Common.Codec
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ using Crestron.SimplSharp;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Devices.Common.DSP
|
namespace PepperDash.Essentials.Devices.Common.DSP
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,8 @@ using Newtonsoft.Json.Linq;
|
||||||
|
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
|
using PepperDash.Essentials.Core.Devices;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
using PepperDash.Essentials.Core.Routing;
|
using PepperDash.Essentials.Core.Routing;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
using PepperDash.Essentials.Core.Bridges;
|
using PepperDash.Essentials.Core.Bridges;
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Bridges;
|
using PepperDash.Essentials.Core.Bridges;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
using PepperDash.Essentials.Core.Routing;
|
using PepperDash.Essentials.Core.Routing;
|
||||||
using Feedback = PepperDash.Essentials.Core.Feedback;
|
using Feedback = PepperDash.Essentials.Core.Feedback;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
using PepperDash.Essentials.Core.Bridges;
|
using PepperDash.Essentials.Core.Bridges;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
using PepperDash.Essentials.Core.Routing;
|
using PepperDash.Essentials.Core.Routing;
|
||||||
using Feedback = PepperDash.Essentials.Core.Feedback;
|
using Feedback = PepperDash.Essentials.Core.Feedback;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
using PepperDash.Essentials.Core.Bridges;
|
using PepperDash.Essentials.Core.Bridges;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
using PepperDash.Essentials.Core.Routing;
|
using PepperDash.Essentials.Core.Routing;
|
||||||
using Feedback = PepperDash.Essentials.Core.Feedback;
|
using Feedback = PepperDash.Essentials.Core.Feedback;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Bridges;
|
using PepperDash.Essentials.Core.Bridges;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
using PepperDash.Essentials.Core.Routing;
|
using PepperDash.Essentials.Core.Routing;
|
||||||
using Feedback = PepperDash.Essentials.Core.Feedback;
|
using Feedback = PepperDash.Essentials.Core.Feedback;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,10 +11,11 @@ using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
using PepperDash.Essentials.Core.CrestronIO;
|
using PepperDash.Essentials.Core.CrestronIO;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Devices.Common.Environment.Lighting
|
namespace PepperDash.Essentials.Devices.Common.Environment.Lighting
|
||||||
{
|
{
|
||||||
public class Din8sw8Controller : EssentialsDevice, ISwitchedOutputCollection
|
public class Din8sw8Controller : EssentialsDevice, IHasSwitchedOutputs
|
||||||
{
|
{
|
||||||
// Need to figure out some sort of interface to make these switched outputs behave like processor relays so they can be used interchangably
|
// Need to figure out some sort of interface to make these switched outputs behave like processor relays so they can be used interchangably
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
using PepperDash.Essentials.Core.CrestronIO;
|
using PepperDash.Essentials.Core.CrestronIO;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
using PepperDash.Essentials.Core.Shades;
|
using PepperDash.Essentials.Core.Shades;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Devices.Common.Environment.Somfy
|
namespace PepperDash.Essentials.Devices.Common.Environment.Somfy
|
||||||
|
|
@ -87,7 +88,7 @@ namespace PepperDash.Essentials.Devices.Common.Environment.Somfy
|
||||||
|
|
||||||
if (portDevice != null)
|
if (portDevice != null)
|
||||||
{
|
{
|
||||||
return (portDevice as ISwitchedOutputCollection).SwitchedOutputs[relayConfig.PortNumber];
|
return (portDevice as IHasSwitchedOutputs).SwitchedOutputs[relayConfig.PortNumber];
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,8 @@ using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
|
using PepperDash.Essentials.Core.Devices;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
using PepperDash.Essentials.Core.Routing;
|
using PepperDash.Essentials.Core.Routing;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Devices.Common
|
namespace PepperDash.Essentials.Devices.Common
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,8 @@ using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Bridges;
|
using PepperDash.Essentials.Core.Bridges;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
|
using PepperDash.Essentials.Core.Devices;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
using PepperDash.Essentials.Core.Presets;
|
using PepperDash.Essentials.Core.Presets;
|
||||||
using PepperDash.Essentials.Core.Routing;
|
using PepperDash.Essentials.Core.Routing;
|
||||||
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
|
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ using Crestron.SimplSharp;
|
||||||
|
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
using PepperDash.Essentials.Core.Routing;
|
using PepperDash.Essentials.Core.Routing;
|
||||||
using PepperDash.Essentials.Core.Devices;
|
using PepperDash.Essentials.Core.Devices;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ using System.Text;
|
||||||
using Crestron.SimplSharp;
|
using Crestron.SimplSharp;
|
||||||
using Crestron.SimplSharpPro.DeviceSupport;
|
using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
using PepperDash.Essentials.Core.Bridges;
|
using PepperDash.Essentials.Core.Bridges;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
using PepperDash.Essentials.Devices.Common.Cameras;
|
using PepperDash.Essentials.Devices.Common.Cameras;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
|
namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Bridges;
|
using PepperDash.Essentials.Core.Bridges;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
|
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
using PepperDash.Essentials.Core.Routing;
|
using PepperDash.Essentials.Core.Routing;
|
||||||
using PepperDash.Essentials.Devices.Common.Cameras;
|
using PepperDash.Essentials.Devices.Common.Cameras;
|
||||||
using PepperDash.Essentials.Devices.Common.Codec;
|
using PepperDash.Essentials.Devices.Common.Codec;
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ using System.Text;
|
||||||
using Crestron.SimplSharp;
|
using Crestron.SimplSharp;
|
||||||
|
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Devices.Common.VideoCodec
|
namespace PepperDash.Essentials.Devices.Common.VideoCodec
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ using Crestron.SimplSharp;
|
||||||
using Crestron.SimplSharpPro.DeviceSupport;
|
using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.Bridges;
|
using PepperDash.Essentials.Core.Bridges;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
using PepperDash.Essentials.Devices.Common.VideoCodec;
|
using PepperDash.Essentials.Devices.Common.VideoCodec;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Devices.Common.Cameras
|
namespace PepperDash.Essentials.Devices.Common.Cameras
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ using PepperDash.Essentials.Core.Bridges;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
using PepperDash.Essentials.Core.Devices;
|
using PepperDash.Essentials.Core.Devices;
|
||||||
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
|
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
using PepperDash.Essentials.Core.Routing;
|
using PepperDash.Essentials.Core.Routing;
|
||||||
using PepperDash.Essentials.Devices.Common.Cameras;
|
using PepperDash.Essentials.Devices.Common.Cameras;
|
||||||
using PepperDash.Essentials.Devices.Common.Codec;
|
using PepperDash.Essentials.Devices.Common.Codec;
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ using System.Text;
|
||||||
using Crestron.SimplSharp;
|
using Crestron.SimplSharp;
|
||||||
using Crestron.SimplSharpPro.DeviceSupport;
|
using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
using PepperDash.Essentials.Core.Bridges;
|
using PepperDash.Essentials.Core.Bridges;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
using PepperDash.Essentials.Devices.Common.Cameras;
|
using PepperDash.Essentials.Devices.Common.Cameras;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
|
namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ using Crestron.SimplSharpPro.DM;
|
||||||
|
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.DM
|
namespace PepperDash.Essentials.DM
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ using Newtonsoft.Json;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Bridges;
|
using PepperDash.Essentials.Core.Bridges;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
using PepperDash.Essentials.DM.Config;
|
using PepperDash.Essentials.DM.Config;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Bridges;
|
using PepperDash.Essentials.Core.Bridges;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.DM
|
namespace PepperDash.Essentials.DM
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@ using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
using Crestron.SimplSharpPro.DeviceSupport;
|
using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
using PepperDash.Essentials.Core.DeviceInfo;
|
using PepperDash.Essentials.Core.DeviceInfo;
|
||||||
|
using PepperDash.Essentials.Core.Interfaces;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.DM.Endpoints.DGEs
|
namespace PepperDash.Essentials.DM.Endpoints.DGEs
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue