summaryrefslogtreecommitdiff
path: root/lib/control/scanner_controller.dart
blob: 75711d6caa2b64c7565340eb70bd28f00e9e0361 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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();
}