/// /// Copyright (c) 2017 Sensus Metering Systems /// using System.Collections.Generic; using System.Net; using System.Net.Sockets; using System.Xml.Serialization; using TBF.BenchControl.Generic; using TBF.Resources; namespace TBF.BenchControl.Network.Camera.CLP1611 { public enum TestImagesMode { None, SaveFirstImages, SaveLastImages, LoadImages, Count, Invalid, } public class CameraCfg : ComponentCfgBase, IChildComponentCfg { public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(CameraCfg) })[0]; public override XmlSerializer GetSerializer() { return Serializer; } public IComponentCfgCtrl GetControl(IList cmpntEntities) { return new CameraCfgCtrl(); } /// /// Serialized parameters /// public int HardwareAddress; public bool DisplayTerminal; [XmlIgnore] public TestImagesMode TestImagesMode; [XmlIgnore] public int TestImagesCount; /// Private parameterless constructor invoked by all other (public) constructors CameraCfg() { } public CameraCfg(string name, IComponentFactory factory) : this() { Name = name; Factory = factory; ParentName = "Network.Adapter"; HardwareAddress = 1; TestImagesMode = TestImagesMode.None; TestImagesCount = 3000; DebugLevel = Config.Entities.DebugMode.AutoDetect; } public string ToString(int i) { return string.Format("Name={0}, s/n={1}, Terminal={2}, TestImagesMode={3}, TestImagesCount={4}, Parent={5}", Name, HardwareAddress, DisplayTerminal ? Strings.yes : Strings.no, TestImagesMode, TestImagesCount, ParentName); } } }