fsfw/src/fsfw/cfdp/pdu/MetadataPduReader.h

30 lines
931 B
C
Raw Normal View History

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_ */