/// /// Copyright (c) 2017 Sensus Metering Systems /// using System; using System.Xml.Serialization; using Config.Entities; using TBF.BenchControl.Generic; namespace TBF.BenchControl.Modbus.Easytherm { public class EasythermCfg : ComponentCfgBase, Generic.IChildComponentCfg { public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(EasythermCfg) })[0]; protected override XmlSerializer GetSerializer() { return Serializer; } public IComponentCfgCtrl GetControl() { return new EasythermCfgCtrl(); } /// /// Serialized parameters /// public byte ModbusAddress; /// 1..255 public int ReservoirNr; /// Procedure parameters [XmlIgnore] public ProcParams ProcParams; public override IParamsProvider GetRuntimeProcParamsProvider() { return ProcParams; } public override IParamsProvider CreateProcParamsProvider() { return new ProcParams(true); } /// Private parameterless constructor invoked by all other (public) constructors EasythermCfg() { Name = "Easytherm"; ParentName = "Modbus"; ModbusAddress = 49; ProcParams = CreateProcParamsProvider() as ProcParams; } public EasythermCfg(IComponentFactory factory) : this() { this.Factory = factory; } public string ToString(int i) { return string.Format("Name={0}, ModbusAddr={1}, Parent={2}", Name, ModbusAddress, (string.IsNullOrEmpty(ParentName) ? "-" : ParentName)); } } }