deserializePayload method
int
deserializePayload(
- DesiredPathBuilder builder,
- ByteData byteData,
- Endian endianness,
- int offset,
override
Call to deserialize only the payload, no header. The Builder is to allow passing the message to build into. returns a int with a serialized size
Implementation
@override
int deserializePayload(imc.DesiredPathBuilder builder, ByteData byteData,
Endian endianness, int offset) {
var byteOffset = offset;
// field pathRef
builder.pathRef = byteData.getUint32(byteOffset, endianness);
byteOffset += 4;
// field startLat
builder.startLat = byteData.getFloat64(byteOffset, endianness);
byteOffset += 8;
// field startLon
builder.startLon = byteData.getFloat64(byteOffset, endianness);
byteOffset += 8;
// field startZ
builder.startZ = byteData.getFloat32(byteOffset, endianness);
byteOffset += 4;
// field startZUnits
builder.startZUnits = imc.ZUnitsEnum(byteData.getUint8(byteOffset));
byteOffset += 1;
// field endLat
builder.endLat = byteData.getFloat64(byteOffset, endianness);
byteOffset += 8;
// field endLon
builder.endLon = byteData.getFloat64(byteOffset, endianness);
byteOffset += 8;
// field endZ
builder.endZ = byteData.getFloat32(byteOffset, endianness);
byteOffset += 4;
// field endZUnits
builder.endZUnits = imc.ZUnitsEnum(byteData.getUint8(byteOffset));
byteOffset += 1;
// field speed
builder.speed = byteData.getFloat32(byteOffset, endianness);
byteOffset += 4;
// field speedUnits
builder.speedUnits = imc.SpeedUnitsEnum(byteData.getUint8(byteOffset));
byteOffset += 1;
// field lradius
builder.lradius = byteData.getFloat32(byteOffset, endianness);
byteOffset += 4;
// field flags
builder.flags = imc.DesiredPathBitfieldFlags(byteData.getUint8(byteOffset));
byteOffset += 1;
return byteOffset - offset;
}