2021-12-03 15:37:49 +01:00
|
|
|
#include "MessageToUserTlv.h"
|
|
|
|
|
2022-08-10 09:39:57 +02:00
|
|
|
MessageToUserTlv::MessageToUserTlv(uint8_t* value, size_t size)
|
2022-09-15 18:41:15 +02:00
|
|
|
: Tlv(cfdp::TlvType::MSG_TO_USER, value, size) {}
|
2021-12-03 15:37:49 +01:00
|
|
|
|
2022-02-02 10:29:30 +01:00
|
|
|
MessageToUserTlv::MessageToUserTlv() : Tlv() {}
|
2022-08-10 09:39:57 +02:00
|
|
|
|
|
|
|
MessageToUserTlv::MessageToUserTlv(const std::vector<uint8_t>& data)
|
2022-09-15 18:41:15 +02:00
|
|
|
: Tlv(cfdp::TlvType::MSG_TO_USER, data.data(), data.size()) {}
|
2023-07-24 10:06:45 +02:00
|
|
|
|
|
|
|
MessageToUserTlv::MessageToUserTlv(const uint8_t* value, size_t size)
|
|
|
|
: Tlv(cfdp::TlvType::MSG_TO_USER, value, size) {}
|
2023-07-24 11:57:33 +02:00
|
|
|
|
2023-07-25 16:16:35 +02:00
|
|
|
bool MessageToUserTlv::isReservedCfdpMessage(uint8_t& messageType, const uint8_t** msgDataStart,
|
|
|
|
size_t& msgLen) const {
|
2023-07-24 11:57:33 +02:00
|
|
|
if (cfdp::Tlv::getLengthField() < 5) {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
if (std::strcmp(reinterpret_cast<const char*>(getValue()), "cfdp") == 0) {
|
|
|
|
messageType = getValue()[4];
|
2023-07-25 16:16:35 +02:00
|
|
|
if (msgDataStart != nullptr) {
|
|
|
|
*msgDataStart = getValue() + 5;
|
|
|
|
}
|
|
|
|
msgLen = cfdp::Tlv::getSerializedSize() - 5;
|
2023-07-24 11:57:33 +02:00
|
|
|
return true;
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
}
|