fsfw/src/fsfw/cfdp/pdu/MetadataGenericInfo.h

36 lines
1.0 KiB
C
Raw Normal View History

#ifndef FSFW_SRC_FSFW_CFDP_PDU_METADATAINFO_H_
#define FSFW_SRC_FSFW_CFDP_PDU_METADATAINFO_H_
2022-08-23 19:37:30 +02:00
#include <optional>
2023-07-19 13:44:52 +02:00
#include "fsfw/cfdp/Fss.h"
#include "fsfw/cfdp/definitions.h"
2022-02-02 10:29:30 +01:00
#include "fsfw/cfdp/tlv/Lv.h"
2022-08-23 19:37:30 +02:00
#include "fsfw/cfdp/tlv/StringLv.h"
2022-02-02 10:29:30 +01:00
#include "fsfw/cfdp/tlv/Tlv.h"
2023-07-27 14:55:46 +02:00
class MetadataGenericInfo {
2022-02-02 10:29:30 +01:00
public:
2023-08-03 13:57:55 +02:00
MetadataGenericInfo() = default;
2023-07-27 14:55:46 +02:00
explicit MetadataGenericInfo(cfdp::Fss fileSize);
MetadataGenericInfo(bool closureRequested, cfdp::ChecksumType checksumType, cfdp::Fss fileSize);
2022-02-02 10:29:30 +01:00
2023-07-27 14:55:46 +02:00
static size_t getSerializedSize(bool fssLarge = false);
2022-02-02 10:29:30 +01:00
2022-09-15 18:41:15 +02:00
[[nodiscard]] cfdp::ChecksumType getChecksumType() const;
void setChecksumType(cfdp::ChecksumType checksumType);
2022-08-08 17:53:42 +02:00
[[nodiscard]] bool isClosureRequested() const;
2022-02-02 10:29:30 +01:00
void setClosureRequested(bool closureRequested = false);
2023-08-30 11:18:49 +02:00
[[nodiscard]] const cfdp::Fss& getFileSize() const;
cfdp::Fss& getMutFileSize();
2022-02-02 10:29:30 +01:00
private:
bool closureRequested = false;
2022-09-15 18:41:15 +02:00
cfdp::ChecksumType checksumType = cfdp::ChecksumType::NULL_CHECKSUM;
2023-07-27 14:55:46 +02:00
cfdp::Fss fileSize;
};
#endif /* FSFW_SRC_FSFW_CFDP_PDU_METADATAINFO_H_ */