fsfw/src/fsfw/cfdp/pdu/AckPduCreator.h

31 lines
821 B
C
Raw Normal View History

2022-09-08 12:07:16 +02:00
#ifndef FSFW_CFDP_PDU_ACKPDUSERIALIZER_H_
#define FSFW_CFDP_PDU_ACKPDUSERIALIZER_H_
#include "AckInfo.h"
2022-08-03 16:00:48 +02:00
#include "FileDirectiveCreator.h"
#include "FileDirectiveReader.h"
2022-09-08 12:07:16 +02:00
class AckPduCreator : public FileDirectiveCreator {
2022-02-02 10:29:30 +01:00
public:
/**
* @brief Serializer to pack ACK PDUs
* @details
* Please note that only Finished PDUs and EOF are acknowledged.
* @param ackedDirective
* @param ackedConditionCode
* @param transactionStatus
* @param pduConf
*/
2022-09-08 12:07:16 +02:00
AckPduCreator(AckInfo& ackInfo, PduConfig& pduConf);
2022-09-08 12:07:16 +02:00
[[nodiscard]] size_t getSerializedSize() const override;
2022-02-02 10:29:30 +01:00
ReturnValue_t serialize(uint8_t** buffer, size_t* size, size_t maxSize,
Endianness streamEndianness) const override;
2022-02-02 10:29:30 +01:00
private:
AckInfo& ackInfo;
};
2022-09-08 12:07:16 +02:00
#endif /* FSFW_CFDP_PDU_ACKPDUSERIALIZER_H_ */