HandleResponse.cs 727 B

1234567891011121314151617181920212223242526
  1. using Core.Communication.Transport;
  2. using PLC.Siemens.Protocol.Header;
  3. using PLC.Siemens.O;
  4. namespace PLC.Siemens.Protocol.DateTime
  5. {
  6. public class HandleResponse<TResponseHeader>:IBuildResponse where TResponseHeader : HeaderPacket, new()
  7. {
  8. public TResponseHeader Header { get; set; }
  9. public ParamsResponse Params { get; set; }
  10. public byte[] Data { get; set; }
  11. public HandleResponse()
  12. {
  13. Header = new TResponseHeader();
  14. Params = new ParamsResponse();
  15. }
  16. public void Build(ByteBuffer buffer)
  17. {
  18. Header.Build(buffer);
  19. Params.Build(buffer);
  20. Data = buffer.PopBytes(Header.DataLen);
  21. }
  22. }
  23. }