Adds some comments, initializes JoinMaps in EiscApi and moves GenericComm factory to new methodology

This commit is contained in:
Neil Dorin
2020-04-03 19:43:06 -06:00
parent 9d7f5af26e
commit 43e57ab6d1
3 changed files with 15 additions and 9 deletions

View File

@@ -101,6 +101,8 @@ namespace PepperDash.Essentials.Bridges
public EiscApi(DeviceConfig dc) : public EiscApi(DeviceConfig dc) :
base(dc.Key) base(dc.Key)
{ {
JoinMaps = new Dictionary<string, JoinMapBaseAdvanced>();
PropertiesConfig = JsonConvert.DeserializeObject<EiscApiPropertiesConfig>(dc.Properties.ToString()); PropertiesConfig = JsonConvert.DeserializeObject<EiscApiPropertiesConfig>(dc.Properties.ToString());
Eisc = new ThreeSeriesTcpIpEthernetIntersystemCommunications(PropertiesConfig.Control.IpIdInt, PropertiesConfig.Control.TcpSshProperties.Address, Global.ControlSystem); Eisc = new ThreeSeriesTcpIpEthernetIntersystemCommunications(PropertiesConfig.Control.IpIdInt, PropertiesConfig.Control.TcpSshProperties.Address, Global.ControlSystem);
@@ -119,6 +121,9 @@ namespace PepperDash.Essentials.Bridges
if (device != null) if (device != null)
{ {
Debug.Console(1, this, "Linking Device: '{0}'", d.DeviceKey);
if (device is IBridge) // Check for this first to allow bridges in plugins to override existing bridges that apply to the same type. if (device is IBridge) // Check for this first to allow bridges in plugins to override existing bridges that apply to the same type.
{ {
(device as IBridge).LinkToApi(Eisc, d.JoinStart, d.JoinMapKey); (device as IBridge).LinkToApi(Eisc, d.JoinStart, d.JoinMapKey);
@@ -126,6 +131,7 @@ namespace PepperDash.Essentials.Bridges
} }
else if (device is IBridgeAdvanced) else if (device is IBridgeAdvanced)
{ {
Debug.Console(2, this, "'{0}' is IBridgeAdvanced");
(device as IBridgeAdvanced).LinkToApi(Eisc, d.JoinStart, d.JoinMapKey, this); (device as IBridgeAdvanced).LinkToApi(Eisc, d.JoinStart, d.JoinMapKey, this);
} }
else if (device is PepperDash.Essentials.Core.Monitoring.SystemMonitorController) else if (device is PepperDash.Essentials.Core.Monitoring.SystemMonitorController)

View File

@@ -290,12 +290,13 @@ namespace PepperDash.Essentials
/// </summary> /// </summary>
public void LoadDevices() public void LoadDevices()
{ {
// Instantiate the Device Factories
new CoreDeviceFactory();
// Build the processor wrapper class // Build the processor wrapper class
DeviceManager.AddDevice(new PepperDash.Essentials.Core.Devices.CrestronProcessor("processor")); DeviceManager.AddDevice(new PepperDash.Essentials.Core.Devices.CrestronProcessor("processor"));
// Add global System Monitor device // Add global System Monitor device
DeviceManager.AddDevice(new PepperDash.Essentials.Core.Monitoring.SystemMonitorController("systemMonitor")); DeviceManager.AddDevice(new PepperDash.Essentials.Core.Monitoring.SystemMonitorController("systemMonitor"));

View File

@@ -48,7 +48,6 @@ namespace PepperDash.Essentials.Core
var typeName = dc.Type.ToLower(); var typeName = dc.Type.ToLower();
// Check for types that have been added by plugin dlls. // Check for types that have been added by plugin dlls.
if (FactoryMethods.ContainsKey(typeName)) if (FactoryMethods.ContainsKey(typeName))
{ {
@@ -57,11 +56,11 @@ namespace PepperDash.Essentials.Core
} }
// Check "core" types // Check "core" types
if (typeName == "genericcomm") //if (typeName == "genericcomm")
{ //{
Debug.Console(1, "Factory Attempting to create new Generic Comm Device"); // Debug.Console(1, "Factory Attempting to create new Generic Comm Device");
return new GenericComm(dc); // return new GenericComm(dc);
} //}
if (typeName == "ceniodigin104") if (typeName == "ceniodigin104")
{ {
var control = CommFactory.GetControlPropertiesConfig(dc); var control = CommFactory.GetControlPropertiesConfig(dc);