fsfw/src/fsfw/cfdp/pdu/EofInfo.h

34 lines
1015 B
C
Raw Normal View History

#ifndef FSFW_SRC_FSFW_CFDP_PDU_EOFINFO_H_
#define FSFW_SRC_FSFW_CFDP_PDU_EOFINFO_H_
#include "../FileSize.h"
2022-02-02 10:29:30 +01:00
#include "../definitions.h"
#include "fsfw/cfdp/tlv/EntityIdTlv.h"
struct EofInfo {
2022-02-02 10:29:30 +01:00
public:
2022-09-02 14:39:53 +02:00
explicit EofInfo(EntityIdTlv* faultLoc = nullptr);
2022-02-02 10:29:30 +01:00
EofInfo(cfdp::ConditionCode conditionCode, uint32_t checksum, cfdp::FileSize fileSize,
EntityIdTlv* faultLoc = nullptr);
2022-02-02 10:29:30 +01:00
size_t getSerializedSize(bool fssLarge = false);
2022-09-02 14:39:53 +02:00
[[nodiscard]] uint32_t getChecksum() const;
[[nodiscard]] cfdp::ConditionCode getConditionCode() const;
2022-09-02 14:39:53 +02:00
[[nodiscard]] EntityIdTlv* getFaultLoc() const;
2022-02-02 10:29:30 +01:00
cfdp::FileSize& getFileSize();
void setChecksum(uint32_t checksum);
void setConditionCode(cfdp::ConditionCode conditionCode);
void setFaultLoc(EntityIdTlv* faultLoc);
ReturnValue_t setFileSize(size_t size, bool isLarge);
2022-02-02 10:29:30 +01:00
private:
cfdp::ConditionCode conditionCode;
uint32_t checksum;
cfdp::FileSize fileSize;
EntityIdTlv* faultLoc = nullptr;
};
#endif /* FSFW_SRC_FSFW_CFDP_PDU_EOFINFO_H_ */