From 65d54f89ea310f4af1f7e57d15bcb912a5cb9de7 Mon Sep 17 00:00:00 2001 From: Nick Genovese Date: Mon, 21 Mar 2022 10:53:11 -0400 Subject: [PATCH] feat (essentials): wip to move interfaces to their own folder/namespace --- .../Bridges/BridgeBase.cs | 1 + .../Comm and IR/GenericHttpClient.cs | 1 + .../Crestron IO/Relay/GenericRelayDevice.cs | 1 + .../Crestron IO/Relay/ISwitchedOutput.cs | 26 -------- .../Crestron/CrestronGenericBaseDevice.cs | 2 + .../Device Info/IDeviceInfoProvider.cs | 16 ----- .../IPresentationSource.cs | 19 ------ .../{Device Info => DeviceInfo}/DeviceInfo.cs | 0 .../DeviceInfo/DeviceInfoChangeHandler.cs | 7 +++ .../DeviceInfoEventArgs.cs | 0 .../DeviceTypeInterfaces/IChannel.cs | 28 --------- .../IChannelExtensions.cs | 30 ++++++++++ .../DeviceTypeInterfaces/IHasBranding.cs | 20 ------- .../DeviceTypeInterfaces/INumeric.cs | 8 +-- .../ISetTopBoxControls.cs | 1 + .../DeviceTypeInterfaces/Template.cs | 9 --- ...oInterfaces.cs => AudioChangeEventArgs.cs} | 9 +-- .../Devices/AudioChangeType.cs | 7 +++ .../Devices/CodecInterfaces.cs | 46 --------------- .../Devices/CrestronProcessor.cs | 3 +- .../Devices/EssentialsBridgeableDevice.cs | 1 + .../Devices/FIND HOMES Interfaces.cs | 56 ------------------ .../Devices/IAttachVideoStatusExtensions.cs | 2 + .../Devices/IProjectorInterfaces.cs | 22 ------- .../Devices/IVolumeAndAudioInterfaces.cs | 51 +--------------- .../Devices/PC/InRoomPc.cs | 1 + .../Devices/PC/Laptop.cs | 1 + .../Devices/ReconfigurableDevice.cs | 1 + .../{IUsageTracking.cs => UsageTracking.cs} | 27 +-------- .../Devices/VolumeDeviceChangeEventArgs.cs | 1 + .../Display/BasicIrDisplay.cs | 1 + .../Display/DisplayBase.cs | 2 + .../Display/MockDisplay.cs | 1 + ...lsHuddleSpaceFusionSystemControllerBase.cs | 2 + .../InUseTracking/DeviceUsageEventArgs.cs | 10 ++++ .../Interfaces/IAttachVideoStatus.cs | 12 ++++ .../Interfaces/IBasicVideoMute.cs | 7 +++ .../Interfaces/IBasicVideoMuteWithFeedback.cs | 11 ++++ .../Interfaces/IBasicVolumeControls.cs | 9 +++ .../Interfaces/IBasicVolumeWithFeedback.cs | 9 +++ .../IBridgeAdvanced.cs} | 3 +- .../Interfaces/IDeviceInfoProvider.cs | 14 +++++ .../Interfaces/IDisplayUsage.cs | 10 ++++ .../Interfaces/IDspPreset.cs | 8 +++ .../Interfaces/IHasBranding.cs | 8 +++ .../IHasDspPresets.cs} | 9 +-- .../{Devices => Interfaces}/IHasFeedbacks.cs | 0 .../Interfaces/IHasMuteControl.cs | 10 ++++ .../Interfaces/IHasMuteControlWithFeedback.cs | 12 ++++ .../Interfaces/IHasSwitchedOutputs.cs | 9 +++ .../Interfaces/IHasVolumeControl.cs | 11 ++++ .../IHasVolumeControlWithFeedback.cs | 11 ++++ .../IInUseTracking.cs | 9 +-- .../Interfaces/IMakeModel.cs | 10 ++++ .../Interfaces/IOnline.cs | 7 +++ .../Interfaces/IPrivacy.cs | 13 ++++ .../Interfaces/IReceiveVolume.cs | 16 +++++ .../IReconfigurableDevice.cs | 7 +-- .../Interfaces/ISetTopBoxNumericKeypad.cs | 8 +++ .../Interfaces/ISwitchedOutput.cs | 14 +++++ .../Interfaces/ITransmitVolume.cs | 15 +++++ .../Interfaces/IUsageTracking.cs | 17 ++++++ .../Lighting/ILightingLoad.cs | 15 +++++ .../Lighting/ILightingMasterRaiseLower.cs | 12 ++++ .../Lighting/ILightingScenes.cs | 20 +++++++ .../Lighting/Lighting Interfaces.cs | 59 ------------------- .../Lighting/LightingBase.cs | 30 ---------- .../Lighting/LightingScene.cs | 35 +++++++++++ .../Lighting/LightingSceneChangeEventArgs.cs | 20 +++++++ .../MicrophonePrivacyController.cs | 1 + .../PepperDash.Essentials.Core.csproj | 58 ++++++++++++------ .../Plugins/PluginLoader.cs | 1 + .../Presets/DevicePresets.cs | 1 + .../Room/EssentialsRoomBase.cs | 1 + .../Room/IEssentialsRoom.cs | 1 + .../Audio/GenericAudioOut.cs | 2 +- .../AudioCodec/AudioCodecBase.cs | 2 + .../Cameras/CameraVisca.cs | 1 + .../Codec/iCodecAudio.cs | 1 + .../BiampTesira/BiampTesiraForteDspLevel.cs | 1 + .../DiscPlayer/IRDiscPlayerBase.cs | 2 + .../Display/AvocorVTFDisplay.cs | 1 + .../Display/NECPSXMDisplay.cs | 1 + .../Display/PanasonicThDisplay.cs | 1 + .../Display/SamsungMDCDisplay.cs | 1 + .../Environment/Crestron Lighting/Din8sw8.cs | 3 +- .../Environment/Somfy/RelayControlledShade.cs | 3 +- .../Generic/GenericSource.cs | 2 + .../SetTopBox/IRSetTopBoxBase.cs | 2 + .../SoftCodec/BlueJeansPc.cs | 1 + .../VideoCodec/CiscoCodec/CiscoCamera.cs | 1 + .../VideoCodec/CiscoCodec/CiscoSparkCodec.cs | 1 + .../VideoCodec/Interfaces/IHasVideoCodec.cs | 1 + .../VideoCodec/MockVC/MockVCCamera.cs | 1 + .../VideoCodec/VideoCodecBase.cs | 1 + .../VideoCodec/ZoomRoom/ZoomRoomCamera.cs | 1 + .../Chassis/DmCardAudioOutput.cs | 1 + .../Chassis/DmpsAudioOutputController.cs | 1 + .../Chassis/DmpsMicrophoneController.cs | 1 + .../Endpoints/DGEs/Dge100Controller.cs | 1 + .../Receivers/DmRmc4KScalerCController.cs | 1 + .../Receivers/DmRmc4kScalerCDspController.cs | 1 + .../Endpoints/Receivers/DmRmcHelper.cs | 1 + .../Audio/EssentialsVolumeLevelConfig.cs | 1 + .../Bridges/EiscBridge.cs | 1 + .../EssentialsHuddleVtc1FusionController.cs | 2 + ...ssentialsTechRoomFusionSystemController.cs | 2 + .../Room/Config/EssentialsRoomConfig.cs | 1 + .../Types/EssentialsCombinedHuddleVtc1Room.cs | 1 + .../Room/Types/EssentialsDualDisplayRoom.cs | 1 + .../Room/Types/EssentialsHuddleSpaceRoom.cs | 1 + .../Room/Types/EssentialsHuddleVtc1Room.cs | 1 + .../Room/Types/EssentialsTechRoom.cs | 1 + .../Interfaces/IEssentialsHuddleSpaceRoom.cs | 1 + .../Interfaces/IEssentialsHuddleVtc1Room.cs | 1 + .../EssentialsHuddlePanelAvFunctionsDriver.cs | 1 + ...entialsHuddleVtc1PanelAvFunctionsDriver.cs | 1 + .../VC/EssentialsVideoCodecUiDriver.cs | 1 + 118 files changed, 526 insertions(+), 464 deletions(-) delete mode 100644 src/PepperDash.Essentials.Core/Crestron IO/Relay/ISwitchedOutput.cs delete mode 100644 src/PepperDash.Essentials.Core/Device Info/IDeviceInfoProvider.cs delete mode 100644 src/PepperDash.Essentials.Core/DeviceControlsParentInterfaces/IPresentationSource.cs rename src/PepperDash.Essentials.Core/{Device Info => DeviceInfo}/DeviceInfo.cs (100%) create mode 100644 src/PepperDash.Essentials.Core/DeviceInfo/DeviceInfoChangeHandler.cs rename src/PepperDash.Essentials.Core/{Device Info => DeviceInfo}/DeviceInfoEventArgs.cs (100%) create mode 100644 src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IChannelExtensions.cs delete mode 100644 src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasBranding.cs delete mode 100644 src/PepperDash.Essentials.Core/DeviceTypeInterfaces/Template.cs rename src/PepperDash.Essentials.Core/Devices/{AudioInterfaces.cs => AudioChangeEventArgs.cs} (85%) create mode 100644 src/PepperDash.Essentials.Core/Devices/AudioChangeType.cs delete mode 100644 src/PepperDash.Essentials.Core/Devices/CodecInterfaces.cs delete mode 100644 src/PepperDash.Essentials.Core/Devices/FIND HOMES Interfaces.cs delete mode 100644 src/PepperDash.Essentials.Core/Devices/IProjectorInterfaces.cs rename src/PepperDash.Essentials.Core/Devices/{IUsageTracking.cs => UsageTracking.cs} (77%) create mode 100644 src/PepperDash.Essentials.Core/InUseTracking/DeviceUsageEventArgs.cs create mode 100644 src/PepperDash.Essentials.Core/Interfaces/IAttachVideoStatus.cs create mode 100644 src/PepperDash.Essentials.Core/Interfaces/IBasicVideoMute.cs create mode 100644 src/PepperDash.Essentials.Core/Interfaces/IBasicVideoMuteWithFeedback.cs create mode 100644 src/PepperDash.Essentials.Core/Interfaces/IBasicVolumeControls.cs create mode 100644 src/PepperDash.Essentials.Core/Interfaces/IBasicVolumeWithFeedback.cs rename src/PepperDash.Essentials.Core/{Bridges/IBridge.cs => Interfaces/IBridgeAdvanced.cs} (77%) create mode 100644 src/PepperDash.Essentials.Core/Interfaces/IDeviceInfoProvider.cs create mode 100644 src/PepperDash.Essentials.Core/Interfaces/IDisplayUsage.cs create mode 100644 src/PepperDash.Essentials.Core/Interfaces/IDspPreset.cs create mode 100644 src/PepperDash.Essentials.Core/Interfaces/IHasBranding.cs rename src/PepperDash.Essentials.Core/{Devices/IDspPreset.cs => Interfaces/IHasDspPresets.cs} (61%) rename src/PepperDash.Essentials.Core/{Devices => Interfaces}/IHasFeedbacks.cs (100%) create mode 100644 src/PepperDash.Essentials.Core/Interfaces/IHasMuteControl.cs create mode 100644 src/PepperDash.Essentials.Core/Interfaces/IHasMuteControlWithFeedback.cs create mode 100644 src/PepperDash.Essentials.Core/Interfaces/IHasSwitchedOutputs.cs create mode 100644 src/PepperDash.Essentials.Core/Interfaces/IHasVolumeControl.cs create mode 100644 src/PepperDash.Essentials.Core/Interfaces/IHasVolumeControlWithFeedback.cs rename src/PepperDash.Essentials.Core/{InUseTracking => Interfaces}/IInUseTracking.cs (50%) create mode 100644 src/PepperDash.Essentials.Core/Interfaces/IMakeModel.cs create mode 100644 src/PepperDash.Essentials.Core/Interfaces/IOnline.cs create mode 100644 src/PepperDash.Essentials.Core/Interfaces/IPrivacy.cs create mode 100644 src/PepperDash.Essentials.Core/Interfaces/IReceiveVolume.cs rename src/PepperDash.Essentials.Core/{Devices => Interfaces}/IReconfigurableDevice.cs (63%) create mode 100644 src/PepperDash.Essentials.Core/Interfaces/ISetTopBoxNumericKeypad.cs create mode 100644 src/PepperDash.Essentials.Core/Interfaces/ISwitchedOutput.cs create mode 100644 src/PepperDash.Essentials.Core/Interfaces/ITransmitVolume.cs create mode 100644 src/PepperDash.Essentials.Core/Interfaces/IUsageTracking.cs create mode 100644 src/PepperDash.Essentials.Core/Lighting/ILightingLoad.cs create mode 100644 src/PepperDash.Essentials.Core/Lighting/ILightingMasterRaiseLower.cs create mode 100644 src/PepperDash.Essentials.Core/Lighting/ILightingScenes.cs delete mode 100644 src/PepperDash.Essentials.Core/Lighting/Lighting Interfaces.cs create mode 100644 src/PepperDash.Essentials.Core/Lighting/LightingScene.cs create mode 100644 src/PepperDash.Essentials.Core/Lighting/LightingSceneChangeEventArgs.cs diff --git a/src/PepperDash.Essentials.Core/Bridges/BridgeBase.cs b/src/PepperDash.Essentials.Core/Bridges/BridgeBase.cs index a1326770..371fc6f4 100644 --- a/src/PepperDash.Essentials.Core/Bridges/BridgeBase.cs +++ b/src/PepperDash.Essentials.Core/Bridges/BridgeBase.cs @@ -12,6 +12,7 @@ using PepperDash.Core; using PepperDash.Essentials.Core.Config; //using PepperDash.Essentials.Devices.Common.Cameras; +using PepperDash.Essentials.Core.Interfaces; namespace PepperDash.Essentials.Core.Bridges { diff --git a/src/PepperDash.Essentials.Core/Comm and IR/GenericHttpClient.cs b/src/PepperDash.Essentials.Core/Comm and IR/GenericHttpClient.cs index 31342a94..b1365dda 100644 --- a/src/PepperDash.Essentials.Core/Comm and IR/GenericHttpClient.cs +++ b/src/PepperDash.Essentials.Core/Comm and IR/GenericHttpClient.cs @@ -100,6 +100,7 @@ namespace PepperDash.Essentials.Core #endregion } + public class GenericHttpClientEventArgs : EventArgs { public string ResponseText { get; private set; } diff --git a/src/PepperDash.Essentials.Core/Crestron IO/Relay/GenericRelayDevice.cs b/src/PepperDash.Essentials.Core/Crestron IO/Relay/GenericRelayDevice.cs index 421aa3b1..f44362e4 100644 --- a/src/PepperDash.Essentials.Core/Crestron IO/Relay/GenericRelayDevice.cs +++ b/src/PepperDash.Essentials.Core/Crestron IO/Relay/GenericRelayDevice.cs @@ -9,6 +9,7 @@ using Newtonsoft.Json; using PepperDash.Core; using PepperDash.Essentials.Core.Bridges; using PepperDash.Essentials.Core.Config; +using PepperDash.Essentials.Core.Interfaces; namespace PepperDash.Essentials.Core.CrestronIO { diff --git a/src/PepperDash.Essentials.Core/Crestron IO/Relay/ISwitchedOutput.cs b/src/PepperDash.Essentials.Core/Crestron IO/Relay/ISwitchedOutput.cs deleted file mode 100644 index 19f8e0df..00000000 --- a/src/PepperDash.Essentials.Core/Crestron IO/Relay/ISwitchedOutput.cs +++ /dev/null @@ -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 -{ - /// - /// Describes an output capable of switching on and off - /// - public interface ISwitchedOutput - { - BoolFeedback OutputIsOnFeedback {get;} - - void On(); - void Off(); - } - - public interface ISwitchedOutputCollection - { - Dictionary SwitchedOutputs { get; } - } -} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Crestron/CrestronGenericBaseDevice.cs b/src/PepperDash.Essentials.Core/Crestron/CrestronGenericBaseDevice.cs index 0ce2a8fe..aa9559bb 100644 --- a/src/PepperDash.Essentials.Core/Crestron/CrestronGenericBaseDevice.cs +++ b/src/PepperDash.Essentials.Core/Crestron/CrestronGenericBaseDevice.cs @@ -5,6 +5,8 @@ using Crestron.SimplSharpPro.DeviceSupport; using PepperDash.Core; using PepperDash.Core.JsonStandardObjects; using PepperDash.Essentials.Core.Bridges; +using PepperDash.Essentials.Core.Devices; +using PepperDash.Essentials.Core.Interfaces; namespace PepperDash.Essentials.Core { diff --git a/src/PepperDash.Essentials.Core/Device Info/IDeviceInfoProvider.cs b/src/PepperDash.Essentials.Core/Device Info/IDeviceInfoProvider.cs deleted file mode 100644 index ea9c16e6..00000000 --- a/src/PepperDash.Essentials.Core/Device Info/IDeviceInfoProvider.cs +++ /dev/null @@ -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); -} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/DeviceControlsParentInterfaces/IPresentationSource.cs b/src/PepperDash.Essentials.Core/DeviceControlsParentInterfaces/IPresentationSource.cs deleted file mode 100644 index ac45a9d4..00000000 --- a/src/PepperDash.Essentials.Core/DeviceControlsParentInterfaces/IPresentationSource.cs +++ /dev/null @@ -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; } - -// } -//} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Device Info/DeviceInfo.cs b/src/PepperDash.Essentials.Core/DeviceInfo/DeviceInfo.cs similarity index 100% rename from src/PepperDash.Essentials.Core/Device Info/DeviceInfo.cs rename to src/PepperDash.Essentials.Core/DeviceInfo/DeviceInfo.cs diff --git a/src/PepperDash.Essentials.Core/DeviceInfo/DeviceInfoChangeHandler.cs b/src/PepperDash.Essentials.Core/DeviceInfo/DeviceInfoChangeHandler.cs new file mode 100644 index 00000000..a1f2e758 --- /dev/null +++ b/src/PepperDash.Essentials.Core/DeviceInfo/DeviceInfoChangeHandler.cs @@ -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); +} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Device Info/DeviceInfoEventArgs.cs b/src/PepperDash.Essentials.Core/DeviceInfo/DeviceInfoEventArgs.cs similarity index 100% rename from src/PepperDash.Essentials.Core/Device Info/DeviceInfoEventArgs.cs rename to src/PepperDash.Essentials.Core/DeviceInfo/DeviceInfoEventArgs.cs diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IChannel.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IChannel.cs index 5a38c703..3a9edf92 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IChannel.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IChannel.cs @@ -1,6 +1,4 @@ using Crestron.SimplSharpPro; -using Crestron.SimplSharpPro.DeviceSupport; - using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.SmartObjects; @@ -18,30 +16,4 @@ namespace PepperDash.Essentials.Core void Info(bool pressRelease); void Exit(bool pressRelease); } - - /// - /// - /// - 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); - } - } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IChannelExtensions.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IChannelExtensions.cs new file mode 100644 index 00000000..5e28dcb7 --- /dev/null +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IChannelExtensions.cs @@ -0,0 +1,30 @@ +using Crestron.SimplSharpPro.DeviceSupport; + +namespace PepperDash.Essentials.Core +{ + /// + /// + /// + 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); + } + } +} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasBranding.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasBranding.cs deleted file mode 100644 index 63f4917a..00000000 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasBranding.cs +++ /dev/null @@ -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); - } -} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/INumeric.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/INumeric.cs index 62ea8b3f..b3edca5b 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/INumeric.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/INumeric.cs @@ -33,13 +33,7 @@ namespace PepperDash.Essentials.Core void KeypadAccessoryButton2(bool pressRelease); } - public interface ISetTopBoxNumericKeypad : INumericKeypad - { - void Dash(bool pressRelease); - void KeypadEnter(bool pressRelease); - } - - /// + /// /// /// public static class INumericExtensions diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ISetTopBoxControls.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ISetTopBoxControls.cs index a9a92126..f938a696 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ISetTopBoxControls.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ISetTopBoxControls.cs @@ -1,6 +1,7 @@ using Crestron.SimplSharpPro.DeviceSupport; using PepperDash.Essentials.Core; +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.Core.SmartObjects; namespace PepperDash.Essentials.Core diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/Template.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/Template.cs deleted file mode 100644 index 31f71df9..00000000 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/Template.cs +++ /dev/null @@ -1,9 +0,0 @@ -using Crestron.SimplSharpPro.DeviceSupport; - -using PepperDash.Essentials.Core; -using PepperDash.Essentials.Core.SmartObjects; - -namespace PepperDash.Essentials.Core -{ - -} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Devices/AudioInterfaces.cs b/src/PepperDash.Essentials.Core/Devices/AudioChangeEventArgs.cs similarity index 85% rename from src/PepperDash.Essentials.Core/Devices/AudioInterfaces.cs rename to src/PepperDash.Essentials.Core/Devices/AudioChangeEventArgs.cs index 90aa4909..16cf6380 100644 --- a/src/PepperDash.Essentials.Core/Devices/AudioInterfaces.cs +++ b/src/PepperDash.Essentials.Core/Devices/AudioChangeEventArgs.cs @@ -5,16 +5,11 @@ using System.Text; using Crestron.SimplSharp; using Crestron.SimplSharpPro; using Crestron.SimplSharpPro.DeviceSupport; +using PepperDash.Essentials.Core.Interfaces; namespace PepperDash.Essentials.Core { - - public enum AudioChangeType - { - Mute, Volume - } - - public class AudioChangeEventArgs + public class AudioChangeEventArgs { public AudioChangeType ChangeType { get; private set; } public IBasicVolumeControls AudioDevice { get; private set; } diff --git a/src/PepperDash.Essentials.Core/Devices/AudioChangeType.cs b/src/PepperDash.Essentials.Core/Devices/AudioChangeType.cs new file mode 100644 index 00000000..28b54d63 --- /dev/null +++ b/src/PepperDash.Essentials.Core/Devices/AudioChangeType.cs @@ -0,0 +1,7 @@ +namespace PepperDash.Essentials.Core +{ + public enum AudioChangeType + { + Mute, Volume + } +} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Devices/CodecInterfaces.cs b/src/PepperDash.Essentials.Core/Devices/CodecInterfaces.cs deleted file mode 100644 index afb1da17..00000000 --- a/src/PepperDash.Essentials.Core/Devices/CodecInterfaces.cs +++ /dev/null @@ -1,46 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Crestron.SimplSharp; - -namespace PepperDash.Essentials.Core -{ - /// - /// Adds control of codec receive volume - /// - 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; } - } - - /// - /// Adds control of codec transmit volume - /// - public interface ITransmitVolume - { - void SetTransmitVolume(ushort level); - void TransmitMuteOn(); - void TransmitMuteOff(); - void TransmitMuteToggle(); - IntFeedback TransmitLevelFeedback { get; } - BoolFeedback TransmitMuteIsOnFeedback { get; } - } - - /// - /// Adds control of codec privacy function (microphone mute) - /// - public interface IPrivacy - { - void PrivacyModeOn(); - void PrivacyModeOff(); - void PrivacyModeToggle(); - BoolFeedback PrivacyModeIsOnFeedback { get; } - } -} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Devices/CrestronProcessor.cs b/src/PepperDash.Essentials.Core/Devices/CrestronProcessor.cs index 1b0264eb..5e217544 100644 --- a/src/PepperDash.Essentials.Core/Devices/CrestronProcessor.cs +++ b/src/PepperDash.Essentials.Core/Devices/CrestronProcessor.cs @@ -6,13 +6,14 @@ using Crestron.SimplSharp; using PepperDash.Core; using PepperDash.Essentials.Core.CrestronIO; +using PepperDash.Essentials.Core.Interfaces; namespace PepperDash.Essentials.Core.Devices { /// /// This wrapper class is meant to allow interfaces to be applied to any Crestron processor /// - public class CrestronProcessor : Device, ISwitchedOutputCollection + public class CrestronProcessor : Device, IHasSwitchedOutputs { public Dictionary SwitchedOutputs { get; private set; } diff --git a/src/PepperDash.Essentials.Core/Devices/EssentialsBridgeableDevice.cs b/src/PepperDash.Essentials.Core/Devices/EssentialsBridgeableDevice.cs index 0812ca4e..3f8d9cbb 100644 --- a/src/PepperDash.Essentials.Core/Devices/EssentialsBridgeableDevice.cs +++ b/src/PepperDash.Essentials.Core/Devices/EssentialsBridgeableDevice.cs @@ -1,5 +1,6 @@ using Crestron.SimplSharpPro.DeviceSupport; using PepperDash.Essentials.Core.Bridges; +using PepperDash.Essentials.Core.Interfaces; namespace PepperDash.Essentials.Core { diff --git a/src/PepperDash.Essentials.Core/Devices/FIND HOMES Interfaces.cs b/src/PepperDash.Essentials.Core/Devices/FIND HOMES Interfaces.cs deleted file mode 100644 index 318f5179..00000000 --- a/src/PepperDash.Essentials.Core/Devices/FIND HOMES Interfaces.cs +++ /dev/null @@ -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; } - } - - ///// - ///// ** 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 - ///// - //public interface IHasCueActionList - //{ - // List CueActionList { get; } - //} - - - //public interface IHasComPortsHardware - //{ - // IComPorts ComPortsDevice { get; } - //} - - /// - /// Describes a device that can have a video sync providing device attached to it - /// - public interface IAttachVideoStatus : IKeyed - { - // Extension methods will depend on this - } - - /// - /// For display classes that can provide usage data - /// - public interface IDisplayUsage - { - IntFeedback LampHours { get; } - } - - public interface IMakeModel : IKeyed - { - string DeviceMake { get; } - string DeviceModel { get; } - } -} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Devices/IAttachVideoStatusExtensions.cs b/src/PepperDash.Essentials.Core/Devices/IAttachVideoStatusExtensions.cs index e5218ee0..63025051 100644 --- a/src/PepperDash.Essentials.Core/Devices/IAttachVideoStatusExtensions.cs +++ b/src/PepperDash.Essentials.Core/Devices/IAttachVideoStatusExtensions.cs @@ -3,6 +3,8 @@ using System.Collections.Generic; using System.Linq; using System.Text; using Crestron.SimplSharp; +using PepperDash.Essentials.Core.Devices; +using PepperDash.Essentials.Core.Interfaces; namespace PepperDash.Essentials.Core { diff --git a/src/PepperDash.Essentials.Core/Devices/IProjectorInterfaces.cs b/src/PepperDash.Essentials.Core/Devices/IProjectorInterfaces.cs deleted file mode 100644 index c0cb33ed..00000000 --- a/src/PepperDash.Essentials.Core/Devices/IProjectorInterfaces.cs +++ /dev/null @@ -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(); - - } -} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Devices/IVolumeAndAudioInterfaces.cs b/src/PepperDash.Essentials.Core/Devices/IVolumeAndAudioInterfaces.cs index 254eada2..3c141300 100644 --- a/src/PepperDash.Essentials.Core/Devices/IVolumeAndAudioInterfaces.cs +++ b/src/PepperDash.Essentials.Core/Devices/IVolumeAndAudioInterfaces.cs @@ -3,59 +3,10 @@ using System.Collections.Generic; using System.Linq; using System.Text; using Crestron.SimplSharp; +using PepperDash.Essentials.Core.Interfaces; namespace PepperDash.Essentials.Core { - /// - /// Defines minimal volume and mute control methods - /// - public interface IBasicVolumeControls : IHasVolumeControl, IHasMuteControl - { - } - - /// - /// Defines basic volume control methods - /// - public interface IHasVolumeControl - { - void VolumeUp(bool pressRelease); - void VolumeDown(bool pressRelease); - } - - /// - /// Defines volume control methods and properties with feedback - /// - public interface IHasVolumeControlWithFeedback : IHasVolumeControl - { - void SetVolume(ushort level); - IntFeedback VolumeLevelFeedback { get; } - } - - /// - /// Defines basic mute control methods - /// - public interface IHasMuteControl - { - void MuteToggle(); - } - - /// - /// Defines mute control methods and properties with feedback - /// - public interface IHasMuteControlWithFeedback : IHasMuteControl - { - BoolFeedback MuteFeedback { get; } - void MuteOn(); - void MuteOff(); - } - - /// - /// Adds feedback and direct volume level set to IBasicVolumeControls - /// - public interface IBasicVolumeWithFeedback : IBasicVolumeControls, IHasVolumeControlWithFeedback, IHasMuteControlWithFeedback - { - } - /// /// A class that implements this contains a reference to a current IBasicVolumeControls device. /// The class may have multiple IBasicVolumeControls. diff --git a/src/PepperDash.Essentials.Core/Devices/PC/InRoomPc.cs b/src/PepperDash.Essentials.Core/Devices/PC/InRoomPc.cs index 03e884f0..c0a57426 100644 --- a/src/PepperDash.Essentials.Core/Devices/PC/InRoomPc.cs +++ b/src/PepperDash.Essentials.Core/Devices/PC/InRoomPc.cs @@ -5,6 +5,7 @@ using Crestron.SimplSharpPro; using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Config; +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.Core.Routing; using PepperDash.Core; diff --git a/src/PepperDash.Essentials.Core/Devices/PC/Laptop.cs b/src/PepperDash.Essentials.Core/Devices/PC/Laptop.cs index a2864d77..adbf7185 100644 --- a/src/PepperDash.Essentials.Core/Devices/PC/Laptop.cs +++ b/src/PepperDash.Essentials.Core/Devices/PC/Laptop.cs @@ -5,6 +5,7 @@ using Crestron.SimplSharpPro; using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Config; +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.Core.Routing; using PepperDash.Core; diff --git a/src/PepperDash.Essentials.Core/Devices/ReconfigurableDevice.cs b/src/PepperDash.Essentials.Core/Devices/ReconfigurableDevice.cs index 3239e192..9e684b3c 100644 --- a/src/PepperDash.Essentials.Core/Devices/ReconfigurableDevice.cs +++ b/src/PepperDash.Essentials.Core/Devices/ReconfigurableDevice.cs @@ -9,6 +9,7 @@ using PepperDash.Essentials.Core.Bridges; using PepperDash.Essentials.Core.Config; using Newtonsoft.Json; using Newtonsoft.Json.Linq; +using PepperDash.Essentials.Core.Interfaces; namespace PepperDash.Essentials.Core.Devices { diff --git a/src/PepperDash.Essentials.Core/Devices/IUsageTracking.cs b/src/PepperDash.Essentials.Core/Devices/UsageTracking.cs similarity index 77% rename from src/PepperDash.Essentials.Core/Devices/IUsageTracking.cs rename to src/PepperDash.Essentials.Core/Devices/UsageTracking.cs index 05b59366..04618bfb 100644 --- a/src/PepperDash.Essentials.Core/Devices/IUsageTracking.cs +++ b/src/PepperDash.Essentials.Core/Devices/UsageTracking.cs @@ -1,25 +1,8 @@ using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Crestron.SimplSharp; 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 event EventHandler DeviceUsageEnded; @@ -45,7 +28,7 @@ namespace PepperDash.Essentials.Core void InUseFeedback_OutputChange(object sender, EventArgs e) { - if(InUseTracker.InUseFeedback.BoolValue) + if(InUseTracker.InUseFeedback.BoolValue) { StartDeviceUsage(); } @@ -95,10 +78,4 @@ namespace PepperDash.Essentials.Core } } } - - public class DeviceUsageEventArgs : EventArgs - { - public DateTime UsageEndTime { get; set; } - public int MinutesUsed { get; set; } - } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Devices/VolumeDeviceChangeEventArgs.cs b/src/PepperDash.Essentials.Core/Devices/VolumeDeviceChangeEventArgs.cs index 2171cb73..28f462c2 100644 --- a/src/PepperDash.Essentials.Core/Devices/VolumeDeviceChangeEventArgs.cs +++ b/src/PepperDash.Essentials.Core/Devices/VolumeDeviceChangeEventArgs.cs @@ -6,6 +6,7 @@ using Crestron.SimplSharp; using PepperDash.Core; using PepperDash.Essentials.Core; +using PepperDash.Essentials.Core.Interfaces; namespace PepperDash.Essentials.Core { diff --git a/src/PepperDash.Essentials.Core/Display/BasicIrDisplay.cs b/src/PepperDash.Essentials.Core/Display/BasicIrDisplay.cs index 7a8eb8b1..452c5cb9 100644 --- a/src/PepperDash.Essentials.Core/Display/BasicIrDisplay.cs +++ b/src/PepperDash.Essentials.Core/Display/BasicIrDisplay.cs @@ -10,6 +10,7 @@ using PepperDash.Core; using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Config; using PepperDash.Essentials.Core.Bridges; +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.Core.Routing; namespace PepperDash.Essentials.Core diff --git a/src/PepperDash.Essentials.Core/Display/DisplayBase.cs b/src/PepperDash.Essentials.Core/Display/DisplayBase.cs index f4408b7f..dc683c44 100644 --- a/src/PepperDash.Essentials.Core/Display/DisplayBase.cs +++ b/src/PepperDash.Essentials.Core/Display/DisplayBase.cs @@ -11,6 +11,8 @@ using Crestron.SimplSharpPro.DM.Endpoints.Transmitters; using Newtonsoft.Json; using PepperDash.Core; using PepperDash.Essentials.Core.Bridges; +using PepperDash.Essentials.Core.Devices; +using PepperDash.Essentials.Core.Interfaces; namespace PepperDash.Essentials.Core diff --git a/src/PepperDash.Essentials.Core/Display/MockDisplay.cs b/src/PepperDash.Essentials.Core/Display/MockDisplay.cs index eb529376..bf874194 100644 --- a/src/PepperDash.Essentials.Core/Display/MockDisplay.cs +++ b/src/PepperDash.Essentials.Core/Display/MockDisplay.cs @@ -11,6 +11,7 @@ using Crestron.SimplSharpPro.DM.Endpoints.Transmitters; using PepperDash.Core; using PepperDash.Essentials.Core.Bridges; +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.Core.Routing; using PepperDash.Essentials.Core.Config; diff --git a/src/PepperDash.Essentials.Core/Fusion/EssentialsHuddleSpaceFusionSystemControllerBase.cs b/src/PepperDash.Essentials.Core/Fusion/EssentialsHuddleSpaceFusionSystemControllerBase.cs index 70fb019b..8b4e39f5 100644 --- a/src/PepperDash.Essentials.Core/Fusion/EssentialsHuddleSpaceFusionSystemControllerBase.cs +++ b/src/PepperDash.Essentials.Core/Fusion/EssentialsHuddleSpaceFusionSystemControllerBase.cs @@ -11,6 +11,8 @@ using Crestron.SimplSharpPro.Fusion; using Newtonsoft.Json; using PepperDash.Core; using PepperDash.Essentials.Core.Config; +using PepperDash.Essentials.Core.Devices; +using PepperDash.Essentials.Core.Interfaces; namespace PepperDash.Essentials.Core.Fusion { diff --git a/src/PepperDash.Essentials.Core/InUseTracking/DeviceUsageEventArgs.cs b/src/PepperDash.Essentials.Core/InUseTracking/DeviceUsageEventArgs.cs new file mode 100644 index 00000000..2b0b5cd4 --- /dev/null +++ b/src/PepperDash.Essentials.Core/InUseTracking/DeviceUsageEventArgs.cs @@ -0,0 +1,10 @@ +using System; + +namespace PepperDash.Essentials.Core +{ + public class DeviceUsageEventArgs : EventArgs + { + public DateTime UsageEndTime { get; set; } + public int MinutesUsed { get; set; } + } +} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Interfaces/IAttachVideoStatus.cs b/src/PepperDash.Essentials.Core/Interfaces/IAttachVideoStatus.cs new file mode 100644 index 00000000..440dcb11 --- /dev/null +++ b/src/PepperDash.Essentials.Core/Interfaces/IAttachVideoStatus.cs @@ -0,0 +1,12 @@ +using PepperDash.Core; + +namespace PepperDash.Essentials.Core.Interfaces +{ + /// + /// Describes a device that can have a video sync providing device attached to it + /// + public interface IAttachVideoStatus : IKeyed + { + // Extension methods will depend on this + } +} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Interfaces/IBasicVideoMute.cs b/src/PepperDash.Essentials.Core/Interfaces/IBasicVideoMute.cs new file mode 100644 index 00000000..dcd621af --- /dev/null +++ b/src/PepperDash.Essentials.Core/Interfaces/IBasicVideoMute.cs @@ -0,0 +1,7 @@ +namespace PepperDash.Essentials.Core.Interfaces +{ + public interface IBasicVideoMute + { + void VideoMuteToggle(); + } +} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Interfaces/IBasicVideoMuteWithFeedback.cs b/src/PepperDash.Essentials.Core/Interfaces/IBasicVideoMuteWithFeedback.cs new file mode 100644 index 00000000..7d2138f7 --- /dev/null +++ b/src/PepperDash.Essentials.Core/Interfaces/IBasicVideoMuteWithFeedback.cs @@ -0,0 +1,11 @@ +namespace PepperDash.Essentials.Core.Interfaces +{ + public interface IBasicVideoMuteWithFeedback : IBasicVideoMute + { + BoolFeedback VideoMuteIsOn { get; } + + void VideoMuteOn(); + void VideoMuteOff(); + + } +} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Interfaces/IBasicVolumeControls.cs b/src/PepperDash.Essentials.Core/Interfaces/IBasicVolumeControls.cs new file mode 100644 index 00000000..ead745ba --- /dev/null +++ b/src/PepperDash.Essentials.Core/Interfaces/IBasicVolumeControls.cs @@ -0,0 +1,9 @@ +namespace PepperDash.Essentials.Core.Interfaces +{ + /// + /// Defines minimal volume and mute control methods + /// + public interface IBasicVolumeControls : IHasVolumeControl, IHasMuteControl + { + } +} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Interfaces/IBasicVolumeWithFeedback.cs b/src/PepperDash.Essentials.Core/Interfaces/IBasicVolumeWithFeedback.cs new file mode 100644 index 00000000..68afbc77 --- /dev/null +++ b/src/PepperDash.Essentials.Core/Interfaces/IBasicVolumeWithFeedback.cs @@ -0,0 +1,9 @@ +namespace PepperDash.Essentials.Core.Interfaces +{ + /// + /// Adds feedback and direct volume level set to IBasicVolumeControls + /// + public interface IBasicVolumeWithFeedback : IBasicVolumeControls, IHasVolumeControlWithFeedback, IHasMuteControlWithFeedback + { + } +} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Bridges/IBridge.cs b/src/PepperDash.Essentials.Core/Interfaces/IBridgeAdvanced.cs similarity index 77% rename from src/PepperDash.Essentials.Core/Bridges/IBridge.cs rename to src/PepperDash.Essentials.Core/Interfaces/IBridgeAdvanced.cs index 0c6b44ed..586d2ded 100644 --- a/src/PepperDash.Essentials.Core/Bridges/IBridge.cs +++ b/src/PepperDash.Essentials.Core/Interfaces/IBridgeAdvanced.cs @@ -1,6 +1,7 @@ using Crestron.SimplSharpPro.DeviceSupport; +using PepperDash.Essentials.Core.Bridges; -namespace PepperDash.Essentials.Core.Bridges +namespace PepperDash.Essentials.Core.Interfaces { /// /// Defines a device that uses JoinMapBaseAdvanced for its join map diff --git a/src/PepperDash.Essentials.Core/Interfaces/IDeviceInfoProvider.cs b/src/PepperDash.Essentials.Core/Interfaces/IDeviceInfoProvider.cs new file mode 100644 index 00000000..65ed2ee8 --- /dev/null +++ b/src/PepperDash.Essentials.Core/Interfaces/IDeviceInfoProvider.cs @@ -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(); + } +} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Interfaces/IDisplayUsage.cs b/src/PepperDash.Essentials.Core/Interfaces/IDisplayUsage.cs new file mode 100644 index 00000000..4591c4dc --- /dev/null +++ b/src/PepperDash.Essentials.Core/Interfaces/IDisplayUsage.cs @@ -0,0 +1,10 @@ +namespace PepperDash.Essentials.Core.Interfaces +{ + /// + /// For display classes that can provide usage data + /// + public interface IDisplayUsage + { + IntFeedback LampHours { get; } + } +} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Interfaces/IDspPreset.cs b/src/PepperDash.Essentials.Core/Interfaces/IDspPreset.cs new file mode 100644 index 00000000..9286059c --- /dev/null +++ b/src/PepperDash.Essentials.Core/Interfaces/IDspPreset.cs @@ -0,0 +1,8 @@ +namespace PepperDash.Essentials.Core.Interfaces +{ + // TODO: Is this a base class? + public interface IDspPreset + { + string Name { get; } + } +} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Interfaces/IHasBranding.cs b/src/PepperDash.Essentials.Core/Interfaces/IHasBranding.cs new file mode 100644 index 00000000..348ef02e --- /dev/null +++ b/src/PepperDash.Essentials.Core/Interfaces/IHasBranding.cs @@ -0,0 +1,8 @@ +namespace PepperDash.Essentials.Core.Interfaces +{ + public interface IHasBranding + { + bool BrandingEnabled { get; } + void InitializeBranding(string roomKey); + } +} diff --git a/src/PepperDash.Essentials.Core/Devices/IDspPreset.cs b/src/PepperDash.Essentials.Core/Interfaces/IHasDspPresets.cs similarity index 61% rename from src/PepperDash.Essentials.Core/Devices/IDspPreset.cs rename to src/PepperDash.Essentials.Core/Interfaces/IHasDspPresets.cs index 645339bb..709e361c 100644 --- a/src/PepperDash.Essentials.Core/Devices/IDspPreset.cs +++ b/src/PepperDash.Essentials.Core/Interfaces/IHasDspPresets.cs @@ -1,17 +1,10 @@ using System.Collections.Generic; -namespace PepperDash.Essentials.Core +namespace PepperDash.Essentials.Core.Interfaces { public interface IHasDspPresets { List Presets { get; } - void RecallPreset(IDspPreset preset); - - } - - public interface IDspPreset - { - string Name { get; } } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Devices/IHasFeedbacks.cs b/src/PepperDash.Essentials.Core/Interfaces/IHasFeedbacks.cs similarity index 100% rename from src/PepperDash.Essentials.Core/Devices/IHasFeedbacks.cs rename to src/PepperDash.Essentials.Core/Interfaces/IHasFeedbacks.cs diff --git a/src/PepperDash.Essentials.Core/Interfaces/IHasMuteControl.cs b/src/PepperDash.Essentials.Core/Interfaces/IHasMuteControl.cs new file mode 100644 index 00000000..da06d426 --- /dev/null +++ b/src/PepperDash.Essentials.Core/Interfaces/IHasMuteControl.cs @@ -0,0 +1,10 @@ +namespace PepperDash.Essentials.Core.Interfaces +{ + /// + /// Defines basic mute control methods + /// + public interface IHasMuteControl + { + void MuteToggle(); + } +} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Interfaces/IHasMuteControlWithFeedback.cs b/src/PepperDash.Essentials.Core/Interfaces/IHasMuteControlWithFeedback.cs new file mode 100644 index 00000000..9ed2c00d --- /dev/null +++ b/src/PepperDash.Essentials.Core/Interfaces/IHasMuteControlWithFeedback.cs @@ -0,0 +1,12 @@ +namespace PepperDash.Essentials.Core.Interfaces +{ + /// + /// Defines mute control methods and properties with feedback + /// + public interface IHasMuteControlWithFeedback : IHasMuteControl + { + BoolFeedback MuteFeedback { get; } + void MuteOn(); + void MuteOff(); + } +} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Interfaces/IHasSwitchedOutputs.cs b/src/PepperDash.Essentials.Core/Interfaces/IHasSwitchedOutputs.cs new file mode 100644 index 00000000..ba35827f --- /dev/null +++ b/src/PepperDash.Essentials.Core/Interfaces/IHasSwitchedOutputs.cs @@ -0,0 +1,9 @@ +using System.Collections.Generic; + +namespace PepperDash.Essentials.Core.Interfaces +{ + public interface IHasSwitchedOutputs + { + Dictionary SwitchedOutputs { get; } + } +} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Interfaces/IHasVolumeControl.cs b/src/PepperDash.Essentials.Core/Interfaces/IHasVolumeControl.cs new file mode 100644 index 00000000..8eb4a96c --- /dev/null +++ b/src/PepperDash.Essentials.Core/Interfaces/IHasVolumeControl.cs @@ -0,0 +1,11 @@ +namespace PepperDash.Essentials.Core.Interfaces +{ + /// + /// Defines basic volume control methods + /// + public interface IHasVolumeControl + { + void VolumeUp(bool pressRelease); + void VolumeDown(bool pressRelease); + } +} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Interfaces/IHasVolumeControlWithFeedback.cs b/src/PepperDash.Essentials.Core/Interfaces/IHasVolumeControlWithFeedback.cs new file mode 100644 index 00000000..56299ba3 --- /dev/null +++ b/src/PepperDash.Essentials.Core/Interfaces/IHasVolumeControlWithFeedback.cs @@ -0,0 +1,11 @@ +namespace PepperDash.Essentials.Core.Interfaces +{ + /// + /// Defines volume control methods and properties with feedback + /// + public interface IHasVolumeControlWithFeedback : IHasVolumeControl + { + void SetVolume(ushort level); + IntFeedback VolumeLevelFeedback { get; } + } +} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/InUseTracking/IInUseTracking.cs b/src/PepperDash.Essentials.Core/Interfaces/IInUseTracking.cs similarity index 50% rename from src/PepperDash.Essentials.Core/InUseTracking/IInUseTracking.cs rename to src/PepperDash.Essentials.Core/Interfaces/IInUseTracking.cs index 97a7c7f6..7d5f45dc 100644 --- a/src/PepperDash.Essentials.Core/InUseTracking/IInUseTracking.cs +++ b/src/PepperDash.Essentials.Core/Interfaces/IInUseTracking.cs @@ -1,11 +1,6 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Crestron.SimplSharp; - -namespace PepperDash.Essentials.Core +namespace PepperDash.Essentials.Core.Interfaces { + // TODO: potentially anemic model here /// /// Defines a class that uses an InUseTracker /// diff --git a/src/PepperDash.Essentials.Core/Interfaces/IMakeModel.cs b/src/PepperDash.Essentials.Core/Interfaces/IMakeModel.cs new file mode 100644 index 00000000..97ec4caf --- /dev/null +++ b/src/PepperDash.Essentials.Core/Interfaces/IMakeModel.cs @@ -0,0 +1,10 @@ +using PepperDash.Core; + +namespace PepperDash.Essentials.Core.Interfaces +{ + public interface IMakeModel : IKeyed + { + string DeviceMake { get; } + string DeviceModel { get; } + } +} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Interfaces/IOnline.cs b/src/PepperDash.Essentials.Core/Interfaces/IOnline.cs new file mode 100644 index 00000000..de410a8f --- /dev/null +++ b/src/PepperDash.Essentials.Core/Interfaces/IOnline.cs @@ -0,0 +1,7 @@ +namespace PepperDash.Essentials.Core.Interfaces +{ + public interface IOnline + { + BoolFeedback IsOnline { get; } + } +} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Interfaces/IPrivacy.cs b/src/PepperDash.Essentials.Core/Interfaces/IPrivacy.cs new file mode 100644 index 00000000..0cffd27b --- /dev/null +++ b/src/PepperDash.Essentials.Core/Interfaces/IPrivacy.cs @@ -0,0 +1,13 @@ +namespace PepperDash.Essentials.Core.Interfaces +{ + /// + /// Adds control of codec privacy function (microphone mute) + /// + public interface IPrivacy + { + void PrivacyModeOn(); + void PrivacyModeOff(); + void PrivacyModeToggle(); + BoolFeedback PrivacyModeIsOnFeedback { get; } + } +} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Interfaces/IReceiveVolume.cs b/src/PepperDash.Essentials.Core/Interfaces/IReceiveVolume.cs new file mode 100644 index 00000000..947a2ab2 --- /dev/null +++ b/src/PepperDash.Essentials.Core/Interfaces/IReceiveVolume.cs @@ -0,0 +1,16 @@ +namespace PepperDash.Essentials.Core.Interfaces +{ + /// + /// Adds control of codec receive volume + /// + 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; } + } +} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Devices/IReconfigurableDevice.cs b/src/PepperDash.Essentials.Core/Interfaces/IReconfigurableDevice.cs similarity index 63% rename from src/PepperDash.Essentials.Core/Devices/IReconfigurableDevice.cs rename to src/PepperDash.Essentials.Core/Interfaces/IReconfigurableDevice.cs index ab0e37c3..d165cfc6 100644 --- a/src/PepperDash.Essentials.Core/Devices/IReconfigurableDevice.cs +++ b/src/PepperDash.Essentials.Core/Interfaces/IReconfigurableDevice.cs @@ -1,12 +1,7 @@ using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Crestron.SimplSharp; using PepperDash.Essentials.Core.Config; - -namespace PepperDash.Essentials.Core.Devices +namespace PepperDash.Essentials.Core.Interfaces { public interface IReconfigurableDevice { diff --git a/src/PepperDash.Essentials.Core/Interfaces/ISetTopBoxNumericKeypad.cs b/src/PepperDash.Essentials.Core/Interfaces/ISetTopBoxNumericKeypad.cs new file mode 100644 index 00000000..cb2580bb --- /dev/null +++ b/src/PepperDash.Essentials.Core/Interfaces/ISetTopBoxNumericKeypad.cs @@ -0,0 +1,8 @@ +namespace PepperDash.Essentials.Core.Interfaces +{ + public interface ISetTopBoxNumericKeypad : INumericKeypad + { + void Dash(bool pressRelease); + void KeypadEnter(bool pressRelease); + } +} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Interfaces/ISwitchedOutput.cs b/src/PepperDash.Essentials.Core/Interfaces/ISwitchedOutput.cs new file mode 100644 index 00000000..00bf82d0 --- /dev/null +++ b/src/PepperDash.Essentials.Core/Interfaces/ISwitchedOutput.cs @@ -0,0 +1,14 @@ +namespace PepperDash.Essentials.Core.Interfaces +{ + // TODO: Is-A relationship; consider refactoring + /// + /// Describes an output capable of switching on and off + /// + public interface ISwitchedOutput + { + BoolFeedback OutputIsOnFeedback {get;} + + void On(); + void Off(); + } +} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Interfaces/ITransmitVolume.cs b/src/PepperDash.Essentials.Core/Interfaces/ITransmitVolume.cs new file mode 100644 index 00000000..a1614d7a --- /dev/null +++ b/src/PepperDash.Essentials.Core/Interfaces/ITransmitVolume.cs @@ -0,0 +1,15 @@ +namespace PepperDash.Essentials.Core.Interfaces +{ + /// + /// Adds control of codec transmit volume + /// + public interface ITransmitVolume + { + void SetTransmitVolume(ushort level); + void TransmitMuteOn(); + void TransmitMuteOff(); + void TransmitMuteToggle(); + IntFeedback TransmitLevelFeedback { get; } + BoolFeedback TransmitMuteIsOnFeedback { get; } + } +} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Interfaces/IUsageTracking.cs b/src/PepperDash.Essentials.Core/Interfaces/IUsageTracking.cs new file mode 100644 index 00000000..ff6601be --- /dev/null +++ b/src/PepperDash.Essentials.Core/Interfaces/IUsageTracking.cs @@ -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(); + // } + //} +} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Lighting/ILightingLoad.cs b/src/PepperDash.Essentials.Core/Lighting/ILightingLoad.cs new file mode 100644 index 00000000..24890793 --- /dev/null +++ b/src/PepperDash.Essentials.Core/Lighting/ILightingLoad.cs @@ -0,0 +1,15 @@ +namespace PepperDash.Essentials.Core.Lighting +{ + /// + /// Requiremnts for controlling a lighting load + /// + public interface ILightingLoad + { + void SetLoadLevel(int level); + void Raise(); + void Lower(); + + IntFeedback LoadLevelFeedback { get; } + BoolFeedback LoadIsOnFeedback { get; } + } +} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Lighting/ILightingMasterRaiseLower.cs b/src/PepperDash.Essentials.Core/Lighting/ILightingMasterRaiseLower.cs new file mode 100644 index 00000000..da4308c3 --- /dev/null +++ b/src/PepperDash.Essentials.Core/Lighting/ILightingMasterRaiseLower.cs @@ -0,0 +1,12 @@ +namespace PepperDash.Essentials.Core.Lighting +{ + /// + /// Requirements for a device that implements master raise/lower + /// + public interface ILightingMasterRaiseLower + { + void MasterRaise(); + void MasterLower(); + void MasterRaiseLowerStop(); + } +} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Lighting/ILightingScenes.cs b/src/PepperDash.Essentials.Core/Lighting/ILightingScenes.cs new file mode 100644 index 00000000..09f3d8b7 --- /dev/null +++ b/src/PepperDash.Essentials.Core/Lighting/ILightingScenes.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; + +namespace PepperDash.Essentials.Core.Lighting +{ + /// + /// Requirements for a device that implements lighting scene control + /// + public interface ILightingScenes + { + event EventHandler LightingSceneChange; + + List LightingScenes { get; } + + void SelectScene(LightingScene scene); + + LightingScene CurrentLightingScene { get; } + + } +} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Lighting/Lighting Interfaces.cs b/src/PepperDash.Essentials.Core/Lighting/Lighting Interfaces.cs deleted file mode 100644 index 6c0eaad3..00000000 --- a/src/PepperDash.Essentials.Core/Lighting/Lighting Interfaces.cs +++ /dev/null @@ -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 -{ - /// - /// Requirements for a device that implements lighting scene control - /// - public interface ILightingScenes - { - event EventHandler LightingSceneChange; - - List LightingScenes { get; } - - void SelectScene(LightingScene scene); - - LightingScene CurrentLightingScene { get; } - - } - - /// - /// Requirements for a device that implements master raise/lower - /// - public interface ILightingMasterRaiseLower - { - void MasterRaise(); - void MasterLower(); - void MasterRaiseLowerStop(); - } - - /// - /// Requiremnts for controlling a lighting load - /// - 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; - } - } - -} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Lighting/LightingBase.cs b/src/PepperDash.Essentials.Core/Lighting/LightingBase.cs index 6b0d4d7d..070bfdbb 100644 --- a/src/PepperDash.Essentials.Core/Lighting/LightingBase.cs +++ b/src/PepperDash.Essentials.Core/Lighting/LightingBase.cs @@ -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(() => IsActive)); - } - } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Lighting/LightingScene.cs b/src/PepperDash.Essentials.Core/Lighting/LightingScene.cs new file mode 100644 index 00000000..89c97bb8 --- /dev/null +++ b/src/PepperDash.Essentials.Core/Lighting/LightingScene.cs @@ -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(() => IsActive)); + } + } +} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Lighting/LightingSceneChangeEventArgs.cs b/src/PepperDash.Essentials.Core/Lighting/LightingSceneChangeEventArgs.cs new file mode 100644 index 00000000..aaed1350 --- /dev/null +++ b/src/PepperDash.Essentials.Core/Lighting/LightingSceneChangeEventArgs.cs @@ -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; + } + } + +} \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Microphone Privacy/MicrophonePrivacyController.cs b/src/PepperDash.Essentials.Core/Microphone Privacy/MicrophonePrivacyController.cs index 55b458a7..12b7ca9c 100644 --- a/src/PepperDash.Essentials.Core/Microphone Privacy/MicrophonePrivacyController.cs +++ b/src/PepperDash.Essentials.Core/Microphone Privacy/MicrophonePrivacyController.cs @@ -8,6 +8,7 @@ using PepperDash.Core; using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Config; using PepperDash.Essentials.Core.CrestronIO; +using PepperDash.Essentials.Core.Interfaces; namespace PepperDash.Essentials.Core.Privacy diff --git a/src/PepperDash.Essentials.Core/PepperDash.Essentials.Core.csproj b/src/PepperDash.Essentials.Core/PepperDash.Essentials.Core.csproj index d9a1084e..b4561426 100644 --- a/src/PepperDash.Essentials.Core/PepperDash.Essentials.Core.csproj +++ b/src/PepperDash.Essentials.Core/PepperDash.Essentials.Core.csproj @@ -120,7 +120,25 @@ - + + + + + + + + + + + + + + + + + + + @@ -185,12 +203,12 @@ - + - - - - + + + + @@ -198,9 +216,9 @@ - - - + + + @@ -209,7 +227,7 @@ - + @@ -233,8 +251,14 @@ + + + + + + @@ -248,7 +272,7 @@ - + @@ -268,7 +292,7 @@ - + @@ -282,7 +306,6 @@ - @@ -306,7 +329,7 @@ - + @@ -314,9 +337,9 @@ - + - + @@ -363,7 +386,6 @@ - @@ -372,7 +394,7 @@ - + diff --git a/src/PepperDash.Essentials.Core/Plugins/PluginLoader.cs b/src/PepperDash.Essentials.Core/Plugins/PluginLoader.cs index 136303e3..d0106050 100644 --- a/src/PepperDash.Essentials.Core/Plugins/PluginLoader.cs +++ b/src/PepperDash.Essentials.Core/Plugins/PluginLoader.cs @@ -58,6 +58,7 @@ namespace PepperDash.Essentials Debug.Console(2, "Found {0} Assemblies", assemblyFiles.Length); + //TODO update assembly names here foreach (var fi in assemblyFiles) { string version = string.Empty; diff --git a/src/PepperDash.Essentials.Core/Presets/DevicePresets.cs b/src/PepperDash.Essentials.Core/Presets/DevicePresets.cs index d6a9fad0..07776964 100644 --- a/src/PepperDash.Essentials.Core/Presets/DevicePresets.cs +++ b/src/PepperDash.Essentials.Core/Presets/DevicePresets.cs @@ -8,6 +8,7 @@ using PepperDash.Core; //using SSMono.IO; using PepperDash.Core.WebApi.Presets; +using PepperDash.Essentials.Core.Interfaces; namespace PepperDash.Essentials.Core.Presets { diff --git a/src/PepperDash.Essentials.Core/Room/EssentialsRoomBase.cs b/src/PepperDash.Essentials.Core/Room/EssentialsRoomBase.cs index a64f172c..5c9894a2 100644 --- a/src/PepperDash.Essentials.Core/Room/EssentialsRoomBase.cs +++ b/src/PepperDash.Essentials.Core/Room/EssentialsRoomBase.cs @@ -12,6 +12,7 @@ using PepperDash.Essentials.Core.Devices; using PepperDash.Essentials.Core.DeviceTypeInterfaces; using Newtonsoft.Json; +using PepperDash.Essentials.Core.Interfaces; namespace PepperDash.Essentials.Core { diff --git a/src/PepperDash.Essentials.Core/Room/IEssentialsRoom.cs b/src/PepperDash.Essentials.Core/Room/IEssentialsRoom.cs index 2273690f..cbe2dada 100644 --- a/src/PepperDash.Essentials.Core/Room/IEssentialsRoom.cs +++ b/src/PepperDash.Essentials.Core/Room/IEssentialsRoom.cs @@ -5,6 +5,7 @@ using System.Text; using Crestron.SimplSharp; using PepperDash.Essentials.Core.DeviceTypeInterfaces; +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.Room.Config; using PepperDash.Essentials.Core.Devices; diff --git a/src/PepperDash.Essentials.Devices.Common/Audio/GenericAudioOut.cs b/src/PepperDash.Essentials.Devices.Common/Audio/GenericAudioOut.cs index 70596904..1f2596e6 100644 --- a/src/PepperDash.Essentials.Devices.Common/Audio/GenericAudioOut.cs +++ b/src/PepperDash.Essentials.Devices.Common/Audio/GenericAudioOut.cs @@ -7,7 +7,7 @@ using Crestron.SimplSharp; using PepperDash.Core; using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Config; - +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.Core.Routing; namespace PepperDash.Essentials.Devices.Common diff --git a/src/PepperDash.Essentials.Devices.Common/AudioCodec/AudioCodecBase.cs b/src/PepperDash.Essentials.Devices.Common/AudioCodec/AudioCodecBase.cs index 56998d46..ccaf1db1 100644 --- a/src/PepperDash.Essentials.Devices.Common/AudioCodec/AudioCodecBase.cs +++ b/src/PepperDash.Essentials.Devices.Common/AudioCodec/AudioCodecBase.cs @@ -6,6 +6,8 @@ using Crestron.SimplSharp; using PepperDash.Core; using PepperDash.Essentials.Core; +using PepperDash.Essentials.Core.Devices; +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.Devices.Common.Codec; namespace PepperDash.Essentials.Devices.Common.AudioCodec diff --git a/src/PepperDash.Essentials.Devices.Common/Cameras/CameraVisca.cs b/src/PepperDash.Essentials.Devices.Common/Cameras/CameraVisca.cs index 6acf5850..346f6ffd 100644 --- a/src/PepperDash.Essentials.Devices.Common/Cameras/CameraVisca.cs +++ b/src/PepperDash.Essentials.Devices.Common/Cameras/CameraVisca.cs @@ -8,6 +8,7 @@ using PepperDash.Core; using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Bridges; using PepperDash.Essentials.Core.Config; +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.Devices.Common.Codec; using System.Text.RegularExpressions; using Crestron.SimplSharp.Reflection; diff --git a/src/PepperDash.Essentials.Devices.Common/Codec/iCodecAudio.cs b/src/PepperDash.Essentials.Devices.Common/Codec/iCodecAudio.cs index d61f7d26..1a81f9f4 100644 --- a/src/PepperDash.Essentials.Devices.Common/Codec/iCodecAudio.cs +++ b/src/PepperDash.Essentials.Devices.Common/Codec/iCodecAudio.cs @@ -5,6 +5,7 @@ using System.Text; using Crestron.SimplSharp; using PepperDash.Essentials.Core; +using PepperDash.Essentials.Core.Interfaces; namespace PepperDash.Essentials.Devices.Common.Codec { diff --git a/src/PepperDash.Essentials.Devices.Common/DSP/BiampTesira/BiampTesiraForteDspLevel.cs b/src/PepperDash.Essentials.Devices.Common/DSP/BiampTesira/BiampTesiraForteDspLevel.cs index 15d424a2..f0a373b1 100644 --- a/src/PepperDash.Essentials.Devices.Common/DSP/BiampTesira/BiampTesiraForteDspLevel.cs +++ b/src/PepperDash.Essentials.Devices.Common/DSP/BiampTesira/BiampTesiraForteDspLevel.cs @@ -6,6 +6,7 @@ using Crestron.SimplSharp; using PepperDash.Core; using PepperDash.Essentials.Core; using System.Text.RegularExpressions; +using PepperDash.Essentials.Core.Interfaces; namespace PepperDash.Essentials.Devices.Common.DSP diff --git a/src/PepperDash.Essentials.Devices.Common/DiscPlayer/IRDiscPlayerBase.cs b/src/PepperDash.Essentials.Devices.Common/DiscPlayer/IRDiscPlayerBase.cs index 33ab25da..db8147dc 100644 --- a/src/PepperDash.Essentials.Devices.Common/DiscPlayer/IRDiscPlayerBase.cs +++ b/src/PepperDash.Essentials.Devices.Common/DiscPlayer/IRDiscPlayerBase.cs @@ -11,6 +11,8 @@ using Newtonsoft.Json.Linq; using PepperDash.Core; using PepperDash.Essentials.Core; +using PepperDash.Essentials.Core.Devices; +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.Core.Routing; using PepperDash.Essentials.Core.Config; using PepperDash.Essentials.Core.Bridges; diff --git a/src/PepperDash.Essentials.Devices.Common/Display/AvocorVTFDisplay.cs b/src/PepperDash.Essentials.Devices.Common/Display/AvocorVTFDisplay.cs index 20d9fbec..358fdc0c 100644 --- a/src/PepperDash.Essentials.Devices.Common/Display/AvocorVTFDisplay.cs +++ b/src/PepperDash.Essentials.Devices.Common/Display/AvocorVTFDisplay.cs @@ -10,6 +10,7 @@ using PepperDash.Core; using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Bridges; using PepperDash.Essentials.Core.Config; +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.Core.Routing; using Feedback = PepperDash.Essentials.Core.Feedback; diff --git a/src/PepperDash.Essentials.Devices.Common/Display/NECPSXMDisplay.cs b/src/PepperDash.Essentials.Devices.Common/Display/NECPSXMDisplay.cs index a674b11a..081e6e26 100644 --- a/src/PepperDash.Essentials.Devices.Common/Display/NECPSXMDisplay.cs +++ b/src/PepperDash.Essentials.Devices.Common/Display/NECPSXMDisplay.cs @@ -9,6 +9,7 @@ using PepperDash.Core; using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Config; using PepperDash.Essentials.Core.Bridges; +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.Core.Routing; using Feedback = PepperDash.Essentials.Core.Feedback; diff --git a/src/PepperDash.Essentials.Devices.Common/Display/PanasonicThDisplay.cs b/src/PepperDash.Essentials.Devices.Common/Display/PanasonicThDisplay.cs index 9acc395e..b5bedce5 100644 --- a/src/PepperDash.Essentials.Devices.Common/Display/PanasonicThDisplay.cs +++ b/src/PepperDash.Essentials.Devices.Common/Display/PanasonicThDisplay.cs @@ -9,6 +9,7 @@ using PepperDash.Core; using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Config; using PepperDash.Essentials.Core.Bridges; +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.Core.Routing; using Feedback = PepperDash.Essentials.Core.Feedback; diff --git a/src/PepperDash.Essentials.Devices.Common/Display/SamsungMDCDisplay.cs b/src/PepperDash.Essentials.Devices.Common/Display/SamsungMDCDisplay.cs index 4c73d589..236007a7 100644 --- a/src/PepperDash.Essentials.Devices.Common/Display/SamsungMDCDisplay.cs +++ b/src/PepperDash.Essentials.Devices.Common/Display/SamsungMDCDisplay.cs @@ -10,6 +10,7 @@ using PepperDash.Core; using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Bridges; using PepperDash.Essentials.Core.Config; +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.Core.Routing; using Feedback = PepperDash.Essentials.Core.Feedback; diff --git a/src/PepperDash.Essentials.Devices.Common/Environment/Crestron Lighting/Din8sw8.cs b/src/PepperDash.Essentials.Devices.Common/Environment/Crestron Lighting/Din8sw8.cs index b262ef84..f91001ca 100644 --- a/src/PepperDash.Essentials.Devices.Common/Environment/Crestron Lighting/Din8sw8.cs +++ b/src/PepperDash.Essentials.Devices.Common/Environment/Crestron Lighting/Din8sw8.cs @@ -11,10 +11,11 @@ using PepperDash.Core; using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Config; using PepperDash.Essentials.Core.CrestronIO; +using PepperDash.Essentials.Core.Interfaces; 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 diff --git a/src/PepperDash.Essentials.Devices.Common/Environment/Somfy/RelayControlledShade.cs b/src/PepperDash.Essentials.Devices.Common/Environment/Somfy/RelayControlledShade.cs index a78e5045..16473219 100644 --- a/src/PepperDash.Essentials.Devices.Common/Environment/Somfy/RelayControlledShade.cs +++ b/src/PepperDash.Essentials.Devices.Common/Environment/Somfy/RelayControlledShade.cs @@ -8,6 +8,7 @@ using PepperDash.Core; using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Config; using PepperDash.Essentials.Core.CrestronIO; +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.Core.Shades; namespace PepperDash.Essentials.Devices.Common.Environment.Somfy @@ -87,7 +88,7 @@ namespace PepperDash.Essentials.Devices.Common.Environment.Somfy if (portDevice != null) { - return (portDevice as ISwitchedOutputCollection).SwitchedOutputs[relayConfig.PortNumber]; + return (portDevice as IHasSwitchedOutputs).SwitchedOutputs[relayConfig.PortNumber]; } else { diff --git a/src/PepperDash.Essentials.Devices.Common/Generic/GenericSource.cs b/src/PepperDash.Essentials.Devices.Common/Generic/GenericSource.cs index 697639e5..8f90f54b 100644 --- a/src/PepperDash.Essentials.Devices.Common/Generic/GenericSource.cs +++ b/src/PepperDash.Essentials.Devices.Common/Generic/GenericSource.cs @@ -9,6 +9,8 @@ using Crestron.SimplSharpPro.DeviceSupport; using PepperDash.Core; using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Config; +using PepperDash.Essentials.Core.Devices; +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.Core.Routing; namespace PepperDash.Essentials.Devices.Common diff --git a/src/PepperDash.Essentials.Devices.Common/SetTopBox/IRSetTopBoxBase.cs b/src/PepperDash.Essentials.Devices.Common/SetTopBox/IRSetTopBoxBase.cs index e18e8e19..a6230ede 100644 --- a/src/PepperDash.Essentials.Devices.Common/SetTopBox/IRSetTopBoxBase.cs +++ b/src/PepperDash.Essentials.Devices.Common/SetTopBox/IRSetTopBoxBase.cs @@ -10,6 +10,8 @@ using PepperDash.Core; using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Bridges; using PepperDash.Essentials.Core.Config; +using PepperDash.Essentials.Core.Devices; +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.Core.Presets; using PepperDash.Essentials.Core.Routing; using PepperDash.Essentials.Core.DeviceTypeInterfaces; diff --git a/src/PepperDash.Essentials.Devices.Common/SoftCodec/BlueJeansPc.cs b/src/PepperDash.Essentials.Devices.Common/SoftCodec/BlueJeansPc.cs index 3e17f81d..a7c777d8 100644 --- a/src/PepperDash.Essentials.Devices.Common/SoftCodec/BlueJeansPc.cs +++ b/src/PepperDash.Essentials.Devices.Common/SoftCodec/BlueJeansPc.cs @@ -6,6 +6,7 @@ using Crestron.SimplSharp; using PepperDash.Core; using PepperDash.Essentials.Core; +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.Core.Routing; using PepperDash.Essentials.Core.Devices; using PepperDash.Essentials.Core.Config; diff --git a/src/PepperDash.Essentials.Devices.Common/VideoCodec/CiscoCodec/CiscoCamera.cs b/src/PepperDash.Essentials.Devices.Common/VideoCodec/CiscoCodec/CiscoCamera.cs index 6f68b369..c237d061 100644 --- a/src/PepperDash.Essentials.Devices.Common/VideoCodec/CiscoCodec/CiscoCamera.cs +++ b/src/PepperDash.Essentials.Devices.Common/VideoCodec/CiscoCodec/CiscoCamera.cs @@ -5,6 +5,7 @@ using System.Text; using Crestron.SimplSharp; using Crestron.SimplSharpPro.DeviceSupport; using PepperDash.Essentials.Core.Bridges; +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.Devices.Common.Cameras; namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco diff --git a/src/PepperDash.Essentials.Devices.Common/VideoCodec/CiscoCodec/CiscoSparkCodec.cs b/src/PepperDash.Essentials.Devices.Common/VideoCodec/CiscoCodec/CiscoSparkCodec.cs index cf48ba1d..ac5562b2 100644 --- a/src/PepperDash.Essentials.Devices.Common/VideoCodec/CiscoCodec/CiscoSparkCodec.cs +++ b/src/PepperDash.Essentials.Devices.Common/VideoCodec/CiscoCodec/CiscoSparkCodec.cs @@ -14,6 +14,7 @@ using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Bridges; using PepperDash.Essentials.Core.Config; using PepperDash.Essentials.Core.DeviceTypeInterfaces; +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.Core.Routing; using PepperDash.Essentials.Devices.Common.Cameras; using PepperDash.Essentials.Devices.Common.Codec; diff --git a/src/PepperDash.Essentials.Devices.Common/VideoCodec/Interfaces/IHasVideoCodec.cs b/src/PepperDash.Essentials.Devices.Common/VideoCodec/Interfaces/IHasVideoCodec.cs index d8494334..ab270fe2 100644 --- a/src/PepperDash.Essentials.Devices.Common/VideoCodec/Interfaces/IHasVideoCodec.cs +++ b/src/PepperDash.Essentials.Devices.Common/VideoCodec/Interfaces/IHasVideoCodec.cs @@ -5,6 +5,7 @@ using System.Text; using Crestron.SimplSharp; using PepperDash.Essentials.Core; +using PepperDash.Essentials.Core.Interfaces; namespace PepperDash.Essentials.Devices.Common.VideoCodec { diff --git a/src/PepperDash.Essentials.Devices.Common/VideoCodec/MockVC/MockVCCamera.cs b/src/PepperDash.Essentials.Devices.Common/VideoCodec/MockVC/MockVCCamera.cs index 0c008849..18cbd915 100644 --- a/src/PepperDash.Essentials.Devices.Common/VideoCodec/MockVC/MockVCCamera.cs +++ b/src/PepperDash.Essentials.Devices.Common/VideoCodec/MockVC/MockVCCamera.cs @@ -6,6 +6,7 @@ using Crestron.SimplSharp; using Crestron.SimplSharpPro.DeviceSupport; using PepperDash.Core; using PepperDash.Essentials.Core.Bridges; +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.Devices.Common.VideoCodec; namespace PepperDash.Essentials.Devices.Common.Cameras diff --git a/src/PepperDash.Essentials.Devices.Common/VideoCodec/VideoCodecBase.cs b/src/PepperDash.Essentials.Devices.Common/VideoCodec/VideoCodecBase.cs index 7d63a5a6..31a482f8 100644 --- a/src/PepperDash.Essentials.Devices.Common/VideoCodec/VideoCodecBase.cs +++ b/src/PepperDash.Essentials.Devices.Common/VideoCodec/VideoCodecBase.cs @@ -15,6 +15,7 @@ using PepperDash.Essentials.Core.Bridges; using PepperDash.Essentials.Core.Config; using PepperDash.Essentials.Core.Devices; using PepperDash.Essentials.Core.DeviceTypeInterfaces; +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.Core.Routing; using PepperDash.Essentials.Devices.Common.Cameras; using PepperDash.Essentials.Devices.Common.Codec; diff --git a/src/PepperDash.Essentials.Devices.Common/VideoCodec/ZoomRoom/ZoomRoomCamera.cs b/src/PepperDash.Essentials.Devices.Common/VideoCodec/ZoomRoom/ZoomRoomCamera.cs index b0fc52fe..9014fc15 100644 --- a/src/PepperDash.Essentials.Devices.Common/VideoCodec/ZoomRoom/ZoomRoomCamera.cs +++ b/src/PepperDash.Essentials.Devices.Common/VideoCodec/ZoomRoom/ZoomRoomCamera.cs @@ -5,6 +5,7 @@ using System.Text; using Crestron.SimplSharp; using Crestron.SimplSharpPro.DeviceSupport; using PepperDash.Essentials.Core.Bridges; +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.Devices.Common.Cameras; namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom diff --git a/src/PepperDash.Essentials.Devices.DM/Chassis/DmCardAudioOutput.cs b/src/PepperDash.Essentials.Devices.DM/Chassis/DmCardAudioOutput.cs index 4b4a927e..99bc1b88 100644 --- a/src/PepperDash.Essentials.Devices.DM/Chassis/DmCardAudioOutput.cs +++ b/src/PepperDash.Essentials.Devices.DM/Chassis/DmCardAudioOutput.cs @@ -7,6 +7,7 @@ using Crestron.SimplSharpPro.DM; using PepperDash.Core; using PepperDash.Essentials.Core; +using PepperDash.Essentials.Core.Interfaces; namespace PepperDash.Essentials.DM { diff --git a/src/PepperDash.Essentials.Devices.DM/Chassis/DmpsAudioOutputController.cs b/src/PepperDash.Essentials.Devices.DM/Chassis/DmpsAudioOutputController.cs index 751c1a5a..9fc893b7 100644 --- a/src/PepperDash.Essentials.Devices.DM/Chassis/DmpsAudioOutputController.cs +++ b/src/PepperDash.Essentials.Devices.DM/Chassis/DmpsAudioOutputController.cs @@ -11,6 +11,7 @@ using Newtonsoft.Json; using PepperDash.Core; using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Bridges; +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.DM.Config; diff --git a/src/PepperDash.Essentials.Devices.DM/Chassis/DmpsMicrophoneController.cs b/src/PepperDash.Essentials.Devices.DM/Chassis/DmpsMicrophoneController.cs index 30b2cfab..5cc647b1 100644 --- a/src/PepperDash.Essentials.Devices.DM/Chassis/DmpsMicrophoneController.cs +++ b/src/PepperDash.Essentials.Devices.DM/Chassis/DmpsMicrophoneController.cs @@ -8,6 +8,7 @@ using Crestron.SimplSharpPro.DeviceSupport; using PepperDash.Core; using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Bridges; +using PepperDash.Essentials.Core.Interfaces; namespace PepperDash.Essentials.DM diff --git a/src/PepperDash.Essentials.Devices.DM/Endpoints/DGEs/Dge100Controller.cs b/src/PepperDash.Essentials.Devices.DM/Endpoints/DGEs/Dge100Controller.cs index f8c2a021..830ff54b 100644 --- a/src/PepperDash.Essentials.Devices.DM/Endpoints/DGEs/Dge100Controller.cs +++ b/src/PepperDash.Essentials.Devices.DM/Endpoints/DGEs/Dge100Controller.cs @@ -17,6 +17,7 @@ using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Config; using Crestron.SimplSharpPro.DeviceSupport; using PepperDash.Essentials.Core.DeviceInfo; +using PepperDash.Essentials.Core.Interfaces; namespace PepperDash.Essentials.DM.Endpoints.DGEs { diff --git a/src/PepperDash.Essentials.Devices.DM/Endpoints/Receivers/DmRmc4KScalerCController.cs b/src/PepperDash.Essentials.Devices.DM/Endpoints/Receivers/DmRmc4KScalerCController.cs index 8d4abadd..12572c27 100644 --- a/src/PepperDash.Essentials.Devices.DM/Endpoints/Receivers/DmRmc4KScalerCController.cs +++ b/src/PepperDash.Essentials.Devices.DM/Endpoints/Receivers/DmRmc4KScalerCController.cs @@ -6,6 +6,7 @@ using Crestron.SimplSharpPro.DM.Endpoints.Receivers; using PepperDash.Core; using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Bridges; +using PepperDash.Essentials.Core.Interfaces; namespace PepperDash.Essentials.DM { diff --git a/src/PepperDash.Essentials.Devices.DM/Endpoints/Receivers/DmRmc4kScalerCDspController.cs b/src/PepperDash.Essentials.Devices.DM/Endpoints/Receivers/DmRmc4kScalerCDspController.cs index 5c6db1aa..219795a3 100644 --- a/src/PepperDash.Essentials.Devices.DM/Endpoints/Receivers/DmRmc4kScalerCDspController.cs +++ b/src/PepperDash.Essentials.Devices.DM/Endpoints/Receivers/DmRmc4kScalerCDspController.cs @@ -6,6 +6,7 @@ using Crestron.SimplSharpPro.DM.Endpoints.Receivers; using PepperDash.Core; using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Bridges; +using PepperDash.Essentials.Core.Interfaces; namespace PepperDash.Essentials.DM { diff --git a/src/PepperDash.Essentials.Devices.DM/Endpoints/Receivers/DmRmcHelper.cs b/src/PepperDash.Essentials.Devices.DM/Endpoints/Receivers/DmRmcHelper.cs index a9282693..c13b981e 100644 --- a/src/PepperDash.Essentials.Devices.DM/Endpoints/Receivers/DmRmcHelper.cs +++ b/src/PepperDash.Essentials.Devices.DM/Endpoints/Receivers/DmRmcHelper.cs @@ -9,6 +9,7 @@ using PepperDash.Core; using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Bridges; using PepperDash.Essentials.Core.DeviceInfo; +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.DM.Config; using PepperDash.Essentials.Core.Config; diff --git a/src/PepperDash.Essentials/Audio/EssentialsVolumeLevelConfig.cs b/src/PepperDash.Essentials/Audio/EssentialsVolumeLevelConfig.cs index 12108564..e1238e1d 100644 --- a/src/PepperDash.Essentials/Audio/EssentialsVolumeLevelConfig.cs +++ b/src/PepperDash.Essentials/Audio/EssentialsVolumeLevelConfig.cs @@ -9,6 +9,7 @@ using Newtonsoft.Json; using PepperDash.Core; using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Config; +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.Devices.Common.DSP; using PepperDash.Essentials.DM; diff --git a/src/PepperDash.Essentials/Bridges/EiscBridge.cs b/src/PepperDash.Essentials/Bridges/EiscBridge.cs index 21a220ef..20e09688 100644 --- a/src/PepperDash.Essentials/Bridges/EiscBridge.cs +++ b/src/PepperDash.Essentials/Bridges/EiscBridge.cs @@ -7,6 +7,7 @@ using PepperDash.Core; using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Bridges; using PepperDash.Essentials.Core.Config; +using PepperDash.Essentials.Core.Interfaces; namespace PepperDash.Essentials.Bridges { diff --git a/src/PepperDash.Essentials/Fusion/EssentialsHuddleVtc1FusionController.cs b/src/PepperDash.Essentials/Fusion/EssentialsHuddleVtc1FusionController.cs index 5ee5a893..199d3b69 100644 --- a/src/PepperDash.Essentials/Fusion/EssentialsHuddleVtc1FusionController.cs +++ b/src/PepperDash.Essentials/Fusion/EssentialsHuddleVtc1FusionController.cs @@ -8,7 +8,9 @@ using Crestron.SimplSharpPro.Fusion; using PepperDash.Core; using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Config; +using PepperDash.Essentials.Core.Devices; using PepperDash.Essentials.Core.Fusion; +using PepperDash.Essentials.Core.Interfaces; namespace PepperDash.Essentials.Fusion { diff --git a/src/PepperDash.Essentials/Fusion/EssentialsTechRoomFusionSystemController.cs b/src/PepperDash.Essentials/Fusion/EssentialsTechRoomFusionSystemController.cs index 0630c53a..2a6c6a26 100644 --- a/src/PepperDash.Essentials/Fusion/EssentialsTechRoomFusionSystemController.cs +++ b/src/PepperDash.Essentials/Fusion/EssentialsTechRoomFusionSystemController.cs @@ -7,7 +7,9 @@ using Crestron.SimplSharp; using PepperDash.Core; using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Config; +using PepperDash.Essentials.Core.Devices; using PepperDash.Essentials.Core.Fusion; +using PepperDash.Essentials.Core.Interfaces; namespace PepperDash.Essentials.Fusion { diff --git a/src/PepperDash.Essentials/Room/Config/EssentialsRoomConfig.cs b/src/PepperDash.Essentials/Room/Config/EssentialsRoomConfig.cs index 6e6e07ed..4c24557a 100644 --- a/src/PepperDash.Essentials/Room/Config/EssentialsRoomConfig.cs +++ b/src/PepperDash.Essentials/Room/Config/EssentialsRoomConfig.cs @@ -10,6 +10,7 @@ using PepperDash.Core; using PepperDash.Essentials; using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Config; +using PepperDash.Essentials.Core.Interfaces; namespace PepperDash.Essentials.Room.Config { diff --git a/src/PepperDash.Essentials/Room/Types/EssentialsCombinedHuddleVtc1Room.cs b/src/PepperDash.Essentials/Room/Types/EssentialsCombinedHuddleVtc1Room.cs index 9dec21f2..be879519 100644 --- a/src/PepperDash.Essentials/Room/Types/EssentialsCombinedHuddleVtc1Room.cs +++ b/src/PepperDash.Essentials/Room/Types/EssentialsCombinedHuddleVtc1Room.cs @@ -9,6 +9,7 @@ using Newtonsoft.Json; using PepperDash.Core; using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Config; +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.Room.Config; using PepperDash.Essentials.Devices.Common.Codec; using PepperDash.Essentials.Devices.Common.VideoCodec; diff --git a/src/PepperDash.Essentials/Room/Types/EssentialsDualDisplayRoom.cs b/src/PepperDash.Essentials/Room/Types/EssentialsDualDisplayRoom.cs index d3812feb..5cf76358 100644 --- a/src/PepperDash.Essentials/Room/Types/EssentialsDualDisplayRoom.cs +++ b/src/PepperDash.Essentials/Room/Types/EssentialsDualDisplayRoom.cs @@ -10,6 +10,7 @@ using PepperDash.Core; using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Devices; using PepperDash.Essentials.Core.Config; +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.Room.Config; using PepperDash.Essentials.Devices.Common.Codec; using PepperDash.Essentials.Devices.Common.VideoCodec; diff --git a/src/PepperDash.Essentials/Room/Types/EssentialsHuddleSpaceRoom.cs b/src/PepperDash.Essentials/Room/Types/EssentialsHuddleSpaceRoom.cs index 4ed3da6b..18822a07 100644 --- a/src/PepperDash.Essentials/Room/Types/EssentialsHuddleSpaceRoom.cs +++ b/src/PepperDash.Essentials/Room/Types/EssentialsHuddleSpaceRoom.cs @@ -9,6 +9,7 @@ using Newtonsoft.Json; using PepperDash.Core; using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Config; +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.Room.Config; namespace PepperDash.Essentials diff --git a/src/PepperDash.Essentials/Room/Types/EssentialsHuddleVtc1Room.cs b/src/PepperDash.Essentials/Room/Types/EssentialsHuddleVtc1Room.cs index 20134a2e..c28d99cc 100644 --- a/src/PepperDash.Essentials/Room/Types/EssentialsHuddleVtc1Room.cs +++ b/src/PepperDash.Essentials/Room/Types/EssentialsHuddleVtc1Room.cs @@ -9,6 +9,7 @@ using Newtonsoft.Json; using PepperDash.Core; using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Config; +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.Room.Config; using PepperDash.Essentials.Devices.Common.Codec; using PepperDash.Essentials.Devices.Common.VideoCodec; diff --git a/src/PepperDash.Essentials/Room/Types/EssentialsTechRoom.cs b/src/PepperDash.Essentials/Room/Types/EssentialsTechRoom.cs index c2b08f89..701f5447 100644 --- a/src/PepperDash.Essentials/Room/Types/EssentialsTechRoom.cs +++ b/src/PepperDash.Essentials/Room/Types/EssentialsTechRoom.cs @@ -11,6 +11,7 @@ using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Bridges; using PepperDash.Essentials.Core.Config; using PepperDash.Essentials.Core.DeviceTypeInterfaces; +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.Core.Presets; using PepperDash.Essentials.Devices.Common; using PepperDash.Essentials.Room.Config; diff --git a/src/PepperDash.Essentials/Room/Types/Interfaces/IEssentialsHuddleSpaceRoom.cs b/src/PepperDash.Essentials/Room/Types/Interfaces/IEssentialsHuddleSpaceRoom.cs index c7f68e8b..938de0b1 100644 --- a/src/PepperDash.Essentials/Room/Types/Interfaces/IEssentialsHuddleSpaceRoom.cs +++ b/src/PepperDash.Essentials/Room/Types/Interfaces/IEssentialsHuddleSpaceRoom.cs @@ -1,6 +1,7 @@ using System; using PepperDash.Essentials.Core; +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.Room.Config; diff --git a/src/PepperDash.Essentials/Room/Types/Interfaces/IEssentialsHuddleVtc1Room.cs b/src/PepperDash.Essentials/Room/Types/Interfaces/IEssentialsHuddleVtc1Room.cs index 4b13145c..29dbb4c1 100644 --- a/src/PepperDash.Essentials/Room/Types/Interfaces/IEssentialsHuddleVtc1Room.cs +++ b/src/PepperDash.Essentials/Room/Types/Interfaces/IEssentialsHuddleVtc1Room.cs @@ -1,5 +1,6 @@  using PepperDash.Essentials.Core; +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.Room.Config; using PepperDash.Essentials.Devices.Common.Codec; using PepperDash.Essentials.Devices.Common.VideoCodec; diff --git a/src/PepperDash.Essentials/UIDrivers/EssentialsHuddle/EssentialsHuddlePanelAvFunctionsDriver.cs b/src/PepperDash.Essentials/UIDrivers/EssentialsHuddle/EssentialsHuddlePanelAvFunctionsDriver.cs index e58172de..0ee95baf 100644 --- a/src/PepperDash.Essentials/UIDrivers/EssentialsHuddle/EssentialsHuddlePanelAvFunctionsDriver.cs +++ b/src/PepperDash.Essentials/UIDrivers/EssentialsHuddle/EssentialsHuddlePanelAvFunctionsDriver.cs @@ -7,6 +7,7 @@ using Crestron.SimplSharpPro.UI; using PepperDash.Core; using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Config; +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.Core.SmartObjects; using PepperDash.Essentials.Core.PageManagers; diff --git a/src/PepperDash.Essentials/UIDrivers/EssentialsHuddleVTC/EssentialsHuddleVtc1PanelAvFunctionsDriver.cs b/src/PepperDash.Essentials/UIDrivers/EssentialsHuddleVTC/EssentialsHuddleVtc1PanelAvFunctionsDriver.cs index 3f557da1..fd94e7fc 100644 --- a/src/PepperDash.Essentials/UIDrivers/EssentialsHuddleVTC/EssentialsHuddleVtc1PanelAvFunctionsDriver.cs +++ b/src/PepperDash.Essentials/UIDrivers/EssentialsHuddleVTC/EssentialsHuddleVtc1PanelAvFunctionsDriver.cs @@ -10,6 +10,7 @@ using PepperDash.Core; using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Config; using PepperDash.Essentials.Core.DeviceTypeInterfaces; +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.Core.SmartObjects; using PepperDash.Essentials.Core.PageManagers; using PepperDash.Essentials.Room.Config; diff --git a/src/PepperDash.Essentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs b/src/PepperDash.Essentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs index 40671238..af09c403 100644 --- a/src/PepperDash.Essentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs +++ b/src/PepperDash.Essentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs @@ -11,6 +11,7 @@ using Crestron.SimplSharpPro.DeviceSupport; using PepperDash.Core; using PepperDash.Essentials; using PepperDash.Essentials.Core; +using PepperDash.Essentials.Core.Interfaces; using PepperDash.Essentials.Core.SmartObjects; using PepperDash.Essentials.Core.Touchpanels.Keyboards; using PepperDash.Essentials.Devices.Common.Codec;