fsfw/src/fsfw/cfdp/tlv/EntityIdTlv.h

39 lines
1005 B
C
Raw Normal View History

#ifndef FSFW_SRC_FSFW_CFDP_ENTITYIDTLV_H_
#define FSFW_SRC_FSFW_CFDP_ENTITYIDTLV_H_
#include "TlvIF.h"
2022-02-02 10:29:30 +01:00
#include "fsfw/cfdp/pdu/PduConfig.h"
#include "fsfw/cfdp/tlv/Tlv.h"
2022-02-02 10:29:30 +01:00
class EntityIdTlv : public TlvIF {
public:
EntityIdTlv(cfdp::EntityId& entityId);
virtual ~EntityIdTlv();
2022-02-02 10:29:30 +01:00
ReturnValue_t serialize(uint8_t** buffer, size_t* size, size_t maxSize,
Endianness streamEndianness) const override;
2022-02-02 10:29:30 +01:00
size_t getSerializedSize() const override;
2022-02-02 10:29:30 +01:00
/**
* Deserialize an entity ID from a raw TLV object
* @param tlv
* @param endianness
* @return
*/
ReturnValue_t deSerialize(cfdp::Tlv& tlv, Endianness endianness);
2022-02-02 10:29:30 +01:00
ReturnValue_t deSerialize(const uint8_t** buffer, size_t* size,
Endianness streamEndianness) override;
2022-02-02 10:29:30 +01:00
uint8_t getLengthField() const override;
2022-09-15 18:41:15 +02:00
cfdp::TlvType getType() const override;
2022-02-02 10:29:30 +01:00
cfdp::EntityId& getEntityId();
2022-02-02 10:29:30 +01:00
private:
cfdp::EntityId& entityId;
};
#endif /* FSFW_SRC_FSFW_CFDP_ENTITYIDTLV_H_ */