diff --git a/src/PepperDash.Essentials.Core/Devices/ProcessorExtensionDeviceFactory.cs b/src/PepperDash.Essentials.Core/Devices/ProcessorExtensionDeviceFactory.cs
index 514e9a20..8549fd38 100644
--- a/src/PepperDash.Essentials.Core/Devices/ProcessorExtensionDeviceFactory.cs
+++ b/src/PepperDash.Essentials.Core/Devices/ProcessorExtensionDeviceFactory.cs
@@ -1,8 +1,14 @@
+using System;
using System.Collections.Generic;
using PepperDash.Essentials.Core.Config;
namespace PepperDash.Essentials.Core
{
+ ///
+ /// Represents a factory for creating processor extension devices.
+ ///
+ /// The type of the processor extension device.
+ [Obsolete("will be removed in a future version")]
public abstract class ProcessorExtensionDeviceFactory : IProcessorExtensionDeviceFactory where T : EssentialsDevice
{
#region IProcessorExtensionDeviceFactory Members
@@ -19,11 +25,10 @@ namespace PepperDash.Essentials.Core
{
foreach (var typeName in TypeNames)
{
- var descriptionAttribute = typeof(T).GetCustomAttributes(typeof(DescriptionAttribute), true) as DescriptionAttribute[];
- string description = descriptionAttribute != null && descriptionAttribute.Length > 0
+ string description = typeof(T).GetCustomAttributes(typeof(DescriptionAttribute), true) is DescriptionAttribute[] descriptionAttribute && descriptionAttribute.Length > 0
? descriptionAttribute[0].Description
: "No description available";
- var snippetAttribute = typeof(T).GetCustomAttributes(typeof(ConfigSnippetAttribute), true) as ConfigSnippetAttribute[];
+
ProcessorExtensionDeviceFactory.AddFactoryForType(typeName.ToLower(), description, typeof(T), BuildDevice);
}
}
diff --git a/src/PepperDash.Essentials.Core/Factory/DeviceFactory.cs b/src/PepperDash.Essentials.Core/Factory/DeviceFactory.cs
index 9f644b04..b4852f92 100644
--- a/src/PepperDash.Essentials.Core/Factory/DeviceFactory.cs
+++ b/src/PepperDash.Essentials.Core/Factory/DeviceFactory.cs
@@ -92,12 +92,10 @@ namespace PepperDash.Essentials.Core
{
foreach (var typeName in deviceFactory.TypeNames)
{
-
- var descriptionAttribute = deviceFactory.FactoryType.GetCustomAttributes(typeof(DescriptionAttribute), true) as DescriptionAttribute[];
- string description = descriptionAttribute != null && descriptionAttribute.Length > 0
- ? descriptionAttribute[0].Description
+ string description = deviceFactory.FactoryType.GetCustomAttributes(typeof(DescriptionAttribute), true) is DescriptionAttribute[] descriptionAttribute && descriptionAttribute.Length > 0
+ ? descriptionAttribute[0].Description
: "No description available";
- var snippetAttribute = deviceFactory.FactoryType.GetCustomAttributes(typeof(ConfigSnippetAttribute), true) as ConfigSnippetAttribute[];
+
AddFactoryForType(typeName.ToLower(), description, deviceFactory.FactoryType, deviceFactory.BuildDevice);
}
}
diff --git a/src/PepperDash.Essentials.Core/Plugins/PluginLoader.cs b/src/PepperDash.Essentials.Core/Plugins/PluginLoader.cs
index b77d279b..a1dd9413 100644
--- a/src/PepperDash.Essentials.Core/Plugins/PluginLoader.cs
+++ b/src/PepperDash.Essentials.Core/Plugins/PluginLoader.cs
@@ -523,62 +523,14 @@ namespace PepperDash.Essentials
{
foreach (var typeName in deviceFactory.TypeNames)
{
-
- var descriptionAttribute = deviceFactory.FactoryType.GetCustomAttributes(typeof(DescriptionAttribute), true) as DescriptionAttribute[];
- string description = descriptionAttribute != null && descriptionAttribute.Length > 0
- ? descriptionAttribute[0].Description
+ string description = deviceFactory.FactoryType.GetCustomAttributes(typeof(DescriptionAttribute), true) is DescriptionAttribute[] descriptionAttribute && descriptionAttribute.Length > 0
+ ? descriptionAttribute[0].Description
: "No description available";
- var snippetAttribute = deviceFactory.FactoryType.GetCustomAttributes(typeof(ConfigSnippetAttribute), true) as ConfigSnippetAttribute[];
+
DeviceFactory.AddFactoryForType(typeName.ToLower(), description, deviceFactory.FactoryType, deviceFactory.BuildDevice);
}
}
- ///
- /// Loads a a custom plugin via the legacy method
- ///
- ///
- ///
- static void LoadCustomLegacyPlugin(Type type, MethodInfo loadPlugin, LoadedAssembly loadedAssembly)
- {
- Debug.LogMessage(LogEventLevel.Verbose, "LoadPlugin method found in {0}", type.Name);
-
- var fields = type.GetFields(BindingFlags.Public | BindingFlags.Static);
-
- var minimumVersion = fields.FirstOrDefault(p => p.Name.Equals("MinimumEssentialsFrameworkVersion"));
- if (minimumVersion != null)
- {
- Debug.LogMessage(LogEventLevel.Verbose, "MinimumEssentialsFrameworkVersion found");
-
- var minimumVersionString = minimumVersion.GetValue(null) as string;
-
- if (!string.IsNullOrEmpty(minimumVersionString))
- {
- var passed = Global.IsRunningMinimumVersionOrHigher(minimumVersionString);
-
- if (!passed)
- {
- Debug.LogMessage(LogEventLevel.Information, "Plugin indicates minimum Essentials version {0}. Dependency check failed. Skipping Plugin", minimumVersionString);
- return;
- }
- else
- {
- Debug.LogMessage(LogEventLevel.Information, "Passed plugin passed dependency check (required version {0})", minimumVersionString);
- }
- }
- else
- {
- Debug.LogMessage(LogEventLevel.Information, "MinimumEssentialsFrameworkVersion found but not set. Loading plugin, but your mileage may vary.");
- }
- }
- else
- {
- Debug.LogMessage(LogEventLevel.Information, "MinimumEssentialsFrameworkVersion not found. Loading plugin, but your mileage may vary.");
- }
-
- Debug.LogMessage(LogEventLevel.Information, "Loading legacy plugin: {0}", loadedAssembly.Name);
- loadPlugin.Invoke(null, null);
-
- }
///
/// LoadPlugins method
diff --git a/src/PepperDash.Essentials.Devices.Common/DeviceFactory.cs b/src/PepperDash.Essentials.Devices.Common/DeviceFactory.cs
index ff730706..178c53a7 100644
--- a/src/PepperDash.Essentials.Devices.Common/DeviceFactory.cs
+++ b/src/PepperDash.Essentials.Devices.Common/DeviceFactory.cs
@@ -51,11 +51,10 @@ namespace PepperDash.Essentials.Devices.Common
foreach (var typeName in deviceFactory.TypeNames)
{
//Debug.LogMessage(LogEventLevel.Verbose, "Getting Description Attribute from class: '{0}'", typeof(T).FullName);
- var descriptionAttribute = deviceFactory.FactoryType.GetCustomAttributes(typeof(DescriptionAttribute), true) as DescriptionAttribute[];
- string description = (descriptionAttribute != null && descriptionAttribute.Length > 0)
- ? descriptionAttribute[0].Description
+ string description = (deviceFactory.FactoryType.GetCustomAttributes(typeof(DescriptionAttribute), true) is DescriptionAttribute[] descriptionAttribute && descriptionAttribute.Length > 0)
+ ? descriptionAttribute[0].Description
: "No description available";
- var snippetAttribute = deviceFactory.FactoryType.GetCustomAttributes(typeof(ConfigSnippetAttribute), true) as ConfigSnippetAttribute[];
+
Core.DeviceFactory.AddFactoryForType(typeName.ToLower(), description, deviceFactory.FactoryType, deviceFactory.BuildDevice);
}
}
diff --git a/src/PepperDash.Essentials.MobileControl/MobileControlFactory.cs b/src/PepperDash.Essentials.MobileControl/MobileControlFactory.cs
index 32a00b8c..393b3385 100644
--- a/src/PepperDash.Essentials.MobileControl/MobileControlFactory.cs
+++ b/src/PepperDash.Essentials.MobileControl/MobileControlFactory.cs
@@ -50,13 +50,11 @@ namespace PepperDash.Essentials
{
foreach (var typeName in deviceFactory.TypeNames)
{
- //Debug.LogMessage(LogEventLevel.Verbose, "Getting Description Attribute from class: '{0}'", typeof(T).FullName);
- var descriptionAttribute = deviceFactory.FactoryType.GetCustomAttributes(typeof(DescriptionAttribute), true) as DescriptionAttribute[];
- string description = (descriptionAttribute != null && descriptionAttribute.Length > 0)
- ? descriptionAttribute[0].Description
- : string.Empty; // Default value if no DescriptionAttribute is found
- var snippetAttribute = deviceFactory.FactoryType.GetCustomAttributes(typeof(ConfigSnippetAttribute), true) as ConfigSnippetAttribute[];
- Core.DeviceFactory.AddFactoryForType(typeName.ToLower(), description, deviceFactory.FactoryType, deviceFactory.BuildDevice);
+ string description = (deviceFactory.FactoryType.GetCustomAttributes(typeof(DescriptionAttribute), true) is DescriptionAttribute[] descriptionAttribute && descriptionAttribute.Length > 0)
+ ? descriptionAttribute[0].Description
+ : "No description available"; // Default value if no DescriptionAttribute is found
+
+ DeviceFactory.AddFactoryForType(typeName.ToLower(), description, deviceFactory.FactoryType, deviceFactory.BuildDevice);
}
}
}
diff --git a/src/PepperDash.Essentials/Factory/DeviceFactory.cs b/src/PepperDash.Essentials/Factory/DeviceFactory.cs
index e59628ab..e60b3fa4 100644
--- a/src/PepperDash.Essentials/Factory/DeviceFactory.cs
+++ b/src/PepperDash.Essentials/Factory/DeviceFactory.cs
@@ -1,17 +1,11 @@
using System;
-using System.Collections.Generic;
using System.Linq;
using System.Reflection;
-using Crestron.SimplSharp;
-using Crestron.SimplSharp.CrestronIO;
-using Crestron.SimplSharpPro;
-using Newtonsoft.Json;
-using Newtonsoft.Json.Linq;
+
using PepperDash.Core;
using PepperDash.Essentials.Core;
-using PepperDash.Essentials.Core.Config;
namespace PepperDash.Essentials
{
@@ -59,12 +53,10 @@ namespace PepperDash.Essentials
{
foreach (var typeName in deviceFactory.TypeNames)
{
-
- var descriptionAttribute = deviceFactory.FactoryType.GetCustomAttributes(typeof(DescriptionAttribute), true) as DescriptionAttribute[];
- string description = (descriptionAttribute != null && descriptionAttribute.Length > 0)
- ? descriptionAttribute[0].Description
+ string description = (deviceFactory.FactoryType.GetCustomAttributes(typeof(DescriptionAttribute), true) is DescriptionAttribute[] descriptionAttribute && descriptionAttribute.Length > 0)
+ ? descriptionAttribute[0].Description
: "No description available";
- var snippetAttribute = deviceFactory.FactoryType.GetCustomAttributes(typeof(ConfigSnippetAttribute), true) as ConfigSnippetAttribute[];
+
Core.DeviceFactory.AddFactoryForType(typeName.ToLower(), description, deviceFactory.FactoryType, deviceFactory.BuildDevice);
}
}