write method Null safety

  1. @override
Future<bool?> write(
  1. PrinterDevice device,
  2. Uint8List data
)
override

发送数据到打印机 device 打印机设备 data 数据

Implementation

@override
Future<bool?> write(PrinterDevice device, Uint8List data) async {
  if (device is BluetoothDevice) {
    return methodChannel.invokeMethod(
        PluginConstants.methodWriteToBluetoothPrinter,
        proto.BluetoothReadWriteData(device: device.toProto(), data: data)
            .writeToBuffer());
  }
  if (device is UsbDevice) {
    return methodChannel.invokeMethod(
        PluginConstants.methodWriteToUsbPrinter,
        proto.UsbReadWriteData(device: device.toProto(), data: data)
            .writeToBuffer());
  }
  if (device is UsbAccessoryDevice) {
    return methodChannel.invokeMethod(
        PluginConstants.methodWriteToUsbAccessoryPrinter,
        proto.UsbAccessoryReadWriteData(device: device.toProto(), data: data)
            .writeToBuffer());
  }
  if (device is TcpDevice) {
    return methodChannel.invokeMethod(
        PluginConstants.methodWriteToTcpPrinter,
        proto.TcpReadWriteData(device: device.toProto(), data: data)
            .writeToBuffer());
  }
  if (device is TtyDevice) {
    return methodChannel.invokeMethod(
        PluginConstants.methodWriteToTtyPrinter,
        proto.TtyReadWriteData(device: device.toProto(), data: data)
            .writeToBuffer());
  }
  throw UnimplementedError();
}