2022-08-08 17:53:42 +02:00
|
|
|
#ifndef FSFW_CFDP_PDU_METADATAPDUREADER_H_
|
|
|
|
#define FSFW_CFDP_PDU_METADATAPDUREADER_H_
|
|
|
|
|
|
|
|
#include "fsfw/cfdp/pdu/FileDirectiveReader.h"
|
2023-07-27 14:55:46 +02:00
|
|
|
#include "fsfw/cfdp/pdu/MetadataGenericInfo.h"
|
2022-08-08 17:53:42 +02:00
|
|
|
|
|
|
|
class MetadataPduReader : public FileDirectiveReader {
|
|
|
|
public:
|
2023-07-27 14:55:46 +02:00
|
|
|
MetadataPduReader(const uint8_t* pduBuf, size_t maxSize, MetadataGenericInfo& info,
|
2023-07-21 16:09:52 +02:00
|
|
|
cfdp::Tlv* optionsArray, size_t optArrayMaxSize);
|
2022-08-08 17:53:42 +02:00
|
|
|
|
|
|
|
ReturnValue_t parseData() override;
|
2023-07-27 14:55:46 +02:00
|
|
|
|
2023-08-30 11:18:49 +02:00
|
|
|
[[nodiscard]] const MetadataGenericInfo& getGenericInfo() const;
|
2023-08-03 15:30:38 +02:00
|
|
|
[[nodiscard]] const cfdp::StringLv& getSourceFileName() const;
|
|
|
|
[[nodiscard]] const cfdp::StringLv& getDestFileName() const;
|
2023-07-27 14:55:46 +02:00
|
|
|
|
2023-07-21 16:09:52 +02:00
|
|
|
[[nodiscard]] size_t getNumberOfParsedOptions() const;
|
2022-08-08 17:53:42 +02:00
|
|
|
|
|
|
|
private:
|
2023-07-27 14:55:46 +02:00
|
|
|
cfdp::StringLv srcFileName;
|
|
|
|
cfdp::StringLv destFileName;
|
|
|
|
MetadataGenericInfo& info;
|
2023-07-21 16:09:52 +02:00
|
|
|
cfdp::Tlv* optionArray;
|
|
|
|
size_t optionArrayMaxSize;
|
|
|
|
size_t parsedOptions = 0;
|
2022-08-08 17:53:42 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* FSFW_CFDP_PDU_METADATAPDUREADER_H_ */
|