react-native-ble-nitro 1.0.0-beta.8 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BleNitro.podspec +39 -0
- package/LICENSE +1 -1
- package/README.md +273 -77
- package/ios/BleNitroBleManager.swift +425 -464
- package/ios/BlePeripheralDelegate.swift +174 -0
- package/lib/commonjs/index.d.ts +174 -10
- package/lib/commonjs/index.d.ts.map +1 -1
- package/lib/commonjs/index.js +461 -38
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/specs/NativeBleNitro.d.ts +5 -0
- package/lib/commonjs/specs/NativeBleNitro.d.ts.map +1 -0
- package/lib/commonjs/{utils/index.js → specs/NativeBleNitro.js} +6 -3
- package/lib/commonjs/specs/NativeBleNitro.js.map +1 -0
- package/lib/commonjs/specs/NativeBleNitro.nitro.d.ts +69 -0
- package/lib/commonjs/specs/NativeBleNitro.nitro.d.ts.map +1 -0
- package/lib/commonjs/specs/NativeBleNitro.nitro.js +14 -0
- package/lib/commonjs/specs/NativeBleNitro.nitro.js.map +1 -0
- package/lib/index.d.ts +174 -10
- package/lib/index.js +456 -16
- package/lib/specs/NativeBleNitro.d.ts +4 -0
- package/lib/specs/NativeBleNitro.js +5 -0
- package/lib/specs/NativeBleNitro.nitro.d.ts +68 -0
- package/lib/specs/NativeBleNitro.nitro.js +10 -0
- package/nitro.json +1 -1
- package/nitrogen/generated/android/BleNitro+autolinking.cmake +2 -10
- package/nitrogen/generated/android/BleNitroOnLoad.cpp +25 -22
- package/nitrogen/generated/android/c++/JBLEDevice.hpp +95 -0
- package/nitrogen/generated/android/c++/{JState.hpp → JBLEState.hpp} +22 -22
- package/nitrogen/generated/android/c++/JFunc_void_BLEDevice.hpp +82 -0
- package/nitrogen/generated/android/c++/JFunc_void_BLEState.hpp +76 -0
- package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +74 -0
- package/nitrogen/generated/android/c++/JFunc_void_bool_std__string.hpp +75 -0
- package/nitrogen/generated/android/c++/JFunc_void_bool_std__string_std__string.hpp +75 -0
- package/nitrogen/generated/android/c++/JFunc_void_bool_std__vector_double__std__string.hpp +86 -0
- package/nitrogen/generated/android/c++/JFunc_void_std__string_bool_std__string.hpp +75 -0
- package/nitrogen/generated/android/c++/JFunc_void_std__string_std__vector_double_.hpp +86 -0
- package/nitrogen/generated/android/c++/JFunc_void_std__vector_BLEDevice_.hpp +99 -0
- package/nitrogen/generated/android/c++/JFunc_void_std__vector_std__string_.hpp +93 -0
- package/nitrogen/generated/android/c++/JHybridNativeBleNitroSpec.cpp +171 -0
- package/nitrogen/generated/android/c++/JHybridNativeBleNitroSpec.hpp +83 -0
- package/nitrogen/generated/android/c++/JManufacturerData.hpp +73 -0
- package/nitrogen/generated/android/c++/JManufacturerDataEntry.hpp +68 -0
- package/nitrogen/generated/android/c++/JScanFilter.hpp +79 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BLEDevice.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/{LogLevel.kt → BLEState.kt} +9 -13
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/{Func_void_std__optional_NativeBleError__std__optional_NativeDevice_.kt → Func_void_BLEDevice.kt} +15 -14
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/{Func_void.kt → Func_void_BLEState.kt} +15 -14
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/{Func_void_State.kt → Func_void_bool.kt} +15 -14
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/{Func_void_std__optional_NativeBleError__std__optional_NativeCharacteristic_.kt → Func_void_bool_std__string.kt} +15 -14
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Func_void_bool_std__string_std__string.kt +81 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Func_void_bool_std__vector_double__std__string.kt +81 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Func_void_std__string_bool_std__string.kt +81 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Func_void_std__string_std__vector_double_.kt +81 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Func_void_std__vector_BLEDevice_.kt +81 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Func_void_std__vector_std__string_.kt +81 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/HybridNativeBleNitroSpec.kt +223 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/{ServiceDataEntry.kt → ManufacturerData.kt} +7 -5
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/{ConnectionOptions.kt → ManufacturerDataEntry.kt} +10 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/{NativeService.kt → ScanFilter.kt} +13 -7
- package/nitrogen/generated/ios/BleNitro-Swift-Cxx-Bridge.cpp +67 -175
- package/nitrogen/generated/ios/BleNitro-Swift-Cxx-Bridge.hpp +205 -867
- package/nitrogen/generated/ios/BleNitro-Swift-Cxx-Umbrella.hpp +20 -88
- package/nitrogen/generated/ios/BleNitroAutolinking.mm +3 -3
- package/nitrogen/generated/ios/BleNitroAutolinking.swift +4 -4
- package/nitrogen/generated/ios/c++/{HybridCharacteristicSpecSwift.cpp → HybridNativeBleNitroSpecSwift.cpp} +2 -2
- package/nitrogen/generated/ios/c++/HybridNativeBleNitroSpecSwift.hpp +205 -0
- package/nitrogen/generated/ios/swift/BLEDevice.swift +102 -0
- package/nitrogen/generated/ios/swift/{State.swift → BLEState.swift} +6 -6
- package/nitrogen/generated/ios/swift/Func_void.swift +1 -0
- package/nitrogen/generated/ios/swift/{Func_void_State.swift → Func_void_BLEDevice.swift} +12 -11
- package/nitrogen/generated/ios/swift/{Func_void_LogLevel.swift → Func_void_BLEState.swift} +12 -11
- package/nitrogen/generated/ios/swift/Func_void_bool.swift +6 -5
- package/nitrogen/generated/ios/swift/{Func_void_NativeDescriptor.swift → Func_void_bool_std__string.swift} +12 -11
- package/nitrogen/generated/ios/swift/{Func_void_std__vector_NativeCharacteristic_.swift → Func_void_bool_std__string_std__string.swift} +12 -11
- package/nitrogen/generated/ios/swift/Func_void_bool_std__vector_double__std__string.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +1 -0
- package/nitrogen/generated/ios/swift/{Func_void_NativeDevice.swift → Func_void_std__string_bool_std__string.swift} +12 -11
- package/nitrogen/generated/ios/swift/{Func_void_std__optional_BleRestoredState_.swift → Func_void_std__string_std__vector_double_.swift} +12 -17
- package/nitrogen/generated/ios/swift/{Func_void_NativeCharacteristic.swift → Func_void_std__vector_BLEDevice_.swift} +12 -11
- package/nitrogen/generated/ios/swift/{Func_void_std__vector_NativeDevice_.swift → Func_void_std__vector_std__string_.swift} +12 -11
- package/nitrogen/generated/ios/swift/HybridNativeBleNitroSpec.swift +68 -0
- package/nitrogen/generated/ios/swift/HybridNativeBleNitroSpec_cxx.swift +485 -0
- package/nitrogen/generated/ios/swift/ManufacturerData.swift +47 -0
- package/nitrogen/generated/ios/swift/ManufacturerDataEntry.swift +58 -0
- package/nitrogen/generated/ios/swift/ScanFilter.swift +69 -0
- package/nitrogen/generated/shared/c++/BLEDevice.hpp +90 -0
- package/nitrogen/generated/shared/c++/{State.hpp → BLEState.hpp} +13 -15
- package/nitrogen/generated/shared/c++/HybridNativeBleNitroSpec.cpp +40 -0
- package/nitrogen/generated/shared/c++/HybridNativeBleNitroSpec.hpp +93 -0
- package/nitrogen/generated/shared/c++/ManufacturerData.hpp +69 -0
- package/nitrogen/generated/shared/c++/{ServiceDataEntry.hpp → ManufacturerDataEntry.hpp} +19 -20
- package/nitrogen/generated/shared/c++/ScanFilter.hpp +76 -0
- package/package.json +9 -11
- package/react-native.config.js +2 -7
- package/src/__tests__/index.test.ts +188 -0
- package/src/index.ts +604 -45
- package/src/specs/NativeBleNitro.nitro.ts +84 -0
- package/src/specs/NativeBleNitro.ts +8 -0
- package/android/build.gradle +0 -58
- package/android/src/main/AndroidManifest.xml +0 -23
- package/android/src/main/kotlin/com/margelo/nitro/co/zyke/ble/BleNitroBleManager.kt +0 -760
- package/ios/BleNitro.podspec +0 -44
- package/ios/BleNitroModule.swift +0 -24
- package/lib/BleManagerCompatFactory.d.ts +0 -55
- package/lib/BleManagerCompatFactory.js +0 -194
- package/lib/BleManagerFactory.d.ts +0 -30
- package/lib/BleManagerFactory.js +0 -73
- package/lib/commonjs/BleManagerCompatFactory.d.ts +0 -56
- package/lib/commonjs/BleManagerCompatFactory.d.ts.map +0 -1
- package/lib/commonjs/BleManagerCompatFactory.js +0 -201
- package/lib/commonjs/BleManagerCompatFactory.js.map +0 -1
- package/lib/commonjs/BleManagerFactory.d.ts +0 -31
- package/lib/commonjs/BleManagerFactory.d.ts.map +0 -1
- package/lib/commonjs/BleManagerFactory.js +0 -81
- package/lib/commonjs/BleManagerFactory.js.map +0 -1
- package/lib/commonjs/compatibility/constants.d.ts +0 -50
- package/lib/commonjs/compatibility/constants.d.ts.map +0 -1
- package/lib/commonjs/compatibility/constants.js +0 -58
- package/lib/commonjs/compatibility/constants.js.map +0 -1
- package/lib/commonjs/compatibility/deviceWrapper.d.ts +0 -100
- package/lib/commonjs/compatibility/deviceWrapper.d.ts.map +0 -1
- package/lib/commonjs/compatibility/deviceWrapper.js +0 -268
- package/lib/commonjs/compatibility/deviceWrapper.js.map +0 -1
- package/lib/commonjs/compatibility/enums.d.ts +0 -39
- package/lib/commonjs/compatibility/enums.d.ts.map +0 -1
- package/lib/commonjs/compatibility/enums.js +0 -179
- package/lib/commonjs/compatibility/enums.js.map +0 -1
- package/lib/commonjs/compatibility/index.d.ts +0 -13
- package/lib/commonjs/compatibility/index.d.ts.map +0 -1
- package/lib/commonjs/compatibility/index.js +0 -41
- package/lib/commonjs/compatibility/index.js.map +0 -1
- package/lib/commonjs/compatibility/serviceData.d.ts +0 -52
- package/lib/commonjs/compatibility/serviceData.d.ts.map +0 -1
- package/lib/commonjs/compatibility/serviceData.js +0 -80
- package/lib/commonjs/compatibility/serviceData.js.map +0 -1
- package/lib/commonjs/errors/BleError.d.ts +0 -60
- package/lib/commonjs/errors/BleError.d.ts.map +0 -1
- package/lib/commonjs/errors/BleError.js +0 -125
- package/lib/commonjs/errors/BleError.js.map +0 -1
- package/lib/commonjs/specs/BleManager.nitro.d.ts +0 -45
- package/lib/commonjs/specs/BleManager.nitro.d.ts.map +0 -1
- package/lib/commonjs/specs/BleManager.nitro.js +0 -3
- package/lib/commonjs/specs/BleManager.nitro.js.map +0 -1
- package/lib/commonjs/specs/Characteristic.nitro.d.ts +0 -27
- package/lib/commonjs/specs/Characteristic.nitro.d.ts.map +0 -1
- package/lib/commonjs/specs/Characteristic.nitro.js +0 -3
- package/lib/commonjs/specs/Characteristic.nitro.js.map +0 -1
- package/lib/commonjs/specs/Descriptor.nitro.d.ts +0 -18
- package/lib/commonjs/specs/Descriptor.nitro.d.ts.map +0 -1
- package/lib/commonjs/specs/Descriptor.nitro.js +0 -3
- package/lib/commonjs/specs/Descriptor.nitro.js.map +0 -1
- package/lib/commonjs/specs/Device.nitro.d.ts +0 -38
- package/lib/commonjs/specs/Device.nitro.d.ts.map +0 -1
- package/lib/commonjs/specs/Device.nitro.js +0 -3
- package/lib/commonjs/specs/Device.nitro.js.map +0 -1
- package/lib/commonjs/specs/Service.nitro.d.ts +0 -20
- package/lib/commonjs/specs/Service.nitro.d.ts.map +0 -1
- package/lib/commonjs/specs/Service.nitro.js +0 -3
- package/lib/commonjs/specs/Service.nitro.js.map +0 -1
- package/lib/commonjs/specs/types.d.ts +0 -229
- package/lib/commonjs/specs/types.d.ts.map +0 -1
- package/lib/commonjs/specs/types.js +0 -150
- package/lib/commonjs/specs/types.js.map +0 -1
- package/lib/commonjs/utils/base64.d.ts +0 -26
- package/lib/commonjs/utils/base64.d.ts.map +0 -1
- package/lib/commonjs/utils/base64.js +0 -88
- package/lib/commonjs/utils/base64.js.map +0 -1
- package/lib/commonjs/utils/index.d.ts +0 -3
- package/lib/commonjs/utils/index.d.ts.map +0 -1
- package/lib/commonjs/utils/index.js.map +0 -1
- package/lib/commonjs/utils/uuid.d.ts +0 -10
- package/lib/commonjs/utils/uuid.d.ts.map +0 -1
- package/lib/commonjs/utils/uuid.js +0 -41
- package/lib/commonjs/utils/uuid.js.map +0 -1
- package/lib/compatibility/constants.d.ts +0 -49
- package/lib/compatibility/constants.js +0 -50
- package/lib/compatibility/deviceWrapper.d.ts +0 -99
- package/lib/compatibility/deviceWrapper.js +0 -259
- package/lib/compatibility/enums.d.ts +0 -38
- package/lib/compatibility/enums.js +0 -159
- package/lib/compatibility/index.d.ts +0 -12
- package/lib/compatibility/index.js +0 -12
- package/lib/compatibility/serviceData.d.ts +0 -51
- package/lib/compatibility/serviceData.js +0 -70
- package/lib/errors/BleError.d.ts +0 -59
- package/lib/errors/BleError.js +0 -120
- package/lib/specs/BleManager.nitro.d.ts +0 -44
- package/lib/specs/BleManager.nitro.js +0 -1
- package/lib/specs/Characteristic.nitro.d.ts +0 -26
- package/lib/specs/Characteristic.nitro.js +0 -1
- package/lib/specs/Descriptor.nitro.d.ts +0 -17
- package/lib/specs/Descriptor.nitro.js +0 -1
- package/lib/specs/Device.nitro.d.ts +0 -37
- package/lib/specs/Device.nitro.js +0 -1
- package/lib/specs/Service.nitro.d.ts +0 -19
- package/lib/specs/Service.nitro.js +0 -1
- package/lib/specs/types.d.ts +0 -228
- package/lib/specs/types.js +0 -146
- package/lib/utils/base64.d.ts +0 -25
- package/lib/utils/base64.js +0 -80
- package/lib/utils/index.d.ts +0 -2
- package/lib/utils/index.js +0 -2
- package/lib/utils/uuid.d.ts +0 -9
- package/lib/utils/uuid.js +0 -37
- package/nitrogen/generated/android/c++/JBleATTErrorCode.hpp +0 -107
- package/nitrogen/generated/android/c++/JBleAndroidErrorCode.hpp +0 -101
- package/nitrogen/generated/android/c++/JBleErrorCode.hpp +0 -170
- package/nitrogen/generated/android/c++/JBleIOSErrorCode.hpp +0 -92
- package/nitrogen/generated/android/c++/JBleManagerNitroOptions.hpp +0 -54
- package/nitrogen/generated/android/c++/JBleRestoredState.hpp +0 -76
- package/nitrogen/generated/android/c++/JCharacteristicSubscriptionType.hpp +0 -59
- package/nitrogen/generated/android/c++/JConnectionOptions.hpp +0 -61
- package/nitrogen/generated/android/c++/JConnectionPriority.hpp +0 -62
- package/nitrogen/generated/android/c++/JFunc_void.hpp +0 -74
- package/nitrogen/generated/android/c++/JFunc_void_State.hpp +0 -76
- package/nitrogen/generated/android/c++/JFunc_void_std__optional_NativeBleError__std__optional_NativeCharacteristic_.hpp +0 -88
- package/nitrogen/generated/android/c++/JFunc_void_std__optional_NativeBleError__std__optional_NativeDevice_.hpp +0 -91
- package/nitrogen/generated/android/c++/JHybridBleManagerSpec.cpp +0 -653
- package/nitrogen/generated/android/c++/JHybridBleManagerSpec.hpp +0 -92
- package/nitrogen/generated/android/c++/JHybridCharacteristicSpec.cpp +0 -253
- package/nitrogen/generated/android/c++/JHybridCharacteristicSpec.hpp +0 -79
- package/nitrogen/generated/android/c++/JHybridDescriptorSpec.cpp +0 -115
- package/nitrogen/generated/android/c++/JHybridDescriptorSpec.hpp +0 -70
- package/nitrogen/generated/android/c++/JHybridDeviceSpec.cpp +0 -476
- package/nitrogen/generated/android/c++/JHybridDeviceSpec.hpp +0 -90
- package/nitrogen/generated/android/c++/JHybridServiceSpec.cpp +0 -232
- package/nitrogen/generated/android/c++/JHybridServiceSpec.hpp +0 -72
- package/nitrogen/generated/android/c++/JLogLevel.hpp +0 -71
- package/nitrogen/generated/android/c++/JNativeBleError.hpp +0 -98
- package/nitrogen/generated/android/c++/JNativeCharacteristic.hpp +0 -98
- package/nitrogen/generated/android/c++/JNativeDescriptor.hpp +0 -82
- package/nitrogen/generated/android/c++/JNativeDevice.hpp +0 -173
- package/nitrogen/generated/android/c++/JNativeService.hpp +0 -65
- package/nitrogen/generated/android/c++/JScanCallbackType.hpp +0 -62
- package/nitrogen/generated/android/c++/JScanMode.hpp +0 -65
- package/nitrogen/generated/android/c++/JScanOptions.hpp +0 -69
- package/nitrogen/generated/android/c++/JServiceDataEntry.hpp +0 -57
- package/nitrogen/generated/android/c++/JSubscription.hpp +0 -64
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BleATTErrorCode.kt +0 -41
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BleAndroidErrorCode.kt +0 -39
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BleErrorCode.kt +0 -62
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BleIOSErrorCode.kt +0 -36
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BleManagerNitroOptions.kt +0 -26
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BleRestoredState.kt +0 -26
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/CharacteristicSubscriptionType.kt +0 -25
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/ConnectionPriority.kt +0 -26
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/HybridBleManagerSpec.kt +0 -192
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/HybridCharacteristicSpec.kt +0 -127
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/HybridDescriptorSpec.kt +0 -86
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/HybridDeviceSpec.kt +0 -176
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/HybridServiceSpec.kt +0 -99
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/NativeBleError.kt +0 -35
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/NativeCharacteristic.kt +0 -37
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/NativeDescriptor.kt +0 -33
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/NativeDevice.kt +0 -38
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/ScanCallbackType.kt +0 -26
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/ScanMode.kt +0 -27
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/ScanOptions.kt +0 -29
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/State.kt +0 -29
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Subscription.kt +0 -30
- package/nitrogen/generated/ios/c++/HybridBleManagerSpecSwift.cpp +0 -11
- package/nitrogen/generated/ios/c++/HybridBleManagerSpecSwift.hpp +0 -377
- package/nitrogen/generated/ios/c++/HybridCharacteristicSpecSwift.hpp +0 -192
- package/nitrogen/generated/ios/c++/HybridDescriptorSpecSwift.cpp +0 -11
- package/nitrogen/generated/ios/c++/HybridDescriptorSpecSwift.hpp +0 -112
- package/nitrogen/generated/ios/c++/HybridDeviceSpecSwift.cpp +0 -11
- package/nitrogen/generated/ios/c++/HybridDeviceSpecSwift.hpp +0 -294
- package/nitrogen/generated/ios/c++/HybridServiceSpecSwift.cpp +0 -11
- package/nitrogen/generated/ios/c++/HybridServiceSpecSwift.hpp +0 -170
- package/nitrogen/generated/ios/swift/BleATTErrorCode.swift +0 -104
- package/nitrogen/generated/ios/swift/BleAndroidErrorCode.swift +0 -96
- package/nitrogen/generated/ios/swift/BleErrorCode.swift +0 -188
- package/nitrogen/generated/ios/swift/BleIOSErrorCode.swift +0 -84
- package/nitrogen/generated/ios/swift/BleManagerNitroOptions.swift +0 -53
- package/nitrogen/generated/ios/swift/BleRestoredState.swift +0 -47
- package/nitrogen/generated/ios/swift/CharacteristicSubscriptionType.swift +0 -40
- package/nitrogen/generated/ios/swift/ConnectionOptions.swift +0 -57
- package/nitrogen/generated/ios/swift/ConnectionPriority.swift +0 -44
- package/nitrogen/generated/ios/swift/Func_void_std__optional_NativeBleError__std__optional_NativeCharacteristic_.swift +0 -58
- package/nitrogen/generated/ios/swift/Func_void_std__optional_NativeBleError__std__optional_NativeDevice_.swift +0 -58
- package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_margelo__nitro__co__zyke__ble__HybridCharacteristicSpec_.swift +0 -50
- package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_margelo__nitro__co__zyke__ble__HybridDescriptorSpec_.swift +0 -50
- package/nitrogen/generated/ios/swift/Func_void_std__vector_NativeDescriptor_.swift +0 -46
- package/nitrogen/generated/ios/swift/Func_void_std__vector_NativeService_.swift +0 -46
- package/nitrogen/generated/ios/swift/HybridBleManagerSpec.swift +0 -78
- package/nitrogen/generated/ios/swift/HybridBleManagerSpec_cxx.swift +0 -852
- package/nitrogen/generated/ios/swift/HybridCharacteristicSpec.swift +0 -65
- package/nitrogen/generated/ios/swift/HybridCharacteristicSpec_cxx.swift +0 -384
- package/nitrogen/generated/ios/swift/HybridDescriptorSpec.swift +0 -56
- package/nitrogen/generated/ios/swift/HybridDescriptorSpec_cxx.swift +0 -218
- package/nitrogen/generated/ios/swift/HybridDeviceSpec.swift +0 -76
- package/nitrogen/generated/ios/swift/HybridDeviceSpec_cxx.swift +0 -702
- package/nitrogen/generated/ios/swift/HybridServiceSpec.swift +0 -58
- package/nitrogen/generated/ios/swift/HybridServiceSpec_cxx.swift +0 -338
- package/nitrogen/generated/ios/swift/LogLevel.swift +0 -56
- package/nitrogen/generated/ios/swift/NativeBleError.swift +0 -278
- package/nitrogen/generated/ios/swift/NativeCharacteristic.swift +0 -174
- package/nitrogen/generated/ios/swift/NativeDescriptor.swift +0 -130
- package/nitrogen/generated/ios/swift/NativeDevice.swift +0 -377
- package/nitrogen/generated/ios/swift/NativeService.swift +0 -68
- package/nitrogen/generated/ios/swift/ScanCallbackType.swift +0 -44
- package/nitrogen/generated/ios/swift/ScanMode.swift +0 -48
- package/nitrogen/generated/ios/swift/ScanOptions.swift +0 -116
- package/nitrogen/generated/ios/swift/ServiceDataEntry.swift +0 -46
- package/nitrogen/generated/ios/swift/Subscription.swift +0 -46
- package/nitrogen/generated/shared/c++/BleATTErrorCode.hpp +0 -80
- package/nitrogen/generated/shared/c++/BleAndroidErrorCode.hpp +0 -78
- package/nitrogen/generated/shared/c++/BleErrorCode.hpp +0 -101
- package/nitrogen/generated/shared/c++/BleIOSErrorCode.hpp +0 -75
- package/nitrogen/generated/shared/c++/BleManagerNitroOptions.hpp +0 -70
- package/nitrogen/generated/shared/c++/BleRestoredState.hpp +0 -71
- package/nitrogen/generated/shared/c++/CharacteristicSubscriptionType.hpp +0 -64
- package/nitrogen/generated/shared/c++/ConnectionOptions.hpp +0 -77
- package/nitrogen/generated/shared/c++/ConnectionPriority.hpp +0 -65
- package/nitrogen/generated/shared/c++/HybridBleManagerSpec.cpp +0 -51
- package/nitrogen/generated/shared/c++/HybridBleManagerSpec.hpp +0 -137
- package/nitrogen/generated/shared/c++/HybridCharacteristicSpec.cpp +0 -39
- package/nitrogen/generated/shared/c++/HybridCharacteristicSpec.hpp +0 -101
- package/nitrogen/generated/shared/c++/HybridDescriptorSpec.cpp +0 -30
- package/nitrogen/generated/shared/c++/HybridDescriptorSpec.hpp +0 -75
- package/nitrogen/generated/shared/c++/HybridDeviceSpec.cpp +0 -50
- package/nitrogen/generated/shared/c++/HybridDeviceSpec.hpp +0 -123
- package/nitrogen/generated/shared/c++/HybridServiceSpec.cpp +0 -32
- package/nitrogen/generated/shared/c++/HybridServiceSpec.hpp +0 -90
- package/nitrogen/generated/shared/c++/LogLevel.hpp +0 -68
- package/nitrogen/generated/shared/c++/NativeBleError.hpp +0 -117
- package/nitrogen/generated/shared/c++/NativeCharacteristic.hpp +0 -114
- package/nitrogen/generated/shared/c++/NativeDescriptor.hpp +0 -98
- package/nitrogen/generated/shared/c++/NativeDevice.hpp +0 -121
- package/nitrogen/generated/shared/c++/NativeService.hpp +0 -81
- package/nitrogen/generated/shared/c++/ScanCallbackType.hpp +0 -65
- package/nitrogen/generated/shared/c++/ScanMode.hpp +0 -66
- package/nitrogen/generated/shared/c++/ScanOptions.hpp +0 -86
- package/nitrogen/generated/shared/c++/Subscription.hpp +0 -69
- package/src/BleManagerCompatFactory.ts +0 -371
- package/src/BleManagerFactory.ts +0 -93
- package/src/__tests__/BleManager.test.ts +0 -327
- package/src/__tests__/compatibility/deviceWrapper.test.ts +0 -563
- package/src/__tests__/compatibility/enums.test.ts +0 -264
- package/src/compatibility/constants.ts +0 -71
- package/src/compatibility/deviceWrapper.ts +0 -427
- package/src/compatibility/enums.ts +0 -190
- package/src/compatibility/index.ts +0 -32
- package/src/compatibility/serviceData.ts +0 -85
- package/src/errors/BleError.ts +0 -193
- package/src/specs/BleManager.nitro.ts +0 -165
- package/src/specs/Characteristic.nitro.ts +0 -61
- package/src/specs/Descriptor.nitro.ts +0 -28
- package/src/specs/Device.nitro.ts +0 -104
- package/src/specs/Service.nitro.ts +0 -64
- package/src/specs/types.ts +0 -259
- package/src/utils/base64.ts +0 -80
- package/src/utils/index.ts +0 -2
- package/src/utils/uuid.ts +0 -45
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { HybridObject } from 'react-native-nitro-modules';
|
|
2
|
+
export declare enum BLEState {
|
|
3
|
+
Unknown = 0,
|
|
4
|
+
Resetting = 1,
|
|
5
|
+
Unsupported = 2,
|
|
6
|
+
Unauthorized = 3,
|
|
7
|
+
PoweredOff = 4,
|
|
8
|
+
PoweredOn = 5
|
|
9
|
+
}
|
|
10
|
+
export interface ManufacturerDataEntry {
|
|
11
|
+
id: string;
|
|
12
|
+
data: number[];
|
|
13
|
+
}
|
|
14
|
+
export interface ManufacturerData {
|
|
15
|
+
companyIdentifiers: ManufacturerDataEntry[];
|
|
16
|
+
}
|
|
17
|
+
export interface BLEDevice {
|
|
18
|
+
id: string;
|
|
19
|
+
name: string;
|
|
20
|
+
rssi: number;
|
|
21
|
+
manufacturerData: ManufacturerData;
|
|
22
|
+
serviceUUIDs: string[];
|
|
23
|
+
isConnectable: boolean;
|
|
24
|
+
}
|
|
25
|
+
export interface ScanFilter {
|
|
26
|
+
serviceUUIDs: string[];
|
|
27
|
+
rssiThreshold: number;
|
|
28
|
+
allowDuplicates: boolean;
|
|
29
|
+
}
|
|
30
|
+
export type ScanCallback = (device: BLEDevice) => void;
|
|
31
|
+
export type DevicesCallback = (devices: BLEDevice[]) => void;
|
|
32
|
+
export type ConnectionCallback = (success: boolean, deviceId: string, error: string) => void;
|
|
33
|
+
export type DisconnectionEventCallback = (deviceId: string, interrupted: boolean, error: string) => void;
|
|
34
|
+
export type OperationCallback = (success: boolean, error: string) => void;
|
|
35
|
+
export type CharacteristicCallback = (characteristicId: string, data: number[]) => void;
|
|
36
|
+
export type StateCallback = (state: BLEState) => void;
|
|
37
|
+
export type BooleanCallback = (result: boolean) => void;
|
|
38
|
+
export type StringArrayCallback = (result: string[]) => void;
|
|
39
|
+
export type ReadCharacteristicCallback = (success: boolean, data: number[], error: string) => void;
|
|
40
|
+
/**
|
|
41
|
+
* Native BLE Nitro Module Specification
|
|
42
|
+
* Defines the interface between TypeScript and native implementations
|
|
43
|
+
*/
|
|
44
|
+
export interface NativeBleNitro extends HybridObject<{
|
|
45
|
+
ios: 'swift';
|
|
46
|
+
android: 'kotlin';
|
|
47
|
+
}> {
|
|
48
|
+
startScan(filter: ScanFilter, callback: ScanCallback): void;
|
|
49
|
+
stopScan(callback: OperationCallback): void;
|
|
50
|
+
isScanning(callback: BooleanCallback): void;
|
|
51
|
+
getConnectedDevices(callback: DevicesCallback): void;
|
|
52
|
+
connect(deviceId: string, callback: ConnectionCallback, disconnectCallback?: DisconnectionEventCallback): void;
|
|
53
|
+
disconnect(deviceId: string, callback: OperationCallback): void;
|
|
54
|
+
isConnected(deviceId: string, callback: BooleanCallback): void;
|
|
55
|
+
discoverServices(deviceId: string, callback: OperationCallback): void;
|
|
56
|
+
getServices(deviceId: string, callback: StringArrayCallback): void;
|
|
57
|
+
getCharacteristics(deviceId: string, serviceId: string, callback: StringArrayCallback): void;
|
|
58
|
+
readCharacteristic(deviceId: string, serviceId: string, characteristicId: string, callback: ReadCharacteristicCallback): void;
|
|
59
|
+
writeCharacteristic(deviceId: string, serviceId: string, characteristicId: string, data: number[], withResponse: boolean, callback: OperationCallback): void;
|
|
60
|
+
subscribeToCharacteristic(deviceId: string, serviceId: string, characteristicId: string, updateCallback: CharacteristicCallback, resultCallback: OperationCallback): void;
|
|
61
|
+
unsubscribeFromCharacteristic(deviceId: string, serviceId: string, characteristicId: string, callback: OperationCallback): void;
|
|
62
|
+
isBluetoothEnabled(callback: BooleanCallback): void;
|
|
63
|
+
requestBluetoothEnable(callback: OperationCallback): void;
|
|
64
|
+
state(callback: StateCallback): void;
|
|
65
|
+
subscribeToStateChange(stateCallback: StateCallback, resultCallback: OperationCallback): void;
|
|
66
|
+
unsubscribeFromStateChange(resultCallback: OperationCallback): void;
|
|
67
|
+
openSettings(): Promise<void>;
|
|
68
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// Nitro constraint: Use numeric enums instead of string unions
|
|
2
|
+
export var BLEState;
|
|
3
|
+
(function (BLEState) {
|
|
4
|
+
BLEState[BLEState["Unknown"] = 0] = "Unknown";
|
|
5
|
+
BLEState[BLEState["Resetting"] = 1] = "Resetting";
|
|
6
|
+
BLEState[BLEState["Unsupported"] = 2] = "Unsupported";
|
|
7
|
+
BLEState[BLEState["Unauthorized"] = 3] = "Unauthorized";
|
|
8
|
+
BLEState[BLEState["PoweredOff"] = 4] = "PoweredOff";
|
|
9
|
+
BLEState[BLEState["PoweredOn"] = 5] = "PoweredOn";
|
|
10
|
+
})(BLEState || (BLEState = {}));
|
package/nitro.json
CHANGED
|
@@ -27,17 +27,9 @@ target_sources(
|
|
|
27
27
|
# Autolinking Setup
|
|
28
28
|
../nitrogen/generated/android/BleNitroOnLoad.cpp
|
|
29
29
|
# Shared Nitrogen C++ sources
|
|
30
|
-
../nitrogen/generated/shared/c++/
|
|
31
|
-
../nitrogen/generated/shared/c++/HybridCharacteristicSpec.cpp
|
|
32
|
-
../nitrogen/generated/shared/c++/HybridDescriptorSpec.cpp
|
|
33
|
-
../nitrogen/generated/shared/c++/HybridDeviceSpec.cpp
|
|
34
|
-
../nitrogen/generated/shared/c++/HybridServiceSpec.cpp
|
|
30
|
+
../nitrogen/generated/shared/c++/HybridNativeBleNitroSpec.cpp
|
|
35
31
|
# Android-specific Nitrogen C++ sources
|
|
36
|
-
../nitrogen/generated/android/c++/
|
|
37
|
-
../nitrogen/generated/android/c++/JHybridCharacteristicSpec.cpp
|
|
38
|
-
../nitrogen/generated/android/c++/JHybridDescriptorSpec.cpp
|
|
39
|
-
../nitrogen/generated/android/c++/JHybridDeviceSpec.cpp
|
|
40
|
-
../nitrogen/generated/android/c++/JHybridServiceSpec.cpp
|
|
32
|
+
../nitrogen/generated/android/c++/JHybridNativeBleNitroSpec.cpp
|
|
41
33
|
)
|
|
42
34
|
|
|
43
35
|
# Define a flag to check if we are building properly
|
|
@@ -15,16 +15,17 @@
|
|
|
15
15
|
#include <fbjni/fbjni.h>
|
|
16
16
|
#include <NitroModules/HybridObjectRegistry.hpp>
|
|
17
17
|
|
|
18
|
-
#include "
|
|
19
|
-
#include "
|
|
20
|
-
#include "
|
|
21
|
-
#include "
|
|
22
|
-
#include "
|
|
23
|
-
#include "
|
|
24
|
-
#include "
|
|
25
|
-
#include "
|
|
26
|
-
#include "
|
|
27
|
-
#include
|
|
18
|
+
#include "JHybridNativeBleNitroSpec.hpp"
|
|
19
|
+
#include "JFunc_void_BLEDevice.hpp"
|
|
20
|
+
#include "JFunc_void_bool_std__string.hpp"
|
|
21
|
+
#include "JFunc_void_bool.hpp"
|
|
22
|
+
#include "JFunc_void_std__vector_BLEDevice_.hpp"
|
|
23
|
+
#include "JFunc_void_bool_std__string_std__string.hpp"
|
|
24
|
+
#include "JFunc_void_std__string_bool_std__string.hpp"
|
|
25
|
+
#include "JFunc_void_std__vector_std__string_.hpp"
|
|
26
|
+
#include "JFunc_void_bool_std__vector_double__std__string.hpp"
|
|
27
|
+
#include "JFunc_void_std__string_std__vector_double_.hpp"
|
|
28
|
+
#include "JFunc_void_BLEState.hpp"
|
|
28
29
|
#include <NitroModules/DefaultConstructableObject.hpp>
|
|
29
30
|
|
|
30
31
|
namespace margelo::nitro::co::zyke::ble {
|
|
@@ -36,24 +37,26 @@ int initialize(JavaVM* vm) {
|
|
|
36
37
|
|
|
37
38
|
return facebook::jni::initialize(vm, [] {
|
|
38
39
|
// Register native JNI methods
|
|
39
|
-
margelo::nitro::co::zyke::ble::
|
|
40
|
-
margelo::nitro::co::zyke::ble::
|
|
41
|
-
margelo::nitro::co::zyke::ble::
|
|
42
|
-
margelo::nitro::co::zyke::ble::
|
|
43
|
-
margelo::nitro::co::zyke::ble::
|
|
44
|
-
margelo::nitro::co::zyke::ble::
|
|
45
|
-
margelo::nitro::co::zyke::ble::
|
|
46
|
-
margelo::nitro::co::zyke::ble::
|
|
47
|
-
margelo::nitro::co::zyke::ble::
|
|
40
|
+
margelo::nitro::co::zyke::ble::JHybridNativeBleNitroSpec::registerNatives();
|
|
41
|
+
margelo::nitro::co::zyke::ble::JFunc_void_BLEDevice_cxx::registerNatives();
|
|
42
|
+
margelo::nitro::co::zyke::ble::JFunc_void_bool_std__string_cxx::registerNatives();
|
|
43
|
+
margelo::nitro::co::zyke::ble::JFunc_void_bool_cxx::registerNatives();
|
|
44
|
+
margelo::nitro::co::zyke::ble::JFunc_void_std__vector_BLEDevice__cxx::registerNatives();
|
|
45
|
+
margelo::nitro::co::zyke::ble::JFunc_void_bool_std__string_std__string_cxx::registerNatives();
|
|
46
|
+
margelo::nitro::co::zyke::ble::JFunc_void_std__string_bool_std__string_cxx::registerNatives();
|
|
47
|
+
margelo::nitro::co::zyke::ble::JFunc_void_std__vector_std__string__cxx::registerNatives();
|
|
48
|
+
margelo::nitro::co::zyke::ble::JFunc_void_bool_std__vector_double__std__string_cxx::registerNatives();
|
|
49
|
+
margelo::nitro::co::zyke::ble::JFunc_void_std__string_std__vector_double__cxx::registerNatives();
|
|
50
|
+
margelo::nitro::co::zyke::ble::JFunc_void_BLEState_cxx::registerNatives();
|
|
48
51
|
|
|
49
52
|
// Register Nitro Hybrid Objects
|
|
50
53
|
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
51
|
-
"
|
|
54
|
+
"NativeBleNitro",
|
|
52
55
|
[]() -> std::shared_ptr<HybridObject> {
|
|
53
|
-
static DefaultConstructableObject<
|
|
56
|
+
static DefaultConstructableObject<JHybridNativeBleNitroSpec::javaobject> object("com/margelo/nitro/co/zyke/ble/BleNitroBleManager");
|
|
54
57
|
auto instance = object.create();
|
|
55
58
|
auto globalRef = jni::make_global(instance);
|
|
56
|
-
return
|
|
59
|
+
return globalRef->cthis()->shared();
|
|
57
60
|
}
|
|
58
61
|
);
|
|
59
62
|
});
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JBLEDevice.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "BLEDevice.hpp"
|
|
12
|
+
|
|
13
|
+
#include "JManufacturerData.hpp"
|
|
14
|
+
#include "JManufacturerDataEntry.hpp"
|
|
15
|
+
#include "ManufacturerData.hpp"
|
|
16
|
+
#include "ManufacturerDataEntry.hpp"
|
|
17
|
+
#include <string>
|
|
18
|
+
#include <vector>
|
|
19
|
+
|
|
20
|
+
namespace margelo::nitro::co::zyke::ble {
|
|
21
|
+
|
|
22
|
+
using namespace facebook;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* The C++ JNI bridge between the C++ struct "BLEDevice" and the the Kotlin data class "BLEDevice".
|
|
26
|
+
*/
|
|
27
|
+
struct JBLEDevice final: public jni::JavaClass<JBLEDevice> {
|
|
28
|
+
public:
|
|
29
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/co/zyke/ble/BLEDevice;";
|
|
30
|
+
|
|
31
|
+
public:
|
|
32
|
+
/**
|
|
33
|
+
* Convert this Java/Kotlin-based struct to the C++ struct BLEDevice by copying all values to C++.
|
|
34
|
+
*/
|
|
35
|
+
[[maybe_unused]]
|
|
36
|
+
[[nodiscard]]
|
|
37
|
+
BLEDevice toCpp() const {
|
|
38
|
+
static const auto clazz = javaClassStatic();
|
|
39
|
+
static const auto fieldId = clazz->getField<jni::JString>("id");
|
|
40
|
+
jni::local_ref<jni::JString> id = this->getFieldValue(fieldId);
|
|
41
|
+
static const auto fieldName = clazz->getField<jni::JString>("name");
|
|
42
|
+
jni::local_ref<jni::JString> name = this->getFieldValue(fieldName);
|
|
43
|
+
static const auto fieldRssi = clazz->getField<double>("rssi");
|
|
44
|
+
double rssi = this->getFieldValue(fieldRssi);
|
|
45
|
+
static const auto fieldManufacturerData = clazz->getField<JManufacturerData>("manufacturerData");
|
|
46
|
+
jni::local_ref<JManufacturerData> manufacturerData = this->getFieldValue(fieldManufacturerData);
|
|
47
|
+
static const auto fieldServiceUUIDs = clazz->getField<jni::JArrayClass<jni::JString>>("serviceUUIDs");
|
|
48
|
+
jni::local_ref<jni::JArrayClass<jni::JString>> serviceUUIDs = this->getFieldValue(fieldServiceUUIDs);
|
|
49
|
+
static const auto fieldIsConnectable = clazz->getField<jboolean>("isConnectable");
|
|
50
|
+
jboolean isConnectable = this->getFieldValue(fieldIsConnectable);
|
|
51
|
+
return BLEDevice(
|
|
52
|
+
id->toStdString(),
|
|
53
|
+
name->toStdString(),
|
|
54
|
+
rssi,
|
|
55
|
+
manufacturerData->toCpp(),
|
|
56
|
+
[&]() {
|
|
57
|
+
size_t __size = serviceUUIDs->size();
|
|
58
|
+
std::vector<std::string> __vector;
|
|
59
|
+
__vector.reserve(__size);
|
|
60
|
+
for (size_t __i = 0; __i < __size; __i++) {
|
|
61
|
+
auto __element = serviceUUIDs->getElement(__i);
|
|
62
|
+
__vector.push_back(__element->toStdString());
|
|
63
|
+
}
|
|
64
|
+
return __vector;
|
|
65
|
+
}(),
|
|
66
|
+
static_cast<bool>(isConnectable)
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
public:
|
|
71
|
+
/**
|
|
72
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
73
|
+
*/
|
|
74
|
+
[[maybe_unused]]
|
|
75
|
+
static jni::local_ref<JBLEDevice::javaobject> fromCpp(const BLEDevice& value) {
|
|
76
|
+
return newInstance(
|
|
77
|
+
jni::make_jstring(value.id),
|
|
78
|
+
jni::make_jstring(value.name),
|
|
79
|
+
value.rssi,
|
|
80
|
+
JManufacturerData::fromCpp(value.manufacturerData),
|
|
81
|
+
[&]() {
|
|
82
|
+
size_t __size = value.serviceUUIDs.size();
|
|
83
|
+
jni::local_ref<jni::JArrayClass<jni::JString>> __array = jni::JArrayClass<jni::JString>::newArray(__size);
|
|
84
|
+
for (size_t __i = 0; __i < __size; __i++) {
|
|
85
|
+
const auto& __element = value.serviceUUIDs[__i];
|
|
86
|
+
__array->setElement(__i, *jni::make_jstring(__element));
|
|
87
|
+
}
|
|
88
|
+
return __array;
|
|
89
|
+
}(),
|
|
90
|
+
value.isConnectable
|
|
91
|
+
);
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
} // namespace margelo::nitro::co::zyke::ble
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
///
|
|
2
|
-
///
|
|
2
|
+
/// JBLEState.hpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
5
|
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
@@ -8,30 +8,30 @@
|
|
|
8
8
|
#pragma once
|
|
9
9
|
|
|
10
10
|
#include <fbjni/fbjni.h>
|
|
11
|
-
#include "
|
|
11
|
+
#include "BLEState.hpp"
|
|
12
12
|
|
|
13
13
|
namespace margelo::nitro::co::zyke::ble {
|
|
14
14
|
|
|
15
15
|
using namespace facebook;
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
|
-
* The C++ JNI bridge between the C++ enum "
|
|
18
|
+
* The C++ JNI bridge between the C++ enum "BLEState" and the the Kotlin enum "BLEState".
|
|
19
19
|
*/
|
|
20
|
-
struct
|
|
20
|
+
struct JBLEState final: public jni::JavaClass<JBLEState> {
|
|
21
21
|
public:
|
|
22
|
-
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/co/zyke/ble/
|
|
22
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/co/zyke/ble/BLEState;";
|
|
23
23
|
|
|
24
24
|
public:
|
|
25
25
|
/**
|
|
26
|
-
* Convert this Java/Kotlin-based enum to the C++ enum
|
|
26
|
+
* Convert this Java/Kotlin-based enum to the C++ enum BLEState.
|
|
27
27
|
*/
|
|
28
28
|
[[maybe_unused]]
|
|
29
29
|
[[nodiscard]]
|
|
30
|
-
|
|
30
|
+
BLEState toCpp() const {
|
|
31
31
|
static const auto clazz = javaClassStatic();
|
|
32
|
-
static const auto fieldOrdinal = clazz->getField<int>("
|
|
32
|
+
static const auto fieldOrdinal = clazz->getField<int>("value");
|
|
33
33
|
int ordinal = this->getFieldValue(fieldOrdinal);
|
|
34
|
-
return static_cast<
|
|
34
|
+
return static_cast<BLEState>(ordinal);
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
public:
|
|
@@ -39,27 +39,27 @@ namespace margelo::nitro::co::zyke::ble {
|
|
|
39
39
|
* Create a Java/Kotlin-based enum with the given C++ enum's value.
|
|
40
40
|
*/
|
|
41
41
|
[[maybe_unused]]
|
|
42
|
-
static jni::alias_ref<
|
|
42
|
+
static jni::alias_ref<JBLEState> fromCpp(BLEState value) {
|
|
43
43
|
static const auto clazz = javaClassStatic();
|
|
44
|
-
static const auto fieldUNKNOWN = clazz->getStaticField<
|
|
45
|
-
static const auto fieldRESETTING = clazz->getStaticField<
|
|
46
|
-
static const auto fieldUNSUPPORTED = clazz->getStaticField<
|
|
47
|
-
static const auto fieldUNAUTHORIZED = clazz->getStaticField<
|
|
48
|
-
static const auto fieldPOWEREDOFF = clazz->getStaticField<
|
|
49
|
-
static const auto fieldPOWEREDON = clazz->getStaticField<
|
|
44
|
+
static const auto fieldUNKNOWN = clazz->getStaticField<JBLEState>("UNKNOWN");
|
|
45
|
+
static const auto fieldRESETTING = clazz->getStaticField<JBLEState>("RESETTING");
|
|
46
|
+
static const auto fieldUNSUPPORTED = clazz->getStaticField<JBLEState>("UNSUPPORTED");
|
|
47
|
+
static const auto fieldUNAUTHORIZED = clazz->getStaticField<JBLEState>("UNAUTHORIZED");
|
|
48
|
+
static const auto fieldPOWEREDOFF = clazz->getStaticField<JBLEState>("POWEREDOFF");
|
|
49
|
+
static const auto fieldPOWEREDON = clazz->getStaticField<JBLEState>("POWEREDON");
|
|
50
50
|
|
|
51
51
|
switch (value) {
|
|
52
|
-
case
|
|
52
|
+
case BLEState::UNKNOWN:
|
|
53
53
|
return clazz->getStaticFieldValue(fieldUNKNOWN);
|
|
54
|
-
case
|
|
54
|
+
case BLEState::RESETTING:
|
|
55
55
|
return clazz->getStaticFieldValue(fieldRESETTING);
|
|
56
|
-
case
|
|
56
|
+
case BLEState::UNSUPPORTED:
|
|
57
57
|
return clazz->getStaticFieldValue(fieldUNSUPPORTED);
|
|
58
|
-
case
|
|
58
|
+
case BLEState::UNAUTHORIZED:
|
|
59
59
|
return clazz->getStaticFieldValue(fieldUNAUTHORIZED);
|
|
60
|
-
case
|
|
60
|
+
case BLEState::POWEREDOFF:
|
|
61
61
|
return clazz->getStaticFieldValue(fieldPOWEREDOFF);
|
|
62
|
-
case
|
|
62
|
+
case BLEState::POWEREDON:
|
|
63
63
|
return clazz->getStaticFieldValue(fieldPOWEREDON);
|
|
64
64
|
default:
|
|
65
65
|
std::string stringValue = std::to_string(static_cast<int>(value));
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JFunc_void_BLEDevice.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include <functional>
|
|
12
|
+
|
|
13
|
+
#include "BLEDevice.hpp"
|
|
14
|
+
#include <functional>
|
|
15
|
+
#include "JBLEDevice.hpp"
|
|
16
|
+
#include <string>
|
|
17
|
+
#include "ManufacturerData.hpp"
|
|
18
|
+
#include "JManufacturerData.hpp"
|
|
19
|
+
#include "ManufacturerDataEntry.hpp"
|
|
20
|
+
#include <vector>
|
|
21
|
+
#include "JManufacturerDataEntry.hpp"
|
|
22
|
+
|
|
23
|
+
namespace margelo::nitro::co::zyke::ble {
|
|
24
|
+
|
|
25
|
+
using namespace facebook;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Represents the Java/Kotlin callback `(device: BLEDevice) -> Unit`.
|
|
29
|
+
* This can be passed around between C++ and Java/Kotlin.
|
|
30
|
+
*/
|
|
31
|
+
struct JFunc_void_BLEDevice: public jni::JavaClass<JFunc_void_BLEDevice> {
|
|
32
|
+
public:
|
|
33
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/co/zyke/ble/Func_void_BLEDevice;";
|
|
34
|
+
|
|
35
|
+
public:
|
|
36
|
+
/**
|
|
37
|
+
* Invokes the function this `JFunc_void_BLEDevice` instance holds through JNI.
|
|
38
|
+
*/
|
|
39
|
+
void invoke(const BLEDevice& device) const {
|
|
40
|
+
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JBLEDevice> /* device */)>("invoke");
|
|
41
|
+
method(self(), JBLEDevice::fromCpp(device));
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* An implementation of Func_void_BLEDevice that is backed by a C++ implementation (using `std::function<...>`)
|
|
47
|
+
*/
|
|
48
|
+
struct JFunc_void_BLEDevice_cxx final: public jni::HybridClass<JFunc_void_BLEDevice_cxx, JFunc_void_BLEDevice> {
|
|
49
|
+
public:
|
|
50
|
+
static jni::local_ref<JFunc_void_BLEDevice::javaobject> fromCpp(const std::function<void(const BLEDevice& /* device */)>& func) {
|
|
51
|
+
return JFunc_void_BLEDevice_cxx::newObjectCxxArgs(func);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
public:
|
|
55
|
+
/**
|
|
56
|
+
* Invokes the C++ `std::function<...>` this `JFunc_void_BLEDevice_cxx` instance holds.
|
|
57
|
+
*/
|
|
58
|
+
void invoke_cxx(jni::alias_ref<JBLEDevice> device) {
|
|
59
|
+
_func(device->toCpp());
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
public:
|
|
63
|
+
[[nodiscard]]
|
|
64
|
+
inline const std::function<void(const BLEDevice& /* device */)>& getFunction() const {
|
|
65
|
+
return _func;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
public:
|
|
69
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/co/zyke/ble/Func_void_BLEDevice_cxx;";
|
|
70
|
+
static void registerNatives() {
|
|
71
|
+
registerHybrid({makeNativeMethod("invoke_cxx", JFunc_void_BLEDevice_cxx::invoke_cxx)});
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
private:
|
|
75
|
+
explicit JFunc_void_BLEDevice_cxx(const std::function<void(const BLEDevice& /* device */)>& func): _func(func) { }
|
|
76
|
+
|
|
77
|
+
private:
|
|
78
|
+
friend HybridBase;
|
|
79
|
+
std::function<void(const BLEDevice& /* device */)> _func;
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
} // namespace margelo::nitro::co::zyke::ble
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JFunc_void_BLEState.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include <functional>
|
|
12
|
+
|
|
13
|
+
#include "BLEState.hpp"
|
|
14
|
+
#include <functional>
|
|
15
|
+
#include "JBLEState.hpp"
|
|
16
|
+
|
|
17
|
+
namespace margelo::nitro::co::zyke::ble {
|
|
18
|
+
|
|
19
|
+
using namespace facebook;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Represents the Java/Kotlin callback `(state: BLEState) -> Unit`.
|
|
23
|
+
* This can be passed around between C++ and Java/Kotlin.
|
|
24
|
+
*/
|
|
25
|
+
struct JFunc_void_BLEState: public jni::JavaClass<JFunc_void_BLEState> {
|
|
26
|
+
public:
|
|
27
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/co/zyke/ble/Func_void_BLEState;";
|
|
28
|
+
|
|
29
|
+
public:
|
|
30
|
+
/**
|
|
31
|
+
* Invokes the function this `JFunc_void_BLEState` instance holds through JNI.
|
|
32
|
+
*/
|
|
33
|
+
void invoke(BLEState state) const {
|
|
34
|
+
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JBLEState> /* state */)>("invoke");
|
|
35
|
+
method(self(), JBLEState::fromCpp(state));
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* An implementation of Func_void_BLEState that is backed by a C++ implementation (using `std::function<...>`)
|
|
41
|
+
*/
|
|
42
|
+
struct JFunc_void_BLEState_cxx final: public jni::HybridClass<JFunc_void_BLEState_cxx, JFunc_void_BLEState> {
|
|
43
|
+
public:
|
|
44
|
+
static jni::local_ref<JFunc_void_BLEState::javaobject> fromCpp(const std::function<void(BLEState /* state */)>& func) {
|
|
45
|
+
return JFunc_void_BLEState_cxx::newObjectCxxArgs(func);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
public:
|
|
49
|
+
/**
|
|
50
|
+
* Invokes the C++ `std::function<...>` this `JFunc_void_BLEState_cxx` instance holds.
|
|
51
|
+
*/
|
|
52
|
+
void invoke_cxx(jni::alias_ref<JBLEState> state) {
|
|
53
|
+
_func(state->toCpp());
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
public:
|
|
57
|
+
[[nodiscard]]
|
|
58
|
+
inline const std::function<void(BLEState /* state */)>& getFunction() const {
|
|
59
|
+
return _func;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
public:
|
|
63
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/co/zyke/ble/Func_void_BLEState_cxx;";
|
|
64
|
+
static void registerNatives() {
|
|
65
|
+
registerHybrid({makeNativeMethod("invoke_cxx", JFunc_void_BLEState_cxx::invoke_cxx)});
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
private:
|
|
69
|
+
explicit JFunc_void_BLEState_cxx(const std::function<void(BLEState /* state */)>& func): _func(func) { }
|
|
70
|
+
|
|
71
|
+
private:
|
|
72
|
+
friend HybridBase;
|
|
73
|
+
std::function<void(BLEState /* state */)> _func;
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
} // namespace margelo::nitro::co::zyke::ble
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JFunc_void_bool.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include <functional>
|
|
12
|
+
|
|
13
|
+
#include <functional>
|
|
14
|
+
|
|
15
|
+
namespace margelo::nitro::co::zyke::ble {
|
|
16
|
+
|
|
17
|
+
using namespace facebook;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Represents the Java/Kotlin callback `(result: Boolean) -> Unit`.
|
|
21
|
+
* This can be passed around between C++ and Java/Kotlin.
|
|
22
|
+
*/
|
|
23
|
+
struct JFunc_void_bool: public jni::JavaClass<JFunc_void_bool> {
|
|
24
|
+
public:
|
|
25
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/co/zyke/ble/Func_void_bool;";
|
|
26
|
+
|
|
27
|
+
public:
|
|
28
|
+
/**
|
|
29
|
+
* Invokes the function this `JFunc_void_bool` instance holds through JNI.
|
|
30
|
+
*/
|
|
31
|
+
void invoke(bool result) const {
|
|
32
|
+
static const auto method = javaClassStatic()->getMethod<void(jboolean /* result */)>("invoke");
|
|
33
|
+
method(self(), result);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* An implementation of Func_void_bool that is backed by a C++ implementation (using `std::function<...>`)
|
|
39
|
+
*/
|
|
40
|
+
struct JFunc_void_bool_cxx final: public jni::HybridClass<JFunc_void_bool_cxx, JFunc_void_bool> {
|
|
41
|
+
public:
|
|
42
|
+
static jni::local_ref<JFunc_void_bool::javaobject> fromCpp(const std::function<void(bool /* result */)>& func) {
|
|
43
|
+
return JFunc_void_bool_cxx::newObjectCxxArgs(func);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
public:
|
|
47
|
+
/**
|
|
48
|
+
* Invokes the C++ `std::function<...>` this `JFunc_void_bool_cxx` instance holds.
|
|
49
|
+
*/
|
|
50
|
+
void invoke_cxx(jboolean result) {
|
|
51
|
+
_func(static_cast<bool>(result));
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
public:
|
|
55
|
+
[[nodiscard]]
|
|
56
|
+
inline const std::function<void(bool /* result */)>& getFunction() const {
|
|
57
|
+
return _func;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
public:
|
|
61
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/co/zyke/ble/Func_void_bool_cxx;";
|
|
62
|
+
static void registerNatives() {
|
|
63
|
+
registerHybrid({makeNativeMethod("invoke_cxx", JFunc_void_bool_cxx::invoke_cxx)});
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
private:
|
|
67
|
+
explicit JFunc_void_bool_cxx(const std::function<void(bool /* result */)>& func): _func(func) { }
|
|
68
|
+
|
|
69
|
+
private:
|
|
70
|
+
friend HybridBase;
|
|
71
|
+
std::function<void(bool /* result */)> _func;
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
} // namespace margelo::nitro::co::zyke::ble
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JFunc_void_bool_std__string.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include <functional>
|
|
12
|
+
|
|
13
|
+
#include <string>
|
|
14
|
+
#include <functional>
|
|
15
|
+
|
|
16
|
+
namespace margelo::nitro::co::zyke::ble {
|
|
17
|
+
|
|
18
|
+
using namespace facebook;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Represents the Java/Kotlin callback `(success: Boolean, error: String) -> Unit`.
|
|
22
|
+
* This can be passed around between C++ and Java/Kotlin.
|
|
23
|
+
*/
|
|
24
|
+
struct JFunc_void_bool_std__string: public jni::JavaClass<JFunc_void_bool_std__string> {
|
|
25
|
+
public:
|
|
26
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/co/zyke/ble/Func_void_bool_std__string;";
|
|
27
|
+
|
|
28
|
+
public:
|
|
29
|
+
/**
|
|
30
|
+
* Invokes the function this `JFunc_void_bool_std__string` instance holds through JNI.
|
|
31
|
+
*/
|
|
32
|
+
void invoke(bool success, const std::string& error) const {
|
|
33
|
+
static const auto method = javaClassStatic()->getMethod<void(jboolean /* success */, jni::alias_ref<jni::JString> /* error */)>("invoke");
|
|
34
|
+
method(self(), success, jni::make_jstring(error));
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* An implementation of Func_void_bool_std__string that is backed by a C++ implementation (using `std::function<...>`)
|
|
40
|
+
*/
|
|
41
|
+
struct JFunc_void_bool_std__string_cxx final: public jni::HybridClass<JFunc_void_bool_std__string_cxx, JFunc_void_bool_std__string> {
|
|
42
|
+
public:
|
|
43
|
+
static jni::local_ref<JFunc_void_bool_std__string::javaobject> fromCpp(const std::function<void(bool /* success */, const std::string& /* error */)>& func) {
|
|
44
|
+
return JFunc_void_bool_std__string_cxx::newObjectCxxArgs(func);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
public:
|
|
48
|
+
/**
|
|
49
|
+
* Invokes the C++ `std::function<...>` this `JFunc_void_bool_std__string_cxx` instance holds.
|
|
50
|
+
*/
|
|
51
|
+
void invoke_cxx(jboolean success, jni::alias_ref<jni::JString> error) {
|
|
52
|
+
_func(static_cast<bool>(success), error->toStdString());
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
public:
|
|
56
|
+
[[nodiscard]]
|
|
57
|
+
inline const std::function<void(bool /* success */, const std::string& /* error */)>& getFunction() const {
|
|
58
|
+
return _func;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
public:
|
|
62
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/co/zyke/ble/Func_void_bool_std__string_cxx;";
|
|
63
|
+
static void registerNatives() {
|
|
64
|
+
registerHybrid({makeNativeMethod("invoke_cxx", JFunc_void_bool_std__string_cxx::invoke_cxx)});
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
private:
|
|
68
|
+
explicit JFunc_void_bool_std__string_cxx(const std::function<void(bool /* success */, const std::string& /* error */)>& func): _func(func) { }
|
|
69
|
+
|
|
70
|
+
private:
|
|
71
|
+
friend HybridBase;
|
|
72
|
+
std::function<void(bool /* success */, const std::string& /* error */)> _func;
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
} // namespace margelo::nitro::co::zyke::ble
|