#ifndef FSFW_SRC_FSFW_CFDP_PDU_METADATAINFO_H_ #define FSFW_SRC_FSFW_CFDP_PDU_METADATAINFO_H_ #include #include "fsfw/cfdp/Fss.h" #include "fsfw/cfdp/definitions.h" #include "fsfw/cfdp/tlv/Lv.h" #include "fsfw/cfdp/tlv/StringLv.h" #include "fsfw/cfdp/tlv/Tlv.h" class MetadataGenericInfo { public: MetadataGenericInfo() = default; explicit MetadataGenericInfo(cfdp::Fss fileSize); MetadataGenericInfo(bool closureRequested, cfdp::ChecksumType checksumType, cfdp::Fss fileSize); static size_t getSerializedSize(bool fssLarge = false); [[nodiscard]] cfdp::ChecksumType getChecksumType() const; void setChecksumType(cfdp::ChecksumType checksumType); [[nodiscard]] bool isClosureRequested() const; void setClosureRequested(bool closureRequested = false); [[nodiscard]] const cfdp::Fss& getFileSize() const; cfdp::Fss& getMutFileSize(); private: bool closureRequested = false; cfdp::ChecksumType checksumType = cfdp::ChecksumType::NULL_CHECKSUM; cfdp::Fss fileSize; }; #endif /* FSFW_SRC_FSFW_CFDP_PDU_METADATAINFO_H_ */