import "package:moxdns/moxdns.dart"; import "package:moxdns_platform_interface/moxdns_platform_interface.dart"; import "package:flutter/services.dart"; class MoxdnsAndroidPlugin extends MoxdnsPlatform { final MethodChannel _channel; MoxdnsAndroidPlugin() : _channel = MethodChannel("me.polynom.moxdns_android"), super(); static void registerWith() { print("MoxdnsAndroidPlugin: Registering implementation"); MoxdnsPlugin.platform = MoxdnsAndroidPlugin(); } @override Future> srvQuery(String domain, bool dnssec) async { try { final List results = await _channel.invokeMethod("srvQuery", [ domain, dnssec ]); final records = List.empty(growable: true); for (var record in results) { if (record == null) { continue; } final rr = Map.from(record); records.add(SrvRecord( rr["target"]!, int.parse(rr["port"]!), int.parse(rr["priority"]!), int.parse(rr["weight"]!) )); } return records; } on PlatformException catch(e) { print("moxdns_android: $e"); return const []; } } }