fsfw/src/fsfw/cfdp/handler/PutRequest.h

33 lines
1.0 KiB
C
Raw Normal View History

2023-07-21 16:09:52 +02:00
#pragma once
#include <optional>
#include <vector>
#include "fsfw/cfdp/VarLenFields.h"
#include "fsfw/cfdp/tlv/FilestoreRequestTlv.h"
#include "fsfw/cfdp/tlv/MessageToUserTlv.h"
namespace cfdp {
2023-07-24 10:11:16 +02:00
class PutRequest: public SerializeIF {
2023-07-21 16:09:52 +02:00
public:
EntityId destId;
std::optional<TransmissionMode> transmissionMode;
char destName[524]{};
std::optional<size_t> destNameSize;
char sourceName[524]{};
std::optional<size_t> sourceNameSize;
std::optional<bool> closureRequested;
std::vector<MessageToUserTlv> messagesToUser;
std::vector<FilestoreRequestTlv> fsRequest;
2023-07-24 10:11:16 +02:00
[[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;
2023-07-21 16:35:05 +02:00
[[nodiscard]] bool isMetadataOnly() const;
2023-07-21 16:09:52 +02:00
};
} // namespace cfdp