From 0fc6a73b30b1423c28d48e84c0e06e28f1b27dfc Mon Sep 17 00:00:00 2001 From: Andrew Welker Date: Fri, 25 Sep 2020 08:46:52 -0600 Subject: [PATCH] adjust factory and constructor for EiscApiAdvanced Keep SystemMonitor from getting instantiated if we're on a VC-4 instance --- PepperDashEssentials/ControlSystem.cs | 6 +++- .../Bridges/BridgeBase.cs | 36 ++++++++++++++----- .../Bridges/VirtualControlEiscApiAdvanced.cs | 7 ---- .../PepperDash_Essentials_Core.csproj | 1 - 4 files changed, 33 insertions(+), 17 deletions(-) delete mode 100644 essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/VirtualControlEiscApiAdvanced.cs diff --git a/PepperDashEssentials/ControlSystem.cs b/PepperDashEssentials/ControlSystem.cs index 8803dc6c..9802c176 100644 --- a/PepperDashEssentials/ControlSystem.cs +++ b/PepperDashEssentials/ControlSystem.cs @@ -327,7 +327,11 @@ namespace PepperDash.Essentials DeviceManager.AddDevice(new PepperDash.Essentials.Core.Devices.CrestronProcessor("processor")); // Add global System Monitor device - DeviceManager.AddDevice(new PepperDash.Essentials.Core.Monitoring.SystemMonitorController("systemMonitor")); + if (CrestronEnvironment.DevicePlatform == eDevicePlatform.Appliance) + { + DeviceManager.AddDevice( + new PepperDash.Essentials.Core.Monitoring.SystemMonitorController("systemMonitor")); + } foreach (var devConf in ConfigReader.ConfigObject.Devices) { diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/BridgeBase.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/BridgeBase.cs index 9631ead5..91c51f49 100644 --- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/BridgeBase.cs +++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/BridgeBase.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using Crestron.SimplSharp.Reflection; using Crestron.SimplSharpPro; +using Crestron.SimplSharpPro.DeviceSupport; using Crestron.SimplSharpPro.EthernetCommunication; using Newtonsoft.Json; @@ -82,9 +83,9 @@ namespace PepperDash.Essentials.Core.Bridges protected Dictionary JoinMaps { get; private set; } - public ThreeSeriesTcpIpEthernetIntersystemCommunications Eisc { get; private set; } + public BasicTriList Eisc { get; private set; } - public EiscApiAdvanced(DeviceConfig dc) : + public EiscApiAdvanced(DeviceConfig dc, BasicTriList eisc) : base(dc.Key) { JoinMaps = new Dictionary(); @@ -92,7 +93,7 @@ namespace PepperDash.Essentials.Core.Bridges PropertiesConfig = dc.Properties.ToObject(); //PropertiesConfig = JsonConvert.DeserializeObject(dc.Properties.ToString()); - Eisc = new ThreeSeriesTcpIpEthernetIntersystemCommunications(PropertiesConfig.Control.IpIdInt, PropertiesConfig.Control.TcpSshProperties.Address, Global.ControlSystem); + Eisc = eisc; Eisc.SigChange += Eisc_SigChange; @@ -160,7 +161,7 @@ namespace PepperDash.Essentials.Core.Bridges /// /// Prints all the join maps on this bridge /// - public void PrintJoinMaps() + public virtual void PrintJoinMaps() { Debug.Console(0, this, "Join Maps for EISC IPID: {0}", Eisc.ID.ToString("X")); @@ -255,7 +256,7 @@ namespace PepperDash.Essentials.Core.Bridges /// /// /// - void Eisc_SigChange(object currentDevice, SigEventArgs args) + protected void Eisc_SigChange(object currentDevice, SigEventArgs args) { try { @@ -307,15 +308,34 @@ namespace PepperDash.Essentials.Core.Bridges { public EiscApiAdvancedFactory() { - TypeNames = new List { "eiscapiadv", "eiscapiadvanced" }; + TypeNames = new List { "eiscapiadv", "eiscapiadvanced", "vceiscapiadv", "vceiscapiadvanced" }; } public override EssentialsDevice BuildDevice(DeviceConfig dc) { Debug.Console(1, "Factory Attempting to create new EiscApiAdvanced Device"); - return new EiscApiAdvanced(dc); - + var controlProperties = dc.Properties["control"].ToObject(); + + switch (dc.Type) + { + case "eiscapiadv": + case "eiscapiadvanced": + { + var eisc = new ThreeSeriesTcpIpEthernetIntersystemCommunications(controlProperties.IpIdInt, + controlProperties.TcpSshProperties.Address, Global.ControlSystem); + return new EiscApiAdvanced(dc, eisc); + } + case "vceiscapiadv": + case "vceiscapiadvanced": + { + var eisc = new VirtualControlEISCClient(controlProperties.IpIdInt, controlProperties.RoomId, + Global.ControlSystem); + return new EiscApiAdvanced(dc, eisc); + } + default: + return null; + } } } diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/VirtualControlEiscApiAdvanced.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/VirtualControlEiscApiAdvanced.cs deleted file mode 100644 index 35de694d..00000000 --- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/VirtualControlEiscApiAdvanced.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace PepperDash.Essentials.Core.Bridges -{ - public class VirtualControlEiscApiAdvanced - { - - } -} \ No newline at end of file diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/PepperDash_Essentials_Core.csproj b/essentials-framework/Essentials Core/PepperDashEssentialsBase/PepperDash_Essentials_Core.csproj index ed70ab1d..ee97115f 100644 --- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/PepperDash_Essentials_Core.csproj +++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/PepperDash_Essentials_Core.csproj @@ -158,7 +158,6 @@ -