From 68365553ed4f748a7dab58250b2f5fd9e7a9491d Mon Sep 17 00:00:00 2001 From: Drew Tingen Date: Sat, 5 Dec 2020 08:53:34 -0500 Subject: [PATCH] feat: Adding SimplSharpMono environment (for non-pro 4-series environment) fix: Fix error in console FixLineEndings --- CHANGELOG.md | 1 + ICD.Common.Utils/IcdConsole.cs | 3 ++- ICD.Common.Utils/IcdEnvironment.SimplSharp.cs | 10 ++++------ ICD.Common.Utils/IcdEnvironment.cs | 1 + ICD.Common.Utils/PathUtils.cs | 5 +++++ ICD.Common.Utils/ProcessorUtils.SimplSharp.cs | 1 + ICD.Common.Utils/ProgramUtils.cs | 1 + 7 files changed, 15 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c74e6e9..48aba0a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Added eDaysOfWeek flags enum - Added support for reading the primitive type double to IcdXmlReader and XmlUtils - Added ProcessorUtils.GetSystemStartTime() to get DateTime the system started instead of a TimeSpan + - Added SimplSharpMono environment to IcdEnvironment, for non-pro 4-series environment ### Changed - Repeater changed to use configured callbacks instead of a dumb event diff --git a/ICD.Common.Utils/IcdConsole.cs b/ICD.Common.Utils/IcdConsole.cs index 5998f83..5a529bf 100644 --- a/ICD.Common.Utils/IcdConsole.cs +++ b/ICD.Common.Utils/IcdConsole.cs @@ -203,7 +203,8 @@ namespace ICD.Common.Utils /// private static string FixLineEndings(string input) { - if (IcdEnvironment.RuntimeEnvironment != IcdEnvironment.eRuntimeEnvironment.SimplSharpProMono) + if (IcdEnvironment.RuntimeEnvironment != IcdEnvironment.eRuntimeEnvironment.SimplSharpProMono + && IcdEnvironment.RuntimeEnvironment != IcdEnvironment.eRuntimeEnvironment.SimplSharpMono) return input; return s_NewLineRegex.Replace(input, NEWLINE); diff --git a/ICD.Common.Utils/IcdEnvironment.SimplSharp.cs b/ICD.Common.Utils/IcdEnvironment.SimplSharp.cs index 0f44970..397c800 100644 --- a/ICD.Common.Utils/IcdEnvironment.SimplSharp.cs +++ b/ICD.Common.Utils/IcdEnvironment.SimplSharp.cs @@ -200,9 +200,7 @@ namespace ICD.Common.Utils s_RuntimeEnvironment = CrestronEnvironment.DevicePlatform == eDevicePlatform.Server ? eRuntimeEnvironment.SimplSharpProServer - : Type.GetType("Mono.Runtime") == null - ? GetRuntimeEnvironment(CrestronEnvironment.RuntimeEnvironment) - : eRuntimeEnvironment.SimplSharpProMono; + : GetRuntimeEnvironment(CrestronEnvironment.RuntimeEnvironment, Type.GetType("Mono.Runtime") != null); CrestronEnvironment.ProgramStatusEventHandler += CrestronEnvironmentOnProgramStatusEventHandler; CrestronEnvironment.EthernetEventHandler += CrestronEnvironmentOnEthernetEventHandler; @@ -260,14 +258,14 @@ namespace ICD.Common.Utils } } - private static eRuntimeEnvironment GetRuntimeEnvironment(Crestron.SimplSharp.eRuntimeEnvironment runtimeEnvironment) + private static eRuntimeEnvironment GetRuntimeEnvironment(Crestron.SimplSharp.eRuntimeEnvironment runtimeEnvironment, bool mono) { switch (runtimeEnvironment) { case Crestron.SimplSharp.eRuntimeEnvironment.SIMPL: - return eRuntimeEnvironment.SimplSharp; + return mono ? eRuntimeEnvironment.SimplSharpMono : eRuntimeEnvironment.SimplSharp; case Crestron.SimplSharp.eRuntimeEnvironment.SimplSharpPro: - return eRuntimeEnvironment.SimplSharpPro; + return mono ? eRuntimeEnvironment.SimplSharpProMono : eRuntimeEnvironment.SimplSharpPro; default: throw new ArgumentOutOfRangeException("runtimeEnvironment"); } diff --git a/ICD.Common.Utils/IcdEnvironment.cs b/ICD.Common.Utils/IcdEnvironment.cs index 83559da..60682ae 100644 --- a/ICD.Common.Utils/IcdEnvironment.cs +++ b/ICD.Common.Utils/IcdEnvironment.cs @@ -12,6 +12,7 @@ namespace ICD.Common.Utils public enum eRuntimeEnvironment { SimplSharp, + SimplSharpMono, SimplSharpPro, SimplSharpProMono, SimplSharpProServer, diff --git a/ICD.Common.Utils/PathUtils.cs b/ICD.Common.Utils/PathUtils.cs index bce622e..fad31e3 100644 --- a/ICD.Common.Utils/PathUtils.cs +++ b/ICD.Common.Utils/PathUtils.cs @@ -65,6 +65,7 @@ namespace ICD.Common.Utils #if SIMPLSHARP switch (IcdEnvironment.RuntimeEnvironment) { + case IcdEnvironment.eRuntimeEnvironment.SimplSharpMono: case IcdEnvironment.eRuntimeEnvironment.SimplSharpProMono: return Join(RootPath, "user"); default: @@ -96,6 +97,7 @@ namespace ICD.Common.Utils switch (IcdEnvironment.RuntimeEnvironment) { case IcdEnvironment.eRuntimeEnvironment.SimplSharp: + case IcdEnvironment.eRuntimeEnvironment.SimplSharpMono: case IcdEnvironment.eRuntimeEnvironment.SimplSharpPro: case IcdEnvironment.eRuntimeEnvironment.SimplSharpProMono: case IcdEnvironment.eRuntimeEnvironment.Standard: @@ -128,6 +130,7 @@ namespace ICD.Common.Utils switch (IcdEnvironment.RuntimeEnvironment) { case IcdEnvironment.eRuntimeEnvironment.SimplSharp: + case IcdEnvironment.eRuntimeEnvironment.SimplSharpMono: case IcdEnvironment.eRuntimeEnvironment.SimplSharpPro: case IcdEnvironment.eRuntimeEnvironment.SimplSharpProMono: case IcdEnvironment.eRuntimeEnvironment.Standard: @@ -177,6 +180,7 @@ namespace ICD.Common.Utils switch (IcdEnvironment.RuntimeEnvironment) { case IcdEnvironment.eRuntimeEnvironment.SimplSharp: + case IcdEnvironment.eRuntimeEnvironment.SimplSharpMono: case IcdEnvironment.eRuntimeEnvironment.SimplSharpPro: case IcdEnvironment.eRuntimeEnvironment.SimplSharpProMono: case IcdEnvironment.eRuntimeEnvironment.Standard: @@ -210,6 +214,7 @@ namespace ICD.Common.Utils case IcdEnvironment.eRuntimeEnvironment.SimplSharpPro: return Join(RootPath, "HTML"); + case IcdEnvironment.eRuntimeEnvironment.SimplSharpMono: case IcdEnvironment.eRuntimeEnvironment.SimplSharpProMono: return Join(RootPath, "html"); diff --git a/ICD.Common.Utils/ProcessorUtils.SimplSharp.cs b/ICD.Common.Utils/ProcessorUtils.SimplSharp.cs index dae07ac..e2e37b7 100644 --- a/ICD.Common.Utils/ProcessorUtils.SimplSharp.cs +++ b/ICD.Common.Utils/ProcessorUtils.SimplSharp.cs @@ -111,6 +111,7 @@ namespace ICD.Common.Utils { switch (IcdEnvironment.RuntimeEnvironment) { + case IcdEnvironment.eRuntimeEnvironment.SimplSharpMono: case IcdEnvironment.eRuntimeEnvironment.SimplSharpProMono: date = StringUtils.RemoveDuplicateWhitespace(date); return DateTime.ParseExact(date, "MMM d yyyy", CultureInfo.InvariantCulture).ToUniversalTime(); diff --git a/ICD.Common.Utils/ProgramUtils.cs b/ICD.Common.Utils/ProgramUtils.cs index 15c31f2..0cd69c8 100644 --- a/ICD.Common.Utils/ProgramUtils.cs +++ b/ICD.Common.Utils/ProgramUtils.cs @@ -24,6 +24,7 @@ namespace ICD.Common.Utils switch (IcdEnvironment.RuntimeEnvironment) { case IcdEnvironment.eRuntimeEnvironment.SimplSharp: + case IcdEnvironment.eRuntimeEnvironment.SimplSharpMono: int length = Math.Min(13, name.Length); name = name.Substring(0, length).PadRight(13); break;