diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/Comm and IR/GenericComm.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/Comm and IR/GenericComm.cs
index 0b0e4d82..dd3a835a 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/Comm and IR/GenericComm.cs
+++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/Comm and IR/GenericComm.cs
@@ -13,8 +13,6 @@ using PepperDash.Essentials.Core.Config;
namespace PepperDash.Essentials.Core
{
-
-
///
/// Serves as a generic wrapper class for all styles of IBasicCommuncation ports
///
@@ -62,21 +60,19 @@ namespace PepperDash.Essentials.Core
ConfigWriter.UpdateDeviceConfig(config);
}
- public class Factory : Essentials.Core.Factory
- {
- #region IDeviceFactory Members
-
- List TypeNames = new List() { "genericComm" };
-
- #endregion
-
- public override IKeyed BuildDevice(DeviceConfig dc)
- {
- Debug.Console(1, "Factory Attempting to create new Generic Comm Device");
- return new GenericComm(dc);
- }
- }
}
+ public class GenericCommFactory : Essentials.Core.EssentialsDeviceFactory
+ {
+ public override EssentialsDevice BuildDevice(DeviceConfig dc)
+ {
+ Debug.Console(1, "Factory Attempting to create new Generic Comm Device");
+ return new GenericComm(dc);
+ }
+ public GenericCommFactory()
+ {
+ TypeNames = new List() { "genericComm" };
+ }
+ }
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/EssentialsDevice.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/EssentialsDevice.cs
index 88c62f48..c3fd2460 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/EssentialsDevice.cs
+++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/EssentialsDevice.cs
@@ -19,9 +19,18 @@ namespace PepperDash.Essentials.Core
{
}
+
+ protected EssentialsDevice(string key, string name)
+ : base(key, name)
+ {
+
+ }
}
- public abstract class Factory : IDeviceFactory
+ ///
+ /// Devices the basic needs for a Device Factory
+ ///
+ public abstract class EssentialsDeviceFactory : IDeviceFactory where T:EssentialsDevice
{
#region IDeviceFactory Members
@@ -35,13 +44,16 @@ namespace PepperDash.Essentials.Core
}
}
+ public abstract EssentialsDevice BuildDevice(DeviceConfig dc);
+
#endregion
+ }
- public abstract IKeyed BuildDevice(DeviceConfig dc);
-
- protected Factory()
- {
- TypeNames = new List();
- }
+ ///
+ /// Devices the basic needs for a Device Factory
+ ///
+ public abstract class EssentialsPluginDeviceFactory : EssentialsDeviceFactory, IPluginDeviceFactory where T : EssentialsDevice
+ {
+ public string MinimumEssentialsFrameworkVersion { get; protected set; }
}
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Factory/DeviceFactory.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Factory/DeviceFactory.cs
index 47947691..5b5af20b 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Factory/DeviceFactory.cs
+++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Factory/DeviceFactory.cs
@@ -96,7 +96,7 @@ namespace PepperDash.Essentials.Core
{
public CoreDeviceFactory()
{
- var genComm = new GenericComm.Factory() as IDeviceFactory;
+ var genComm = new GenericCommFactory() as IDeviceFactory;
genComm.LoadTypeFactories();
}
}
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Factory/IDeviceFactory.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Factory/IDeviceFactory.cs
index 0781d647..ef792868 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Factory/IDeviceFactory.cs
+++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Factory/IDeviceFactory.cs
@@ -4,6 +4,9 @@ using System.Linq;
using System.Text;
using Crestron.SimplSharp;
+using PepperDash.Core;
+using PepperDash.Essentials.Core.Config;
+
namespace PepperDash.Essentials.Core
{
///
diff --git a/essentials-framework/pepperdashcore-builds b/essentials-framework/pepperdashcore-builds
index 15206840..acebe6b4 160000
--- a/essentials-framework/pepperdashcore-builds
+++ b/essentials-framework/pepperdashcore-builds
@@ -1 +1 @@
-Subproject commit 15206840b3e6338f695e4ffba634a72e51ea1be5
+Subproject commit acebe6b43b28cc3a93f899e9714292a0cc1ab2cc