mattercontrol/MatterControlLib/PrinterCommunication/Drivers/TCPIP/TcpipSerialPortFactory.cs
2018-10-05 09:25:05 -07:00

27 lines
869 B
C#

using System.Net;
using MatterHackers.MatterControl;
using MatterHackers.MatterControl.SlicerConfiguration;
using MatterHackers.SerialPortCommunication.FrostedSerial;
namespace TcpipDriver
{
public class TcpipSerialPortFactory : FrostedSerialPortFactory
{
public override bool SerialPortAlreadyOpen(string portName) => false;
protected override string GetDriverType() => "TCPIP";
public override IFrostedSerialPort Create(string serialPortName)
{
return new TcpipSerialPort(ApplicationController.Instance.ActivePrinter, serialPortName);
}
public override bool SerialPortIsAvailable(string serialPortName)
{
var printer = ApplicationController.Instance.ActivePrinter;
return int.TryParse(printer.Settings.GetValue(SettingsKey.ip_port), out _)
&& IPAddress.TryParse(printer.Settings.GetValue(SettingsKey.ip_address), out _);
}
}
}