#pragma once #include #include #include "fsfw/cfdp/VarLenFields.h" #include "fsfw/cfdp/tlv/FilestoreRequestTlv.h" #include "fsfw/cfdp/tlv/MessageToUserTlv.h" namespace cfdp { class PutRequest: public SerializeIF { public: EntityId destId; std::optional transmissionMode; char destName[524]{}; std::optional destNameSize; char sourceName[524]{}; std::optional sourceNameSize; std::optional closureRequested; std::vector messagesToUser; std::vector fsRequest; [[nodiscard]] ReturnValue_t serialize(uint8_t **buffer, size_t *size, size_t maxSize, Endianness streamEndianness) const override; ReturnValue_t deSerialize(const uint8_t **buffer, size_t *size, Endianness streamEndianness) override; [[nodiscard]] size_t getSerializedSize() const override; [[nodiscard]] bool isMetadataOnly() const; }; } // namespace cfdp