36 lines
1.0 KiB
C++
36 lines
1.0 KiB
C++
#ifndef FSFW_SRC_FSFW_CFDP_PDU_METADATAINFO_H_
|
|
#define FSFW_SRC_FSFW_CFDP_PDU_METADATAINFO_H_
|
|
|
|
#include <optional>
|
|
|
|
#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_ */
|