2021-12-03 15:37:49 +01:00
|
|
|
#ifndef FSFW_SRC_FSFW_CFDP_FILESTOREREQUESTTLV_H_
|
|
|
|
#define FSFW_SRC_FSFW_CFDP_FILESTOREREQUESTTLV_H_
|
|
|
|
|
2022-02-02 10:29:30 +01:00
|
|
|
#include "../definitions.h"
|
|
|
|
#include "Lv.h"
|
|
|
|
#include "TlvIF.h"
|
2021-12-03 15:37:49 +01:00
|
|
|
#include "fsfw/cfdp/tlv/FilestoreTlvBase.h"
|
|
|
|
#include "fsfw/cfdp/tlv/Tlv.h"
|
|
|
|
|
2022-02-02 10:29:30 +01:00
|
|
|
class FilestoreRequestTlv : public cfdp::FilestoreTlvBase {
|
|
|
|
public:
|
2022-08-10 10:34:02 +02:00
|
|
|
FilestoreRequestTlv(cfdp::FilestoreActionCode actionCode, cfdp::StringLv &firstFileName);
|
2021-12-03 15:37:49 +01:00
|
|
|
|
2022-08-10 10:34:02 +02:00
|
|
|
explicit FilestoreRequestTlv(cfdp::StringLv &firstFileName);
|
2021-12-03 15:37:49 +01:00
|
|
|
|
2022-02-02 10:29:30 +01:00
|
|
|
void setSecondFileName(cfdp::Lv *secondFileName);
|
2021-12-03 15:37:49 +01:00
|
|
|
|
2022-02-02 10:29:30 +01:00
|
|
|
ReturnValue_t serialize(uint8_t **buffer, size_t *size, size_t maxSize,
|
|
|
|
Endianness streamEndianness) const override;
|
2021-12-03 15:37:49 +01:00
|
|
|
|
2022-02-02 10:29:30 +01:00
|
|
|
/**
|
|
|
|
* Deserialize a FS request from a raw TLV object
|
|
|
|
* @param tlv
|
|
|
|
* @param endianness
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
ReturnValue_t deSerialize(cfdp::Tlv &tlv, Endianness endianness);
|
2021-12-03 15:37:49 +01:00
|
|
|
|
2022-02-02 10:29:30 +01:00
|
|
|
ReturnValue_t deSerialize(const uint8_t **buffer, size_t *size,
|
|
|
|
Endianness streamEndianness) override;
|
2021-12-03 15:37:49 +01:00
|
|
|
|
2022-08-10 10:34:02 +02:00
|
|
|
[[nodiscard]] uint8_t getLengthField() const override;
|
2022-09-15 18:41:15 +02:00
|
|
|
[[nodiscard]] cfdp::TlvType getType() const override;
|
2021-12-03 15:37:49 +01:00
|
|
|
|
2022-02-02 10:29:30 +01:00
|
|
|
private:
|
|
|
|
cfdp::Lv *secondFileName = nullptr;
|
2021-12-03 15:37:49 +01:00
|
|
|
|
2022-02-02 10:29:30 +01:00
|
|
|
ReturnValue_t deSerializeFromValue(const uint8_t **buffer, size_t *size,
|
|
|
|
Endianness streamEndianness);
|
2021-12-03 15:37:49 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* FSFW_SRC_FSFW_CFDP_FILESTOREREQUESTTLV_H_ */
|