onDiscovery static method

Future<List<EpsonPrinterModel>?> onDiscovery({
  1. EpsonEPOSPortType type = EpsonEPOSPortType.ALL,
})

Implementation

static Future<List<EpsonPrinterModel>?> onDiscovery(
    {EpsonEPOSPortType type = EpsonEPOSPortType.ALL}) async {
  if (!_isPrinterPlatformSupport(throwError: true)) return null;
  String printType = _eposHelper.getPortType(type);
  final Map<String, dynamic> params = {"type": printType};
  String? rep = await _channel.invokeMethod('onDiscovery', params);
  if (rep != null) {
    try {
      final response = EpsonPrinterResponse.fromRawJson(rep);
      print(rep);

      List<dynamic> prs = response.content;
      if (prs.length > 0) {
        return prs.map((e) {
          final modelName = e['model'];
          final modelSeries = _eposHelper.getSeries(modelName);
          return EpsonPrinterModel(
            ipAddress: e['ipAddress'],
            bdAddress: e['bdAddress'],
            macAddress: e['macAddress'],
            type: printType,
            model: modelName,
            series: modelSeries?.id,
            target: e['target'],
          );
        }).toList();
      }
    } catch (e) {
      throw e;
    }
  }
  return [];
}