using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Tango.BL; using Tango.BL.Entities; using Tango.Integration.Operation; using Tango.Settings; using Tango.Transport.Adapters; namespace Tango.Integration.ExternalBridge { public class ExternalBridgeTcpFirmwareClient : MachineOperator, IExternalBridgeClient { public bool RequiresAuthentication { get; } = false; private String _serialNumber; /// /// Gets the machine serial number. /// public String SerialNumber { get { return _serialNumber; } set { _serialNumber = value; RaisePropertyChangedAuto(); } } private String _ipAddress; /// /// Gets or sets the machine IP address. /// public String IPAddress { get { return _ipAddress; } private set { _ipAddress = value; RaisePropertyChangedAuto(); } } private int _port; /// /// Gets or sets the machine port. /// public int Port { get { return _port; } private set { _port = value; RaisePropertyChangedAuto(); } } public Machine Machine { get; private set; } public ExternalBridgeTcpFirmwareClient() { ComponentName = $"External Bridge TCP Firmware Client {_component_counter++}"; var settings = SettingsManager.Default.GetOrCreate(); IPAddress = settings.FirmwareIPAddress; Port = settings.FirmwarePort; UseKeepAlive = false; EnableDiagnostics = true; Adapter = new TcpTransportAdapter(IPAddress, Port); } public ExternalBridgeTcpFirmwareClient(Machine machine) : this() { SetMachine(machine); } public void SetMachine(Machine machine) { Machine = machine; SerialNumber = Machine.SerialNumber; } } }