using System; using System.Collections.Generic; using Xylem.Common.Hardware.Interfaces.Ports.PortCore; namespace Xylem.Common.Hardware.Interfaces.Protocols.TransmitProtocol { public interface ITransmitProtocol { /// /// Struct of settings being needed for transmit port /// /// TransmitPortSettings GetTransmitPortSettings(); /// /// Overwrite the default response timeout /// void SetResponseTimeout(Int32 responseTimeoutMs); /// /// Set timeout to the default response time /// void SetDefaultResponseTimeout(); // ReSharper disable once InconsistentNaming UI1236 is a naming forced by the caller List DecodeDataForPhysicalLayerUI1236(String ident, Byte[] payload, Boolean hideDataInLog = false); /// /// Send out data (including transport protocol specific data like CRC) to physical port (like UART or IrDA) /// List DecodeDataForPhysicalLayer(String ident, Byte command , Byte[] payload, Boolean hideDataInLog = false); /// /// Received data have to be checked and converted to request protocol /// List DecodeDataForLogicLayer(String ident, List rawData, Boolean hideDateInLog = false); } }