using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using TeamAAS_VP.Enums; using TeamAAS_VP.Models; using TouchSocket.Sockets; namespace TeamAAS_VP.Interfaces { public interface IScanner : IDisposable { #region 基础信息 /// /// 客户端 /// TcpClient TcpClient { get; } /// /// 服务器 /// TcpService TcpService { get; } /// /// 扫码枪ID /// Guid Id { get; set; } string Name { get; set; } /// /// 扫码枪编号 /// int ScannerNo { get; set; } /// /// 扫码枪端口 /// int ScannerPort { get; } /// /// 扫码枪IP地址 /// string ScannerIp { get; } /// /// 扫码枪通讯方式 /// TCPConnectType ConnectType { get; } /// /// 结束符 /// Terminator Terminator { get; } /// /// 通讯数据编码 /// DataEncoding DataEncoding { get; } //RobotBrand Brand { get; } event Action ConnectedEvent; event Action DisconnectedEvent; event Action ReceivedEvent; event Action SendEvent; bool CanExecute { get; } int SelectedTool { get; } /// /// 进入调试模式 /// /// bool EnterDebugMode { get; set; } //当前位置 RPoint CurrentPosition { get; } #endregion #region 连接通讯 /// /// 扫码枪连接状态 /// bool IsConnected { get; } /// /// 超时时间 /// int Timeout { get; set; } /// /// 连接扫码枪 /// void Connect(); /// /// 连接扫码枪 /// /// Task ConnectAsync(); /// /// 断开连接 /// void Disconnect(); #endregion #region 数据发送接收 /// /// 发送并接收数据 /// /// /// string SendAndReceive(string send); /// /// 发送并接收数据 /// /// /// Task SendAndReceiveAsync(string send); /// /// 发送并接收数据 /// /// /// string SendAndReceive(ITcpSessionClient client, string send); /// /// 发送并接收数据 /// /// /// Task SendAndReceiveAsync(ITcpSessionClient client, string send); /// /// 发送数据 /// /// void Send(string send); /// /// 发送数据 /// /// /// Task SendAsync(string send); /// /// 发送数据 /// /// void Send(ITcpSessionClient client, string send); /// /// 发送数据 /// /// /// Task SendAsync(ITcpSessionClient client, string send); Encoding GetEncoding(); #endregion } }