diff options
Diffstat (limited to 'lib/model/connection/universal_ble_connection.dart')
-rw-r--r-- | lib/model/connection/universal_ble_connection.dart | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/model/connection/universal_ble_connection.dart b/lib/model/connection/universal_ble_connection.dart new file mode 100644 index 0000000..6aa3c87 --- /dev/null +++ b/lib/model/connection/universal_ble_connection.dart @@ -0,0 +1,28 @@ +import 'package:universal_ble/universal_ble.dart'; +import 'package:uvok_epaper_badge/model/connection/device_connection.dart'; +import 'package:uvok_epaper_badge/model/device/universal_ble_device.dart'; + +class UniversalBleConnection implements DeviceConnection { + final UniversalBleDevice _device; + ConnectionStatus _status = ConnectionStatus.disconnected; + + UniversalBleConnection(this._device); + + @override + Future<void> connect() async { + await _device.device.connect(); + + _status = await _device.device.isConnected + ? ConnectionStatus.connected + : ConnectionStatus.disconnected; + } + + @override + Future<void> disconnect() async { + await _device.device.disconnect(); + _status = ConnectionStatus.disconnected; + } + + @override + ConnectionStatus get status => _status; +} |