getPrinters method

  1. @override
Future<List<Map<String, String>>> getPrinters()
override

getPrinters() returns a List of Maps representing the printer name and how it was discovered via the discovery scan. Items from this list will only be removed on subsequent launches of the app.

Implementation

@override
Future<List<Map<String, String>>> getPrinters() async {
  final List<dynamic>? printerNames =
      await methodChannel.invokeMethod<List<dynamic>?>('getPrinters');
  final List<String> printerNamesList = printerNames?.cast<String>() ?? [];

  final List<dynamic>? printerProtocols = await methodChannel
      .invokeMethod<List<dynamic>?>('getPrinterProtocols');
  final List<String> printerProtocolsList =
      printerProtocols?.cast<String>() ?? [];

  List<Map<String, String>> printerList = [];
  for (var i = 0; i < printerNamesList.length; i++) {
    printerList.add({printerNamesList[i]: printerProtocolsList[i]});
  }
  return printerList;
}