* feat: 调整插件接口

* feat: 增加 `Logger` 类

* fix: 部分参数改为可选参数

* fix: 调整接口

* fix: 重命名 AdvertiseData 为 Advertisement

* fix: 移除 `Logger.level` 属性

* fix: 适配 4.0.0

* fix: 更新依赖项

* fix: 优化导入方式

* fix: 修改版本号

* fix: 适配 4.0.0

* feat: 部分适配 4.0.0

* feat: 适配 4.0.0

* feat: 适配 4.0.0

* fix: 调整接口

* feat: 调整日志接口

* fix: 修复日志错误

* fix: 临时提交

* draft: 临时提交

* fix: 使用 log_service 插件替换 logging 插件

* fix: 更新 log_service 版本

* fix: 4.0.0

* feat: 4.0.0

* feat: 4.0.0
This commit is contained in:
iAMD
2023-10-30 18:06:14 +08:00
committed by GitHub
parent 3c10caa5dd
commit cfe0eda4a3
68 changed files with 1316 additions and 814 deletions

View File

@ -1,4 +1,4 @@
// Autogenerated from Pigeon (v11.0.1), do not edit directly.
// Autogenerated from Pigeon (v12.0.1), do not edit directly.
// See also: https://pub.dev/packages/pigeon
import Foundation
@ -140,13 +140,13 @@ struct MyPeripheralArgs {
}
/// Generated class from Pigeon that represents data sent in messages.
struct MyAdvertiseDataArgs {
struct MyAdvertisementArgs {
var nameArgs: String? = nil
var serviceUUIDsArgs: [String?]
var serviceDataArgs: [String?: FlutterStandardTypedData?]
var manufacturerSpecificDataArgs: MyManufacturerSpecificDataArgs? = nil
static func fromList(_ list: [Any?]) -> MyAdvertiseDataArgs? {
static func fromList(_ list: [Any?]) -> MyAdvertisementArgs? {
let nameArgs: String? = nilOrValue(list[0])
let serviceUUIDsArgs = list[1] as! [String?]
let serviceDataArgs = list[2] as! [String?: FlutterStandardTypedData?]
@ -155,7 +155,7 @@ struct MyAdvertiseDataArgs {
manufacturerSpecificDataArgs = MyManufacturerSpecificDataArgs.fromList(manufacturerSpecificDataArgsList)
}
return MyAdvertiseDataArgs(
return MyAdvertisementArgs(
nameArgs: nameArgs,
serviceUUIDsArgs: serviceUUIDsArgs,
serviceDataArgs: serviceDataArgs,
@ -575,7 +575,7 @@ private class MyCentralManagerFlutterApiCodecReader: FlutterStandardReader {
override func readValue(ofType type: UInt8) -> Any? {
switch type {
case 128:
return MyAdvertiseDataArgs.fromList(self.readValue() as! [Any?])
return MyAdvertisementArgs.fromList(self.readValue() as! [Any?])
case 129:
return MyGattCharacteristicArgs.fromList(self.readValue() as! [Any?])
case 130:
@ -592,7 +592,7 @@ private class MyCentralManagerFlutterApiCodecReader: FlutterStandardReader {
private class MyCentralManagerFlutterApiCodecWriter: FlutterStandardWriter {
override func writeValue(_ value: Any) {
if let value = value as? MyAdvertiseDataArgs {
if let value = value as? MyAdvertisementArgs {
super.writeByte(128)
super.writeValue(value.toList())
} else if let value = value as? MyGattCharacteristicArgs {
@ -627,8 +627,14 @@ class MyCentralManagerFlutterApiCodec: FlutterStandardMessageCodec {
static let shared = MyCentralManagerFlutterApiCodec(readerWriter: MyCentralManagerFlutterApiCodecReaderWriter())
}
/// Generated class from Pigeon that represents Flutter messages that can be called from Swift.
class MyCentralManagerFlutterApi {
/// Generated protocol from Pigeon that represents Flutter messages that can be called from Swift.
protocol MyCentralManagerFlutterApiProtocol {
func onStateChanged(stateNumberArgs stateNumberArgsArg: Int64, completion: @escaping (Result<Void, FlutterError>) -> Void)
func onDiscovered(peripheralArgs peripheralArgsArg: MyPeripheralArgs, rssiArgs rssiArgsArg: Int64, advertisementArgs advertisementArgsArg: MyAdvertisementArgs, completion: @escaping (Result<Void, FlutterError>) -> Void)
func onPeripheralStateChanged(peripheralArgs peripheralArgsArg: MyPeripheralArgs, stateArgs stateArgsArg: Bool, completion: @escaping (Result<Void, FlutterError>) -> Void)
func onCharacteristicValueChanged(characteristicArgs characteristicArgsArg: MyGattCharacteristicArgs, valueArgs valueArgsArg: FlutterStandardTypedData, completion: @escaping (Result<Void, FlutterError>) -> Void)
}
class MyCentralManagerFlutterApi: MyCentralManagerFlutterApiProtocol {
private let binaryMessenger: FlutterBinaryMessenger
init(binaryMessenger: FlutterBinaryMessenger){
self.binaryMessenger = binaryMessenger
@ -636,28 +642,28 @@ class MyCentralManagerFlutterApi {
var codec: FlutterStandardMessageCodec {
return MyCentralManagerFlutterApiCodec.shared
}
func onStateChanged(stateNumberArgs stateNumberArgsArg: Int64, completion: @escaping () -> Void) {
func onStateChanged(stateNumberArgs stateNumberArgsArg: Int64, completion: @escaping (Result<Void, FlutterError>) -> Void) {
let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.bluetooth_low_energy_darwin.MyCentralManagerFlutterApi.onStateChanged", binaryMessenger: binaryMessenger, codec: codec)
channel.sendMessage([stateNumberArgsArg] as [Any?]) { _ in
completion()
completion(.success(Void()))
}
}
func onDiscovered(peripheralArgs peripheralArgsArg: MyPeripheralArgs, rssiArgs rssiArgsArg: Int64, advertiseDataArgs advertiseDataArgsArg: MyAdvertiseDataArgs, completion: @escaping () -> Void) {
func onDiscovered(peripheralArgs peripheralArgsArg: MyPeripheralArgs, rssiArgs rssiArgsArg: Int64, advertisementArgs advertisementArgsArg: MyAdvertisementArgs, completion: @escaping (Result<Void, FlutterError>) -> Void) {
let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.bluetooth_low_energy_darwin.MyCentralManagerFlutterApi.onDiscovered", binaryMessenger: binaryMessenger, codec: codec)
channel.sendMessage([peripheralArgsArg, rssiArgsArg, advertiseDataArgsArg] as [Any?]) { _ in
completion()
channel.sendMessage([peripheralArgsArg, rssiArgsArg, advertisementArgsArg] as [Any?]) { _ in
completion(.success(Void()))
}
}
func onPeripheralStateChanged(peripheralArgs peripheralArgsArg: MyPeripheralArgs, stateArgs stateArgsArg: Bool, completion: @escaping () -> Void) {
func onPeripheralStateChanged(peripheralArgs peripheralArgsArg: MyPeripheralArgs, stateArgs stateArgsArg: Bool, completion: @escaping (Result<Void, FlutterError>) -> Void) {
let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.bluetooth_low_energy_darwin.MyCentralManagerFlutterApi.onPeripheralStateChanged", binaryMessenger: binaryMessenger, codec: codec)
channel.sendMessage([peripheralArgsArg, stateArgsArg] as [Any?]) { _ in
completion()
completion(.success(Void()))
}
}
func onCharacteristicValueChanged(characteristicArgs characteristicArgsArg: MyGattCharacteristicArgs, valueArgs valueArgsArg: FlutterStandardTypedData, completion: @escaping () -> Void) {
func onCharacteristicValueChanged(characteristicArgs characteristicArgsArg: MyGattCharacteristicArgs, valueArgs valueArgsArg: FlutterStandardTypedData, completion: @escaping (Result<Void, FlutterError>) -> Void) {
let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.bluetooth_low_energy_darwin.MyCentralManagerFlutterApi.onCharacteristicValueChanged", binaryMessenger: binaryMessenger, codec: codec)
channel.sendMessage([characteristicArgsArg, valueArgsArg] as [Any?]) { _ in
completion()
completion(.success(Void()))
}
}
}
@ -665,7 +671,7 @@ private class MyPeripheralManagerHostApiCodecReader: FlutterStandardReader {
override func readValue(ofType type: UInt8) -> Any? {
switch type {
case 128:
return MyAdvertiseDataArgs.fromList(self.readValue() as! [Any?])
return MyAdvertisementArgs.fromList(self.readValue() as! [Any?])
case 129:
return MyGattCharacteristicArgs.fromList(self.readValue() as! [Any?])
case 130:
@ -684,7 +690,7 @@ private class MyPeripheralManagerHostApiCodecReader: FlutterStandardReader {
private class MyPeripheralManagerHostApiCodecWriter: FlutterStandardWriter {
override func writeValue(_ value: Any) {
if let value = value as? MyAdvertiseDataArgs {
if let value = value as? MyAdvertisementArgs {
super.writeByte(128)
super.writeValue(value.toList())
} else if let value = value as? MyGattCharacteristicArgs {
@ -728,7 +734,7 @@ protocol MyPeripheralManagerHostApi {
func addService(serviceArgs: MyGattServiceArgs, completion: @escaping (Result<Void, Error>) -> Void)
func removeService(serviceHashCodeArgs: Int64) throws
func clearServices() throws
func startAdvertising(advertiseDataArgs: MyAdvertiseDataArgs, completion: @escaping (Result<Void, Error>) -> Void)
func startAdvertising(advertisementArgs: MyAdvertisementArgs, completion: @escaping (Result<Void, Error>) -> Void)
func stopAdvertising() throws
func getMaximumWriteLength(centralHashCodeArgs: Int64) throws -> Int64
func sendReadCharacteristicReply(centralHashCodeArgs: Int64, characteristicHashCodeArgs: Int64, idArgs: Int64, offsetArgs: Int64, statusArgs: Bool, valueArgs: FlutterStandardTypedData) throws
@ -806,8 +812,8 @@ class MyPeripheralManagerHostApiSetup {
if let api = api {
startAdvertisingChannel.setMessageHandler { message, reply in
let args = message as! [Any?]
let advertiseDataArgsArg = args[0] as! MyAdvertiseDataArgs
api.startAdvertising(advertiseDataArgs: advertiseDataArgsArg) { result in
let advertisementArgsArg = args[0] as! MyAdvertisementArgs
api.startAdvertising(advertisementArgs: advertisementArgsArg) { result in
switch result {
case .success:
reply(wrapResult(nil))
@ -953,8 +959,14 @@ class MyPeripheralManagerFlutterApiCodec: FlutterStandardMessageCodec {
static let shared = MyPeripheralManagerFlutterApiCodec(readerWriter: MyPeripheralManagerFlutterApiCodecReaderWriter())
}
/// Generated class from Pigeon that represents Flutter messages that can be called from Swift.
class MyPeripheralManagerFlutterApi {
/// Generated protocol from Pigeon that represents Flutter messages that can be called from Swift.
protocol MyPeripheralManagerFlutterApiProtocol {
func onStateChanged(stateNumberArgs stateNumberArgsArg: Int64, completion: @escaping (Result<Void, FlutterError>) -> Void)
func onReadCharacteristicCommandReceived(centralArgs centralArgsArg: MyCentralArgs, characteristicArgs characteristicArgsArg: MyGattCharacteristicArgs, idArgs idArgsArg: Int64, offsetArgs offsetArgsArg: Int64, completion: @escaping (Result<Void, FlutterError>) -> Void)
func onWriteCharacteristicCommandReceived(centralArgs centralArgsArg: MyCentralArgs, characteristicArgs characteristicArgsArg: MyGattCharacteristicArgs, idArgs idArgsArg: Int64, offsetArgs offsetArgsArg: Int64, valueArgs valueArgsArg: FlutterStandardTypedData, completion: @escaping (Result<Void, FlutterError>) -> Void)
func onNotifyCharacteristicCommandReceived(centralArgs centralArgsArg: MyCentralArgs, characteristicArgs characteristicArgsArg: MyGattCharacteristicArgs, stateArgs stateArgsArg: Bool, completion: @escaping (Result<Void, FlutterError>) -> Void)
}
class MyPeripheralManagerFlutterApi: MyPeripheralManagerFlutterApiProtocol {
private let binaryMessenger: FlutterBinaryMessenger
init(binaryMessenger: FlutterBinaryMessenger){
self.binaryMessenger = binaryMessenger
@ -962,28 +974,28 @@ class MyPeripheralManagerFlutterApi {
var codec: FlutterStandardMessageCodec {
return MyPeripheralManagerFlutterApiCodec.shared
}
func onStateChanged(stateNumberArgs stateNumberArgsArg: Int64, completion: @escaping () -> Void) {
func onStateChanged(stateNumberArgs stateNumberArgsArg: Int64, completion: @escaping (Result<Void, FlutterError>) -> Void) {
let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.bluetooth_low_energy_darwin.MyPeripheralManagerFlutterApi.onStateChanged", binaryMessenger: binaryMessenger, codec: codec)
channel.sendMessage([stateNumberArgsArg] as [Any?]) { _ in
completion()
completion(.success(Void()))
}
}
func onReadCharacteristicCommandReceived(centralArgs centralArgsArg: MyCentralArgs, characteristicArgs characteristicArgsArg: MyGattCharacteristicArgs, idArgs idArgsArg: Int64, offsetArgs offsetArgsArg: Int64, completion: @escaping () -> Void) {
func onReadCharacteristicCommandReceived(centralArgs centralArgsArg: MyCentralArgs, characteristicArgs characteristicArgsArg: MyGattCharacteristicArgs, idArgs idArgsArg: Int64, offsetArgs offsetArgsArg: Int64, completion: @escaping (Result<Void, FlutterError>) -> Void) {
let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.bluetooth_low_energy_darwin.MyPeripheralManagerFlutterApi.onReadCharacteristicCommandReceived", binaryMessenger: binaryMessenger, codec: codec)
channel.sendMessage([centralArgsArg, characteristicArgsArg, idArgsArg, offsetArgsArg] as [Any?]) { _ in
completion()
completion(.success(Void()))
}
}
func onWriteCharacteristicCommandReceived(centralArgs centralArgsArg: MyCentralArgs, characteristicArgs characteristicArgsArg: MyGattCharacteristicArgs, idArgs idArgsArg: Int64, offsetArgs offsetArgsArg: Int64, valueArgs valueArgsArg: FlutterStandardTypedData, completion: @escaping () -> Void) {
func onWriteCharacteristicCommandReceived(centralArgs centralArgsArg: MyCentralArgs, characteristicArgs characteristicArgsArg: MyGattCharacteristicArgs, idArgs idArgsArg: Int64, offsetArgs offsetArgsArg: Int64, valueArgs valueArgsArg: FlutterStandardTypedData, completion: @escaping (Result<Void, FlutterError>) -> Void) {
let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.bluetooth_low_energy_darwin.MyPeripheralManagerFlutterApi.onWriteCharacteristicCommandReceived", binaryMessenger: binaryMessenger, codec: codec)
channel.sendMessage([centralArgsArg, characteristicArgsArg, idArgsArg, offsetArgsArg, valueArgsArg] as [Any?]) { _ in
completion()
completion(.success(Void()))
}
}
func onNotifyCharacteristicCommandReceived(centralArgs centralArgsArg: MyCentralArgs, characteristicArgs characteristicArgsArg: MyGattCharacteristicArgs, stateArgs stateArgsArg: Bool, completion: @escaping () -> Void) {
func onNotifyCharacteristicCommandReceived(centralArgs centralArgsArg: MyCentralArgs, characteristicArgs characteristicArgsArg: MyGattCharacteristicArgs, stateArgs stateArgsArg: Bool, completion: @escaping (Result<Void, FlutterError>) -> Void) {
let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.bluetooth_low_energy_darwin.MyPeripheralManagerFlutterApi.onNotifyCharacteristicCommandReceived", binaryMessenger: binaryMessenger, codec: codec)
channel.sendMessage([centralArgsArg, characteristicArgsArg, stateArgsArg] as [Any?]) { _ in
completion()
completion(.success(Void()))
}
}
}

View File

@ -16,6 +16,9 @@ import FlutterMacOS
#error("Unsupported platform.")
#endif
// This extension of Error is required to do use FlutterError in any Swift code.
extension FlutterError: Error {}
extension CBManagerState {
func toArgs() -> MyBluetoothLowEnergyStateArgs {
switch self {
@ -125,7 +128,7 @@ extension UInt16 {
}
extension [String: Any] {
func toAdvertiseDataArgs() -> MyAdvertiseDataArgs {
func toAdvertisementArgs() -> MyAdvertisementArgs {
let nameArgs = self[CBAdvertisementDataLocalNameKey] as? String
let serviceUUIDs = self[CBAdvertisementDataServiceUUIDsKey] as? [CBUUID] ?? []
let serviceUUIDsArgs = serviceUUIDs.map { uuid in uuid.uuidString }
@ -138,7 +141,7 @@ extension [String: Any] {
let serviceDataArgs = [String?: FlutterStandardTypedData?](uniqueKeysWithValues: serviceDataArgsKeyWithValues)
let manufacturerSpecificData = self[CBAdvertisementDataManufacturerDataKey] as? Data
let manufacturerSpecificDataArgs = manufacturerSpecificData?.toManufacturerSpecificDataArgs()
return MyAdvertiseDataArgs(nameArgs: nameArgs, serviceUUIDsArgs: serviceUUIDsArgs, serviceDataArgs: serviceDataArgs, manufacturerSpecificDataArgs: manufacturerSpecificDataArgs)
return MyAdvertisementArgs(nameArgs: nameArgs, serviceUUIDsArgs: serviceUUIDsArgs, serviceDataArgs: serviceDataArgs, manufacturerSpecificDataArgs: manufacturerSpecificDataArgs)
}
}
@ -155,13 +158,13 @@ extension Data {
}
}
extension MyAdvertiseDataArgs {
func toAdvertiseData() throws -> [String : Any] {
extension MyAdvertisementArgs {
func toAdvertisement() throws -> [String : Any] {
// CoreBluetooth only support `CBAdvertisementDataLocalNameKey` and `CBAdvertisementDataServiceUUIDsKey`, see https://developer.apple.com/documentation/corebluetooth/cbperipheralmanager/1393252-startadvertising
var advertiseData = [String: Any]()
var advertisement = [String: Any]()
if nameArgs != nil {
let name = nameArgs!
advertiseData[CBAdvertisementDataLocalNameKey] = name
advertisement[CBAdvertisementDataLocalNameKey] = name
}
if serviceUUIDsArgs.count > 0 {
var serviceUUIDs = [CBUUID]()
@ -172,7 +175,7 @@ extension MyAdvertiseDataArgs {
let uuid = CBUUID(string: uuidArgs)
serviceUUIDs.append(uuid)
}
advertiseData[CBAdvertisementDataServiceUUIDsKey] = serviceUUIDs
advertisement[CBAdvertisementDataServiceUUIDsKey] = serviceUUIDs
}
// if serviceDataArgs.count > 0 {
// var serviceData = [CBUUID: Data]()
@ -187,13 +190,13 @@ extension MyAdvertiseDataArgs {
// let data = dataArgs.data
// serviceData[uuid] = data
// }
// advertiseData[CBAdvertisementDataServiceDataKey] = serviceData
// advertisement[CBAdvertisementDataServiceDataKey] = serviceData
// }
// if manufacturerSpecificDataArgs != nil {
// let manufacturerSpecificData = manufacturerSpecificDataArgs!.toManufacturerSpecificData()
// advertiseData[CBAdvertisementDataManufacturerDataKey] = manufacturerSpecificData
// advertisement[CBAdvertisementDataManufacturerDataKey] = manufacturerSpecificData
// }
return advertiseData
return advertisement
}
}

View File

@ -307,7 +307,7 @@ class MyCentralManager: MyCentralManagerHostApi {
setUpCompletion!(.success(args))
setUpCompletion = nil
}
api.onStateChanged(stateNumberArgs: stateNumberArgs) {}
api.onStateChanged(stateNumberArgs: stateNumberArgs) {_ in }
}
func didDiscover(_ peripheral: CBPeripheral, _ advertisementData: [String : Any], _ rssi: NSNumber) {
@ -318,8 +318,8 @@ class MyCentralManager: MyCentralManagerHostApi {
peripherals[peripheralHashCodeArgs] = peripheral
peripheralsArgs[peripheralHashCode] = peripheralArgs
let rssiArgs = rssi.int64Value
let advertiseDataArgs = advertisementData.toAdvertiseDataArgs()
api.onDiscovered(peripheralArgs: peripheralArgs, rssiArgs: rssiArgs, advertiseDataArgs: advertiseDataArgs) {}
let advertisementArgs = advertisementData.toAdvertisementArgs()
api.onDiscovered(peripheralArgs: peripheralArgs, rssiArgs: rssiArgs, advertisementArgs: advertisementArgs) {_ in }
}
func didConnect(_ peripheral: CBPeripheral) {
@ -329,7 +329,7 @@ class MyCentralManager: MyCentralManagerHostApi {
}
let peripheralHashCodeArgs = peripheralArgs.hashCodeArgs
let stateArgs = true
api.onPeripheralStateChanged(peripheralArgs: peripheralArgs, stateArgs: stateArgs) {}
api.onPeripheralStateChanged(peripheralArgs: peripheralArgs, stateArgs: stateArgs) {_ in }
guard let completion = connectCompletions.removeValue(forKey: peripheralHashCodeArgs) else {
return
}
@ -390,7 +390,7 @@ class MyCentralManager: MyCentralManagerHostApi {
}
}
let stateArgs = false
api.onPeripheralStateChanged(peripheralArgs: peripheralArgs, stateArgs: stateArgs) {}
api.onPeripheralStateChanged(peripheralArgs: peripheralArgs, stateArgs: stateArgs) {_ in }
guard let completion = disconnectCompletions.removeValue(forKey: peripheralHashCodeArgs) else {
return
}
@ -550,7 +550,7 @@ class MyCentralManager: MyCentralManagerHostApi {
guard let completion = readCharacteristicCompletions.removeValue(forKey: characteristicHashCodeArgs) else {
let value = characteristic.value ?? Data()
let valueArgs = FlutterStandardTypedData(bytes: value)
api.onCharacteristicValueChanged(characteristicArgs: characteristicArgs, valueArgs: valueArgs) {}
api.onCharacteristicValueChanged(characteristicArgs: characteristicArgs, valueArgs: valueArgs) {_ in }
return
}
if error == nil {

View File

@ -181,13 +181,13 @@ class MyPeripheralManager: MyPeripheralManagerHostApi {
self.servicesArgs.removeValue(forKey: serviceHashCode)
}
func startAdvertising(advertiseDataArgs: MyAdvertiseDataArgs, completion: @escaping (Result<Void, Error>) -> Void) {
func startAdvertising(advertisementArgs: MyAdvertisementArgs, completion: @escaping (Result<Void, Error>) -> Void) {
do {
if startAdvertisingCompletion != nil {
throw MyError.illegalState
}
let advertisementData = try advertiseDataArgs.toAdvertiseData()
peripheralManager.startAdvertising(advertisementData)
let advertisement = try advertisementArgs.toAdvertisement()
peripheralManager.startAdvertising(advertisement)
startAdvertisingCompletion = completion
} catch {
completion(.failure(error))
@ -264,7 +264,7 @@ class MyPeripheralManager: MyPeripheralManagerHostApi {
setUpCompletion!(.success(args))
setUpCompletion = nil
}
api.onStateChanged(stateNumberArgs: stateNumberArgs) {}
api.onStateChanged(stateNumberArgs: stateNumberArgs) {_ in }
}
func didAdd(_ service: CBService, _ error: Error?) {
@ -311,7 +311,7 @@ class MyPeripheralManager: MyPeripheralManagerHostApi {
let idArgs = Int64(request.hash)
requests[idArgs] = request
let offsetArgs = Int64(request.offset)
api.onReadCharacteristicCommandReceived(centralArgs: centralArgs, characteristicArgs: characteristicArgs, idArgs: idArgs, offsetArgs: offsetArgs) {}
api.onReadCharacteristicCommandReceived(centralArgs: centralArgs, characteristicArgs: characteristicArgs, idArgs: idArgs, offsetArgs: offsetArgs) {_ in }
}
func didReceiveWrite(_ requests: [CBATTRequest]) {
@ -343,7 +343,7 @@ class MyPeripheralManager: MyPeripheralManagerHostApi {
return
}
let valueArgs = FlutterStandardTypedData(bytes: value)
api.onWriteCharacteristicCommandReceived(centralArgs: centralArgs, characteristicArgs: characteristicArgs, idArgs: idArgs, offsetArgs: offsetArgs, valueArgs: valueArgs) {}
api.onWriteCharacteristicCommandReceived(centralArgs: centralArgs, characteristicArgs: characteristicArgs, idArgs: idArgs, offsetArgs: offsetArgs, valueArgs: valueArgs) {_ in }
}
func didSubscribeTo(_ central: CBCentral, _ characteristic: CBCharacteristic) {
@ -356,7 +356,7 @@ class MyPeripheralManager: MyPeripheralManagerHostApi {
return
}
let stateArgs = true
api.onNotifyCharacteristicCommandReceived(centralArgs: centralArgs, characteristicArgs: characteristicArgs, stateArgs: stateArgs) {}
api.onNotifyCharacteristicCommandReceived(centralArgs: centralArgs, characteristicArgs: characteristicArgs, stateArgs: stateArgs) {_ in }
}
func didUnsubscribeFrom(_ central: CBCentral, _ characteristic: CBCharacteristic) {
@ -369,7 +369,7 @@ class MyPeripheralManager: MyPeripheralManagerHostApi {
return
}
let stateArgs = false
api.onNotifyCharacteristicCommandReceived(centralArgs: centralArgs, characteristicArgs: characteristicArgs, stateArgs: stateArgs) {}
api.onNotifyCharacteristicCommandReceived(centralArgs: centralArgs, characteristicArgs: characteristicArgs, stateArgs: stateArgs) {_ in }
}
func isReadyToUpdateSubscribers() {