Move DecodedServiceEnvelope into its own file (#5715)

This commit is contained in:
Eric Severance
2025-01-01 16:40:14 -08:00
committed by GitHub
parent 9abd07bb05
commit c2c06ed0ad
3 changed files with 37 additions and 18 deletions

View File

@@ -0,0 +1,23 @@
#include "ServiceEnvelope.h"
#include "mesh-pb-constants.h"
#include <pb_decode.h>
DecodedServiceEnvelope::DecodedServiceEnvelope(const uint8_t *payload, size_t length)
: meshtastic_ServiceEnvelope(meshtastic_ServiceEnvelope_init_default),
validDecode(pb_decode_from_bytes(payload, length, &meshtastic_ServiceEnvelope_msg, this))
{
}
DecodedServiceEnvelope::DecodedServiceEnvelope(DecodedServiceEnvelope &&other)
: meshtastic_ServiceEnvelope(meshtastic_ServiceEnvelope_init_zero), validDecode(other.validDecode)
{
std::swap(packet, other.packet);
std::swap(channel_id, other.channel_id);
std::swap(gateway_id, other.gateway_id);
}
DecodedServiceEnvelope::~DecodedServiceEnvelope()
{
if (validDecode)
pb_release(&meshtastic_ServiceEnvelope_msg, this);
}