#include "MessageToUserTlv.h" MessageToUserTlv::MessageToUserTlv(uint8_t* value, size_t size) : Tlv(cfdp::TlvType::MSG_TO_USER, value, size) {} MessageToUserTlv::MessageToUserTlv() : Tlv() {} MessageToUserTlv::MessageToUserTlv(const std::vector& data) : Tlv(cfdp::TlvType::MSG_TO_USER, data.data(), data.size()) {} MessageToUserTlv::MessageToUserTlv(const uint8_t* value, size_t size) : Tlv(cfdp::TlvType::MSG_TO_USER, value, size) {} bool MessageToUserTlv::isReservedCfdpMessage(uint8_t& messageType, const uint8_t** msgDataStart, size_t& msgLen) const { if (cfdp::Tlv::getLengthField() < 5) { return false; } if (std::strncmp(reinterpret_cast(getValue()), "cfdp", 4) == 0) { messageType = getValue()[4]; if (msgDataStart != nullptr) { *msgDataStart = getValue() + 5; } msgLen = cfdp::Tlv::getSerializedSize() - 5; return true; } return false; }