using System; using Xylem.Common.Hardware.Interfaces.Ports.PortCore.EventArguments; using Xylem.Common.Hardware.Interfaces.Protocols.ProtocolCore.EventArguments; using Xylem.Common.Hardware.Interfaces.Protocols.TransmitProtocol; namespace Xylem.Common.Hardware.Interfaces.Protocols.ProtocolCore { /// /// /// Protocol interface /// public interface IProtocol : IDisposable { /// /// Fill the buffer with data ready for decoding /// /// void FillDecodingBuffer(IPortDataEventArgs rawData ); /// /// Record is ready to send including all protocols /// event EventHandler OnRecordReadyToSend; /// /// Record is successfully decoded and ready for further processing /// event EventHandler OnRecordIsDecoded; /// /// Return of transmit protocol settings /// /// ITransmitProtocol GetTransmitProtocol(); /// /// Assignment of transmit protocol /// /// void SetTransmitProtocol(ITransmitProtocol transmitProtocol); } }