Erweiterungen und cleanup

This commit is contained in:
Sven committed 2024-11-14 17:38:14 +01:00
1 parent def0f3fc2f
commit 38f5d374b2
15 files changed
+9 -119

No files matched your search

-78
View File
@@ -1,78 +0,0 @@
import 'dart:async';
//typedef EventHandler<T> = void Function(T args);
/*class _MapEntry {
late dynamic owner;
late dynamic handler;
}
class MessageService {
static final MessageService _singleton = MessageService._internal();
final Map<String, Set<_MapEntry>> _callbackMaps = <String, Set<_MapEntry>>{};
factory MessageService() {
return _singleton;
}
MessageService._internal();
subscribe<T>(String topic, dynamic owner, EventHandler<T>? handler) {
var entry = _MapEntry();
entry.owner = owner;
entry.handler = handler;
if (_callbackMaps.containsKey(topic)) {
_callbackMaps[topic]!.remove(entry);
_callbackMaps[topic]!.add(entry);
} else {
_callbackMaps[topic] = <_MapEntry>{};
_callbackMaps[topic]!.add(entry);
}
}
unsubscribe<T>(String topic, dynamic owner) {
if (_callbackMaps.containsKey(topic)) {
for (var entry in _callbackMaps[topic]!) {
if (entry.owner == owner) {
_callbackMaps[topic]!.remove(entry);
unsubscribe(topic, owner);
break;
}
}
}
}
unsubscribeAll<T>(dynamic owner) {
for (var callbackMapsEntry in _callbackMaps.entries) {
for (var entry in callbackMapsEntry.value.toList()) {
if (entry.owner == owner) {
_callbackMaps[callbackMapsEntry.key]!.remove(entry);
unsubscribeAll(owner);
break;
}
}
}
}
publish<T>(String topic, {T? arguments}) async {
Completer<void> completer = Completer();
var entries = _callbackMaps[topic];
if (entries != null) {
for (var entry in entries) {
entry.handler(arguments);
}
completer.complete();
}
await completer.future;
}
}*/
-4
View File
@@ -28,16 +28,12 @@ import 'package:stadtbote/protocoll_messages/status_info_update.dart';
import 'package:stadtbote/protocoll_messages/sync_jobs_message.dart';
import 'package:stadtbote/protocoll_messages/track_message.dart';
import 'package:stadtbote/tools/connection_status.dart';
import 'package:stadtbote/tools/message_service.dart';
import 'package:stadtbote/tools/messages/publish_payload_message.dart';
import 'package:stadtbote/tools/messages/connect_client_message.dart';
import 'package:stadtbote/tools/messages/current_connection_status_message.dart';
import 'package:stadtbote/tools/messages/disconnect_client_message.dart';
import 'package:stadtbote/tools/messages/job_deleted_message.dart';
import 'package:stadtbote/tools/messages/job_received_message.dart';
import 'package:stadtbote/tools/messages/message_message.dart';
import 'package:stadtbote/tools/messages/ranking_updated.dart';
import 'package:stadtbote/tools/messages/request_connection_status_message.dart';
import 'package:stadtbote/tools/messages/session_info_update.dart';
import 'package:stadtbote/tools/messages/status_info_update.dart';