diff options
author | uvok | 2025-07-31 13:09:10 +0200 |
---|---|---|
committer | uvok | 2025-07-31 13:09:10 +0200 |
commit | fc9ee156c61738c7ceb77ddf82e79a6bcefb8d38 (patch) | |
tree | 8d916835e53bb73163da791a3d91012f2dd97750 /lib/model/connection | |
parent | d727c2db88ccfca486bcf6443cfef51fe723a3a8 (diff) |
Add UB connection
Diffstat (limited to 'lib/model/connection')
-rw-r--r-- | lib/model/connection/device_connection.dart | 1 | ||||
-rw-r--r-- | lib/model/connection/universal_ble_connection.dart | 28 |
2 files changed, 28 insertions, 1 deletions
diff --git a/lib/model/connection/device_connection.dart b/lib/model/connection/device_connection.dart index 81bcbfd..5c810f0 100644 --- a/lib/model/connection/device_connection.dart +++ b/lib/model/connection/device_connection.dart @@ -13,7 +13,6 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see <https://www.gnu.org/licenses/>. - enum ConnectionStatus { disconnected, connected, error } abstract class DeviceConnection { 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; +} |