public void DeserializeElements(string settingsFileName) { Debug.WriteLine($"Deserializing LocalDevices from {settingsFileName}"); Logger.Debug($"Deserializing LocalDevices from {settingsFileName}"); try { if (!string.IsNullOrEmpty(settingsFileName) && File.Exists(settingsFileName)) { XmlDocument settings = new XmlDocument(); settings.Load(settingsFileName); var devicesXml = settings.DocumentElement.SelectSingleNode("Devices"); XmlSerializer deviceSerializer = new XmlSerializer(typeof(AdvantechDevice)); foreach (XmlNode deviceXml in devicesXml.SelectNodes("AdvantechDevice")) { Devices.Add((AdvantechDevice)deviceSerializer.Deserialize(new StringReader(deviceXml.OuterXml))); } var engineBindingsXml = settings.DocumentElement.SelectSingleNode("EngineBindings"); XmlSerializer bindingSerializer = new XmlSerializer(typeof(LocalGpiDeviceBinding), new XmlRootAttribute("EngineBinding")); foreach (XmlNode bindingXml in engineBindingsXml.SelectNodes("EngineBinding")) { EngineBindings.Add((LocalGpiDeviceBinding)bindingSerializer.Deserialize(new StringReader(bindingXml.OuterXml))); } } } catch (Exception e) { Debug.WriteLine(e); Logger.Error(e, $"Exception while DeserializeElements:\n {e}"); } }
public object CreateEnginePlugin(IEngine engine, Type type) { if (type.IsAssignableFrom(typeof(LocalGpiDeviceBinding))) { return(EngineBindings.FirstOrDefault(b => b.IdEngine == (engine as IPersistent).Id)); } return(null); }
public object CreateEnginePlugin(IEngine engine) { var plugin = EngineBindings.FirstOrDefault(b => b.EngineName == engine.EngineName); if (plugin != null) { plugin.Engine = engine; } return(plugin); }
public object CreateEnginePlugin(IEngine engine) { return(EngineBindings.FirstOrDefault(b => b.IdEngine == (engine as IPersistent)?.Id)); }