42 lines
1.4 KiB
C#
42 lines
1.4 KiB
C#
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
|
|
{
|
|
/// <inheritdoc />
|
|
/// <summary>
|
|
/// Protocol interface
|
|
/// </summary>
|
|
public interface IProtocol : IDisposable
|
|
{
|
|
/// <summary>
|
|
/// Fill the buffer with data ready for decoding
|
|
/// </summary>
|
|
/// <param name="rawData"></param>
|
|
void FillDecodingBuffer(IPortDataEventArgs rawData );
|
|
|
|
/// <summary>
|
|
/// Record is ready to send including all protocols
|
|
/// </summary>
|
|
event EventHandler<BasePortDataEventArgs> OnRecordReadyToSend;
|
|
|
|
/// <summary>
|
|
/// Record is successfully decoded and ready for further processing
|
|
/// </summary>
|
|
event EventHandler<BaseDataEventArgs> OnRecordIsDecoded;
|
|
|
|
/// <summary>
|
|
/// Return of transmit protocol settings
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
ITransmitProtocol GetTransmitProtocol();
|
|
|
|
/// <summary>
|
|
/// Assignment of transmit protocol
|
|
/// </summary>
|
|
/// <param name="transmitProtocol"></param>
|
|
void SetTransmitProtocol(ITransmitProtocol transmitProtocol);
|
|
}
|
|
} |