#ifndef FSFW_CFDP_PDU_METADATAPDUREADER_H_ #define FSFW_CFDP_PDU_METADATAPDUREADER_H_ #include "fsfw/cfdp/pdu/FileDirectiveReader.h" #include "fsfw/cfdp/pdu/MetadataGenericInfo.h" class MetadataPduReader : public FileDirectiveReader { public: MetadataPduReader(const uint8_t* pduBuf, size_t maxSize, MetadataGenericInfo& info, cfdp::Tlv* optionsArray, size_t optArrayMaxSize); ReturnValue_t parseData() override; [[nodiscard]] const MetadataGenericInfo& getGenericInfo() const; [[nodiscard]] const cfdp::StringLv& getSourceFileName() const; [[nodiscard]] const cfdp::StringLv& getDestFileName() const; [[nodiscard]] size_t getNumberOfParsedOptions() const; private: cfdp::StringLv srcFileName; cfdp::StringLv destFileName; MetadataGenericInfo& info; cfdp::Tlv* optionArray; size_t optionArrayMaxSize; size_t parsedOptions = 0; }; #endif /* FSFW_CFDP_PDU_METADATAPDUREADER_H_ */