summaryrefslogtreecommitdiff
path: root/lib/control/scanner_controller.dart
blob: d004fd909f4c2699f9b771d07319966fad75eaf0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import 'dart:async';

import 'package:uvok_epaper_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();
}