payload property

Uint8List? payload
override

Implementation

Uint8List? get payload {
  if (!(vendorName != null && modelName != null)) {
    throw ArgumentError(
        "Decoding requires the manufacturer and model name TLVs");
  }
  List<int>? payload = [];

  // known data
  _addEncodedData(vendorName, 0, payload);
  _addEncodedData(modelName, 1, payload);
  _addEncodedData(uniqueName, 2, payload);
  payload.add(3);
  payload.add(uuidData.length);
  payload.addAll(uuidData);
  _addEncodedData(versionString, 4, payload);

  // undefined data
  for (int i = 0; i < undefinedData.length; i++) {
    payload.add(undefinedData[i].type);
    Uint8List valueBytes = undefinedData[i].value;
    payload.add(valueBytes.length);
    payload.addAll(valueBytes);
  }
  return new Uint8List.fromList(payload);
}
void payload=(Uint8List? payload)
override

Implementation

set payload(Uint8List? payload) {
  ByteStream stream = new ByteStream(payload!);
  while (!stream.isEnd()) {
    int type = stream.readByte();
    int length = stream.readByte();
    Uint8List value = stream.readBytes(length);
    switch (type) {
      case 0:
        vendorName = utf8.decode(value);
        break;
      case 1:
        modelName = utf8.decode(value);
        break;
      case 2:
        uniqueName = utf8.decode(value);
        break;
      case 3:
        uuidData = value;
        break;
      case 4:
        versionString = utf8.decode(value);
        break;
      default:
        undefinedData.add(DataElement(type, value));
        break;
    }
  }
  if (!(vendorName != null && modelName != null)) {
    throw ArgumentError(
        "Decoding requires the manufacturer and model name TLVs");
  }
}