summaryrefslogtreecommitdiff
path: root/lib/control/scanner_controller.dart
diff options
context:
space:
mode:
authoruvok2025-07-29 19:34:30 +0200
committeruvok2025-07-29 19:34:30 +0200
commit9536bfa04db171aee987f042dccc4c2f16fa0f29 (patch)
tree30be128d055edafb9ba2791438552a2a8998ae2a /lib/control/scanner_controller.dart
parent3e16a18fb5d279575377ae5cf1d3929a90cae79c (diff)
Add "controllers" for scanning
Diffstat (limited to 'lib/control/scanner_controller.dart')
-rw-r--r--lib/control/scanner_controller.dart16
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/control/scanner_controller.dart b/lib/control/scanner_controller.dart
new file mode 100644
index 0000000..75711d6
--- /dev/null
+++ b/lib/control/scanner_controller.dart
@@ -0,0 +1,16 @@
+import 'dart:async';
+
+import 'package:badge/model/device.dart';
+
+/// Represents the scan status.
+enum ScanStatus { idle, scanning, finished, error }
+
+/// Represents a scanner controller.
+/// It emits devices which may be connected to later.
+abstract class ScannerController {
+ Stream<List<Device>> get scanResultsStream;
+ Stream<ScanStatus> get statusStream;
+ Future<void> startScan({Duration timeout});
+ Future<void> stopScan();
+ void dispose();
+}