32 lines
1.0 KiB
C++
32 lines
1.0 KiB
C++
#ifndef FSFW_CFDP_PDU_METADATAPDUCREATOR_H_
|
|
#define FSFW_CFDP_PDU_METADATAPDUCREATOR_H_
|
|
|
|
#include "fsfw/cfdp/pdu/FileDirectiveCreator.h"
|
|
#include "fsfw/cfdp/pdu/MetadataGenericInfo.h"
|
|
|
|
class MetadataPduCreator : public FileDirectiveCreator {
|
|
public:
|
|
MetadataPduCreator(PduConfig& conf, MetadataGenericInfo& info, cfdp::StringLv& srcFileName,
|
|
cfdp::StringLv& destFileName, cfdp::Tlv** optionsArray, size_t optionsLen);
|
|
|
|
void updateDirectiveFieldLen();
|
|
|
|
[[nodiscard]] size_t getSerializedSize() const override;
|
|
|
|
const cfdp::StringLv& getSourceFileName() const;
|
|
const cfdp::StringLv& getDestFileName() const;
|
|
|
|
ReturnValue_t serialize(uint8_t** buffer, size_t* size, size_t maxSize,
|
|
Endianness streamEndianness) const override;
|
|
using FileDirectiveCreator::serialize;
|
|
|
|
private:
|
|
MetadataGenericInfo& info;
|
|
cfdp::StringLv& srcFileName;
|
|
cfdp::StringLv& destFileName;
|
|
cfdp::Tlv** optionsArray;
|
|
size_t optionsLen;
|
|
};
|
|
|
|
#endif /* FSFW_CFDP_PDU_METADATAPDUCREATOR_H_ */
|