diff --git a/packages/bonsoir_linux/lib/src/actions/action.dart b/packages/bonsoir_linux/lib/src/actions/action.dart index fb56ecf8..1219df6f 100644 --- a/packages/bonsoir_linux/lib/src/actions/action.dart +++ b/packages/bonsoir_linux/lib/src/actions/action.dart @@ -50,7 +50,7 @@ abstract class AvahiBonsoirAction extends BonsoirAction< } /// Triggered when an error occurs. - void onError(AvahiBonsoirError error) { + void onError(BonsoirLinuxError error) { log(error.message); _controller.addError(error); } diff --git a/packages/bonsoir_linux/lib/src/actions/broadcast.dart b/packages/bonsoir_linux/lib/src/actions/broadcast.dart index 19910343..cc467620 100644 --- a/packages/bonsoir_linux/lib/src/actions/broadcast.dart +++ b/packages/bonsoir_linux/lib/src/actions/broadcast.dart @@ -69,7 +69,7 @@ class AvahiBonsoirBroadcast extends AvahiBonsoirAction { _sendServiceToAvahi(); break; case AvahiEntryGroupState.AVAHI_ENTRY_GROUP_FAILURE: - onError(AvahiBonsoirError('Bonsoir service failed to broadcast : ${service.description}', event.error)); + onError(BonsoirLinuxError('Bonsoir service failed to broadcast : ${service.description}', event.error)); break; default: onEvent( diff --git a/packages/bonsoir_linux/lib/src/actions/discovery/discovery.dart b/packages/bonsoir_linux/lib/src/actions/discovery/discovery.dart index b1239444..c9b10152 100644 --- a/packages/bonsoir_linux/lib/src/actions/discovery/discovery.dart +++ b/packages/bonsoir_linux/lib/src/actions/discovery/discovery.dart @@ -110,7 +110,7 @@ class AvahiBonsoirDiscovery extends AvahiBonsoirAction wi Future resolveService(BonsoirService service) async { BonsoirService? serviceInstance = _findService(service.name, service.type); if (serviceInstance == null) { - onError(AvahiBonsoirError('Trying to resolve an undiscovered service : ${service.name}', service.name)); + onError(BonsoirLinuxError('Trying to resolve an undiscovered service : ${service.name}', service.name)); return; } _avahiHandler!.resolveService(this, serviceInstance, _foundServices[serviceInstance]!); @@ -295,14 +295,14 @@ class AvahiBonsoirDiscovery extends AvahiBonsoirAction wi currentIndex++; if (currentIndex + lengthByte <= txtRecordData.length) { String string = utf8.decode(txtRecordData.sublist(currentIndex, currentIndex + lengthByte)); - List parts = string.split('='); + int equalIndex = string.indexOf('='); String key = string; String value = ''; - if (parts.length == 2) { - key = parts.first; - value = parts.last; + if (equalIndex != -1) { + key = string.substring(0, equalIndex); + value = string.substring(equalIndex + 1); } - if (!result.containsKey(key)) { + if (!key.startsWith('=') && !result.containsKey(key)) { result[key] = value; } currentIndex += lengthByte; diff --git a/packages/bonsoir_linux/lib/src/error.dart b/packages/bonsoir_linux/lib/src/error.dart index f56f4f52..4a11386f 100644 --- a/packages/bonsoir_linux/lib/src/error.dart +++ b/packages/bonsoir_linux/lib/src/error.dart @@ -1,5 +1,5 @@ /// Represents a Bonsoir error triggered on the Linux platform. -class AvahiBonsoirError implements Exception { +class BonsoirLinuxError implements Exception { /// The message. final String message; @@ -7,11 +7,11 @@ class AvahiBonsoirError implements Exception { final Object? error; /// Creates a new Avahi Bonsoir error instance. - AvahiBonsoirError(this.message, [this.error]); + BonsoirLinuxError(this.message, [this.error]); @override String toString() { - String string = 'AvahiBonsoirError'; + String string = 'BonsoirLinuxError'; if (error != null) { string += '(${error})'; } diff --git a/packages/bonsoir_linux/pubspec.yaml b/packages/bonsoir_linux/pubspec.yaml index 64c30f5f..4c9b0ead 100644 --- a/packages/bonsoir_linux/pubspec.yaml +++ b/packages/bonsoir_linux/pubspec.yaml @@ -13,7 +13,7 @@ flutter: implements: bonsoir platforms: linux: - dartPluginClass: AvahiBonsoir + dartPluginClass: BonsoirLinux dependencies: flutter: