dco_decode_blue_event method

  1. @protected
BlueEvent dco_decode_blue_event(
  1. dynamic raw
)
override

Implementation

@protected
BlueEvent dco_decode_blue_event(dynamic raw) {
  // Codec=Dco (DartCObject based), see doc to use other codecs
  switch (raw[0]) {
    case 0:
      return BlueEvent_DeviceDiscovered(
        dco_decode_box_autoadd_device_peripheral_id(raw[1]),
      );
    case 1:
      return BlueEvent_DeviceUpdated(
        dco_decode_box_autoadd_device_peripheral_id(raw[1]),
      );
    case 2:
      return BlueEvent_DeviceConnected(
        dco_decode_box_autoadd_device_peripheral_id(raw[1]),
      );
    case 3:
      return BlueEvent_DeviceDisconnected(
        dco_decode_box_autoadd_device_peripheral_id(raw[1]),
      );
    case 4:
      return BlueEvent_ManufacturerDataAdvertisement(
        dco_decode_box_autoadd_device_peripheral_id(raw[1]),
        dco_decode_Map_u_16_list_prim_u_8_strict_None(raw[2]),
      );
    case 5:
      return BlueEvent_ServiceDataAdvertisement(
        dco_decode_box_autoadd_device_peripheral_id(raw[1]),
        dco_decode_Map_Uuid_list_prim_u_8_strict_None(raw[2]),
      );
    case 6:
      return BlueEvent_ServicesAdvertisement(
        dco_decode_box_autoadd_device_peripheral_id(raw[1]),
        dco_decode_list_Uuid(raw[2]),
      );
    case 7:
      return BlueEvent_StateUpdate(
        dco_decode_b_central_state(raw[1]),
      );
    case 8:
      return BlueEvent_ERROR(
        dco_decode_String(raw[1]),
      );
    default:
      throw Exception("unreachable");
  }
}