ble_peripheral_interface.dart
1 import 'dart:typed_data'; 2 3 import 'package:ble_peripheral/ble_peripheral.dart'; 4 5 abstract class BlePeripheralInterface { 6 Future initialize(); 7 8 Future<bool> isSupported(); 9 10 Future<bool> askBlePermission(); 11 12 Future<bool?> isAdvertising(); 13 14 Future<void> addService(BleService service, {Duration? timeout}); 15 16 Future<void> removeService(String serviceId) { 17 throw UnimplementedError(); 18 } 19 20 Future<void> clearServices() { 21 throw UnimplementedError(); 22 } 23 24 Future<List<String>> getServices() { 25 throw UnimplementedError(); 26 } 27 28 Future<void> updateCharacteristic({ 29 required String characteristicId, 30 required Uint8List value, 31 String? deviceId, 32 }); 33 34 Future<void> startAdvertising({ 35 required List<String> services, 36 String? localName, 37 int? timeout, 38 ManufacturerData? manufacturerData, 39 bool addManufacturerDataInScanResponse = false, 40 }); 41 42 Future<void> stopAdvertising(); 43 44 /// Callback handlers 45 void setAdvertisingStatusUpdateCallback( 46 AdvertisementStatusUpdateCallback callback) { 47 throw UnimplementedError(); 48 } 49 50 void setBleStateChangeCallback(BleStateCallback callback) { 51 throw UnimplementedError(); 52 } 53 54 void setBondStateChangeCallback(BondStateCallback callback) { 55 throw UnimplementedError(); 56 } 57 58 void setCharacteristicSubscriptionChangeCallback( 59 CharacteristicSubscriptionChangeCallback callback) { 60 throw UnimplementedError(); 61 } 62 63 void setConnectionStateChangeCallback( 64 ConnectionStateChangeCallback callback) { 65 throw UnimplementedError(); 66 } 67 68 void setMtuChangeCallback(MtuChangeCallback callback) { 69 throw UnimplementedError(); 70 } 71 72 void setReadRequestCallback(ReadRequestCallback callback) { 73 throw UnimplementedError(); 74 } 75 76 void setServiceAddedCallback(ServiceAddedCallback callback) { 77 throw UnimplementedError(); 78 } 79 80 void setWriteRequestCallback(WriteRequestCallback callback) { 81 throw UnimplementedError(); 82 } 83 } 84 85 typedef AvailableDevicesListener = void Function( 86 String deviceId, bool isAvailable); 87 88 typedef AdvertisementStatusUpdateCallback = void Function( 89 bool advertising, String? error); 90 91 typedef BleStateCallback = void Function(bool state); 92 93 typedef BondStateCallback = void Function(String deviceId, BondState bondState); 94 95 typedef CharacteristicSubscriptionChangeCallback = void Function( 96 String deviceId, String characteristicId, bool isSubscribed, String? name); 97 98 typedef ConnectionStateChangeCallback = void Function( 99 String deviceId, bool connected); 100 101 typedef ReadRequestCallback = ReadRequestResult? Function( 102 String deviceId, String characteristicId, int offset, Uint8List? value); 103 104 typedef ServiceAddedCallback = void Function(String serviceId, String? error); 105 106 typedef WriteRequestCallback = WriteRequestResult? Function( 107 String deviceId, String characteristicId, int offset, Uint8List? value); 108 109 typedef MtuChangeCallback = void Function(String deviceId, int mtu);