fsfw/src/fsfw/cfdp/pdu/MetadataPduCreator.h

32 lines
1.0 KiB
C
Raw Normal View History

2022-08-08 17:53:42 +02:00
#ifndef FSFW_CFDP_PDU_METADATAPDUCREATOR_H_
#define FSFW_CFDP_PDU_METADATAPDUCREATOR_H_
#include "fsfw/cfdp/pdu/FileDirectiveCreator.h"
2023-07-27 14:55:46 +02:00
#include "fsfw/cfdp/pdu/MetadataGenericInfo.h"
2022-08-08 17:53:42 +02:00
class MetadataPduCreator : public FileDirectiveCreator {
public:
2023-07-27 14:55:46 +02:00
MetadataPduCreator(PduConfig& conf, MetadataGenericInfo& info, cfdp::StringLv& srcFileName,
cfdp::StringLv& destFileName, cfdp::Tlv** optionsArray, size_t optionsLen);
2022-08-08 17:53:42 +02:00
void updateDirectiveFieldLen();
[[nodiscard]] size_t getSerializedSize() const override;
2023-07-27 14:55:46 +02:00
const cfdp::StringLv& getSourceFileName() const;
const cfdp::StringLv& getDestFileName() const;
2022-08-08 17:53:42 +02:00
ReturnValue_t serialize(uint8_t** buffer, size_t* size, size_t maxSize,
Endianness streamEndianness) const override;
2022-09-05 14:20:01 +02:00
using FileDirectiveCreator::serialize;
2022-08-08 17:53:42 +02:00
private:
2023-07-27 14:55:46 +02:00
MetadataGenericInfo& info;
cfdp::StringLv& srcFileName;
cfdp::StringLv& destFileName;
2023-07-21 16:09:52 +02:00
cfdp::Tlv** optionsArray;
size_t optionsLen;
2022-08-08 17:53:42 +02:00
};
#endif /* FSFW_CFDP_PDU_METADATAPDUCREATOR_H_ */