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.
Files changed (354) hide show
  1. package/BleNitro.podspec +39 -0
  2. package/LICENSE +1 -1
  3. package/README.md +273 -77
  4. package/ios/BleNitroBleManager.swift +425 -464
  5. package/ios/BlePeripheralDelegate.swift +174 -0
  6. package/lib/commonjs/index.d.ts +174 -10
  7. package/lib/commonjs/index.d.ts.map +1 -1
  8. package/lib/commonjs/index.js +461 -38
  9. package/lib/commonjs/index.js.map +1 -1
  10. package/lib/commonjs/specs/NativeBleNitro.d.ts +5 -0
  11. package/lib/commonjs/specs/NativeBleNitro.d.ts.map +1 -0
  12. package/lib/commonjs/{utils/index.js → specs/NativeBleNitro.js} +6 -3
  13. package/lib/commonjs/specs/NativeBleNitro.js.map +1 -0
  14. package/lib/commonjs/specs/NativeBleNitro.nitro.d.ts +69 -0
  15. package/lib/commonjs/specs/NativeBleNitro.nitro.d.ts.map +1 -0
  16. package/lib/commonjs/specs/NativeBleNitro.nitro.js +14 -0
  17. package/lib/commonjs/specs/NativeBleNitro.nitro.js.map +1 -0
  18. package/lib/index.d.ts +174 -10
  19. package/lib/index.js +456 -16
  20. package/lib/specs/NativeBleNitro.d.ts +4 -0
  21. package/lib/specs/NativeBleNitro.js +5 -0
  22. package/lib/specs/NativeBleNitro.nitro.d.ts +68 -0
  23. package/lib/specs/NativeBleNitro.nitro.js +10 -0
  24. package/nitro.json +1 -1
  25. package/nitrogen/generated/android/BleNitro+autolinking.cmake +2 -10
  26. package/nitrogen/generated/android/BleNitroOnLoad.cpp +25 -22
  27. package/nitrogen/generated/android/c++/JBLEDevice.hpp +95 -0
  28. package/nitrogen/generated/android/c++/{JState.hpp → JBLEState.hpp} +22 -22
  29. package/nitrogen/generated/android/c++/JFunc_void_BLEDevice.hpp +82 -0
  30. package/nitrogen/generated/android/c++/JFunc_void_BLEState.hpp +76 -0
  31. package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +74 -0
  32. package/nitrogen/generated/android/c++/JFunc_void_bool_std__string.hpp +75 -0
  33. package/nitrogen/generated/android/c++/JFunc_void_bool_std__string_std__string.hpp +75 -0
  34. package/nitrogen/generated/android/c++/JFunc_void_bool_std__vector_double__std__string.hpp +86 -0
  35. package/nitrogen/generated/android/c++/JFunc_void_std__string_bool_std__string.hpp +75 -0
  36. package/nitrogen/generated/android/c++/JFunc_void_std__string_std__vector_double_.hpp +86 -0
  37. package/nitrogen/generated/android/c++/JFunc_void_std__vector_BLEDevice_.hpp +99 -0
  38. package/nitrogen/generated/android/c++/JFunc_void_std__vector_std__string_.hpp +93 -0
  39. package/nitrogen/generated/android/c++/JHybridNativeBleNitroSpec.cpp +171 -0
  40. package/nitrogen/generated/android/c++/JHybridNativeBleNitroSpec.hpp +83 -0
  41. package/nitrogen/generated/android/c++/JManufacturerData.hpp +73 -0
  42. package/nitrogen/generated/android/c++/JManufacturerDataEntry.hpp +68 -0
  43. package/nitrogen/generated/android/c++/JScanFilter.hpp +79 -0
  44. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BLEDevice.kt +44 -0
  45. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/{LogLevel.kt → BLEState.kt} +9 -13
  46. 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
  47. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/{Func_void.kt → Func_void_BLEState.kt} +15 -14
  48. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/{Func_void_State.kt → Func_void_bool.kt} +15 -14
  49. 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
  50. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Func_void_bool_std__string_std__string.kt +81 -0
  51. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Func_void_bool_std__vector_double__std__string.kt +81 -0
  52. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Func_void_std__string_bool_std__string.kt +81 -0
  53. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Func_void_std__string_std__vector_double_.kt +81 -0
  54. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Func_void_std__vector_BLEDevice_.kt +81 -0
  55. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Func_void_std__vector_std__string_.kt +81 -0
  56. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/HybridNativeBleNitroSpec.kt +223 -0
  57. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/{ServiceDataEntry.kt → ManufacturerData.kt} +7 -5
  58. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/{ConnectionOptions.kt → ManufacturerDataEntry.kt} +10 -6
  59. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/{NativeService.kt → ScanFilter.kt} +13 -7
  60. package/nitrogen/generated/ios/BleNitro-Swift-Cxx-Bridge.cpp +67 -175
  61. package/nitrogen/generated/ios/BleNitro-Swift-Cxx-Bridge.hpp +205 -867
  62. package/nitrogen/generated/ios/BleNitro-Swift-Cxx-Umbrella.hpp +20 -88
  63. package/nitrogen/generated/ios/BleNitroAutolinking.mm +3 -3
  64. package/nitrogen/generated/ios/BleNitroAutolinking.swift +4 -4
  65. package/nitrogen/generated/ios/c++/{HybridCharacteristicSpecSwift.cpp → HybridNativeBleNitroSpecSwift.cpp} +2 -2
  66. package/nitrogen/generated/ios/c++/HybridNativeBleNitroSpecSwift.hpp +205 -0
  67. package/nitrogen/generated/ios/swift/BLEDevice.swift +102 -0
  68. package/nitrogen/generated/ios/swift/{State.swift → BLEState.swift} +6 -6
  69. package/nitrogen/generated/ios/swift/Func_void.swift +1 -0
  70. package/nitrogen/generated/ios/swift/{Func_void_State.swift → Func_void_BLEDevice.swift} +12 -11
  71. package/nitrogen/generated/ios/swift/{Func_void_LogLevel.swift → Func_void_BLEState.swift} +12 -11
  72. package/nitrogen/generated/ios/swift/Func_void_bool.swift +6 -5
  73. package/nitrogen/generated/ios/swift/{Func_void_NativeDescriptor.swift → Func_void_bool_std__string.swift} +12 -11
  74. package/nitrogen/generated/ios/swift/{Func_void_std__vector_NativeCharacteristic_.swift → Func_void_bool_std__string_std__string.swift} +12 -11
  75. package/nitrogen/generated/ios/swift/Func_void_bool_std__vector_double__std__string.swift +47 -0
  76. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +1 -0
  77. package/nitrogen/generated/ios/swift/{Func_void_NativeDevice.swift → Func_void_std__string_bool_std__string.swift} +12 -11
  78. package/nitrogen/generated/ios/swift/{Func_void_std__optional_BleRestoredState_.swift → Func_void_std__string_std__vector_double_.swift} +12 -17
  79. package/nitrogen/generated/ios/swift/{Func_void_NativeCharacteristic.swift → Func_void_std__vector_BLEDevice_.swift} +12 -11
  80. package/nitrogen/generated/ios/swift/{Func_void_std__vector_NativeDevice_.swift → Func_void_std__vector_std__string_.swift} +12 -11
  81. package/nitrogen/generated/ios/swift/HybridNativeBleNitroSpec.swift +68 -0
  82. package/nitrogen/generated/ios/swift/HybridNativeBleNitroSpec_cxx.swift +485 -0
  83. package/nitrogen/generated/ios/swift/ManufacturerData.swift +47 -0
  84. package/nitrogen/generated/ios/swift/ManufacturerDataEntry.swift +58 -0
  85. package/nitrogen/generated/ios/swift/ScanFilter.swift +69 -0
  86. package/nitrogen/generated/shared/c++/BLEDevice.hpp +90 -0
  87. package/nitrogen/generated/shared/c++/{State.hpp → BLEState.hpp} +13 -15
  88. package/nitrogen/generated/shared/c++/HybridNativeBleNitroSpec.cpp +40 -0
  89. package/nitrogen/generated/shared/c++/HybridNativeBleNitroSpec.hpp +93 -0
  90. package/nitrogen/generated/shared/c++/ManufacturerData.hpp +69 -0
  91. package/nitrogen/generated/shared/c++/{ServiceDataEntry.hpp → ManufacturerDataEntry.hpp} +19 -20
  92. package/nitrogen/generated/shared/c++/ScanFilter.hpp +76 -0
  93. package/package.json +9 -11
  94. package/react-native.config.js +2 -7
  95. package/src/__tests__/index.test.ts +188 -0
  96. package/src/index.ts +604 -45
  97. package/src/specs/NativeBleNitro.nitro.ts +84 -0
  98. package/src/specs/NativeBleNitro.ts +8 -0
  99. package/android/build.gradle +0 -58
  100. package/android/src/main/AndroidManifest.xml +0 -23
  101. package/android/src/main/kotlin/com/margelo/nitro/co/zyke/ble/BleNitroBleManager.kt +0 -760
  102. package/ios/BleNitro.podspec +0 -44
  103. package/ios/BleNitroModule.swift +0 -24
  104. package/lib/BleManagerCompatFactory.d.ts +0 -55
  105. package/lib/BleManagerCompatFactory.js +0 -194
  106. package/lib/BleManagerFactory.d.ts +0 -30
  107. package/lib/BleManagerFactory.js +0 -73
  108. package/lib/commonjs/BleManagerCompatFactory.d.ts +0 -56
  109. package/lib/commonjs/BleManagerCompatFactory.d.ts.map +0 -1
  110. package/lib/commonjs/BleManagerCompatFactory.js +0 -201
  111. package/lib/commonjs/BleManagerCompatFactory.js.map +0 -1
  112. package/lib/commonjs/BleManagerFactory.d.ts +0 -31
  113. package/lib/commonjs/BleManagerFactory.d.ts.map +0 -1
  114. package/lib/commonjs/BleManagerFactory.js +0 -81
  115. package/lib/commonjs/BleManagerFactory.js.map +0 -1
  116. package/lib/commonjs/compatibility/constants.d.ts +0 -50
  117. package/lib/commonjs/compatibility/constants.d.ts.map +0 -1
  118. package/lib/commonjs/compatibility/constants.js +0 -58
  119. package/lib/commonjs/compatibility/constants.js.map +0 -1
  120. package/lib/commonjs/compatibility/deviceWrapper.d.ts +0 -100
  121. package/lib/commonjs/compatibility/deviceWrapper.d.ts.map +0 -1
  122. package/lib/commonjs/compatibility/deviceWrapper.js +0 -268
  123. package/lib/commonjs/compatibility/deviceWrapper.js.map +0 -1
  124. package/lib/commonjs/compatibility/enums.d.ts +0 -39
  125. package/lib/commonjs/compatibility/enums.d.ts.map +0 -1
  126. package/lib/commonjs/compatibility/enums.js +0 -179
  127. package/lib/commonjs/compatibility/enums.js.map +0 -1
  128. package/lib/commonjs/compatibility/index.d.ts +0 -13
  129. package/lib/commonjs/compatibility/index.d.ts.map +0 -1
  130. package/lib/commonjs/compatibility/index.js +0 -41
  131. package/lib/commonjs/compatibility/index.js.map +0 -1
  132. package/lib/commonjs/compatibility/serviceData.d.ts +0 -52
  133. package/lib/commonjs/compatibility/serviceData.d.ts.map +0 -1
  134. package/lib/commonjs/compatibility/serviceData.js +0 -80
  135. package/lib/commonjs/compatibility/serviceData.js.map +0 -1
  136. package/lib/commonjs/errors/BleError.d.ts +0 -60
  137. package/lib/commonjs/errors/BleError.d.ts.map +0 -1
  138. package/lib/commonjs/errors/BleError.js +0 -125
  139. package/lib/commonjs/errors/BleError.js.map +0 -1
  140. package/lib/commonjs/specs/BleManager.nitro.d.ts +0 -45
  141. package/lib/commonjs/specs/BleManager.nitro.d.ts.map +0 -1
  142. package/lib/commonjs/specs/BleManager.nitro.js +0 -3
  143. package/lib/commonjs/specs/BleManager.nitro.js.map +0 -1
  144. package/lib/commonjs/specs/Characteristic.nitro.d.ts +0 -27
  145. package/lib/commonjs/specs/Characteristic.nitro.d.ts.map +0 -1
  146. package/lib/commonjs/specs/Characteristic.nitro.js +0 -3
  147. package/lib/commonjs/specs/Characteristic.nitro.js.map +0 -1
  148. package/lib/commonjs/specs/Descriptor.nitro.d.ts +0 -18
  149. package/lib/commonjs/specs/Descriptor.nitro.d.ts.map +0 -1
  150. package/lib/commonjs/specs/Descriptor.nitro.js +0 -3
  151. package/lib/commonjs/specs/Descriptor.nitro.js.map +0 -1
  152. package/lib/commonjs/specs/Device.nitro.d.ts +0 -38
  153. package/lib/commonjs/specs/Device.nitro.d.ts.map +0 -1
  154. package/lib/commonjs/specs/Device.nitro.js +0 -3
  155. package/lib/commonjs/specs/Device.nitro.js.map +0 -1
  156. package/lib/commonjs/specs/Service.nitro.d.ts +0 -20
  157. package/lib/commonjs/specs/Service.nitro.d.ts.map +0 -1
  158. package/lib/commonjs/specs/Service.nitro.js +0 -3
  159. package/lib/commonjs/specs/Service.nitro.js.map +0 -1
  160. package/lib/commonjs/specs/types.d.ts +0 -229
  161. package/lib/commonjs/specs/types.d.ts.map +0 -1
  162. package/lib/commonjs/specs/types.js +0 -150
  163. package/lib/commonjs/specs/types.js.map +0 -1
  164. package/lib/commonjs/utils/base64.d.ts +0 -26
  165. package/lib/commonjs/utils/base64.d.ts.map +0 -1
  166. package/lib/commonjs/utils/base64.js +0 -88
  167. package/lib/commonjs/utils/base64.js.map +0 -1
  168. package/lib/commonjs/utils/index.d.ts +0 -3
  169. package/lib/commonjs/utils/index.d.ts.map +0 -1
  170. package/lib/commonjs/utils/index.js.map +0 -1
  171. package/lib/commonjs/utils/uuid.d.ts +0 -10
  172. package/lib/commonjs/utils/uuid.d.ts.map +0 -1
  173. package/lib/commonjs/utils/uuid.js +0 -41
  174. package/lib/commonjs/utils/uuid.js.map +0 -1
  175. package/lib/compatibility/constants.d.ts +0 -49
  176. package/lib/compatibility/constants.js +0 -50
  177. package/lib/compatibility/deviceWrapper.d.ts +0 -99
  178. package/lib/compatibility/deviceWrapper.js +0 -259
  179. package/lib/compatibility/enums.d.ts +0 -38
  180. package/lib/compatibility/enums.js +0 -159
  181. package/lib/compatibility/index.d.ts +0 -12
  182. package/lib/compatibility/index.js +0 -12
  183. package/lib/compatibility/serviceData.d.ts +0 -51
  184. package/lib/compatibility/serviceData.js +0 -70
  185. package/lib/errors/BleError.d.ts +0 -59
  186. package/lib/errors/BleError.js +0 -120
  187. package/lib/specs/BleManager.nitro.d.ts +0 -44
  188. package/lib/specs/BleManager.nitro.js +0 -1
  189. package/lib/specs/Characteristic.nitro.d.ts +0 -26
  190. package/lib/specs/Characteristic.nitro.js +0 -1
  191. package/lib/specs/Descriptor.nitro.d.ts +0 -17
  192. package/lib/specs/Descriptor.nitro.js +0 -1
  193. package/lib/specs/Device.nitro.d.ts +0 -37
  194. package/lib/specs/Device.nitro.js +0 -1
  195. package/lib/specs/Service.nitro.d.ts +0 -19
  196. package/lib/specs/Service.nitro.js +0 -1
  197. package/lib/specs/types.d.ts +0 -228
  198. package/lib/specs/types.js +0 -146
  199. package/lib/utils/base64.d.ts +0 -25
  200. package/lib/utils/base64.js +0 -80
  201. package/lib/utils/index.d.ts +0 -2
  202. package/lib/utils/index.js +0 -2
  203. package/lib/utils/uuid.d.ts +0 -9
  204. package/lib/utils/uuid.js +0 -37
  205. package/nitrogen/generated/android/c++/JBleATTErrorCode.hpp +0 -107
  206. package/nitrogen/generated/android/c++/JBleAndroidErrorCode.hpp +0 -101
  207. package/nitrogen/generated/android/c++/JBleErrorCode.hpp +0 -170
  208. package/nitrogen/generated/android/c++/JBleIOSErrorCode.hpp +0 -92
  209. package/nitrogen/generated/android/c++/JBleManagerNitroOptions.hpp +0 -54
  210. package/nitrogen/generated/android/c++/JBleRestoredState.hpp +0 -76
  211. package/nitrogen/generated/android/c++/JCharacteristicSubscriptionType.hpp +0 -59
  212. package/nitrogen/generated/android/c++/JConnectionOptions.hpp +0 -61
  213. package/nitrogen/generated/android/c++/JConnectionPriority.hpp +0 -62
  214. package/nitrogen/generated/android/c++/JFunc_void.hpp +0 -74
  215. package/nitrogen/generated/android/c++/JFunc_void_State.hpp +0 -76
  216. package/nitrogen/generated/android/c++/JFunc_void_std__optional_NativeBleError__std__optional_NativeCharacteristic_.hpp +0 -88
  217. package/nitrogen/generated/android/c++/JFunc_void_std__optional_NativeBleError__std__optional_NativeDevice_.hpp +0 -91
  218. package/nitrogen/generated/android/c++/JHybridBleManagerSpec.cpp +0 -653
  219. package/nitrogen/generated/android/c++/JHybridBleManagerSpec.hpp +0 -92
  220. package/nitrogen/generated/android/c++/JHybridCharacteristicSpec.cpp +0 -253
  221. package/nitrogen/generated/android/c++/JHybridCharacteristicSpec.hpp +0 -79
  222. package/nitrogen/generated/android/c++/JHybridDescriptorSpec.cpp +0 -115
  223. package/nitrogen/generated/android/c++/JHybridDescriptorSpec.hpp +0 -70
  224. package/nitrogen/generated/android/c++/JHybridDeviceSpec.cpp +0 -476
  225. package/nitrogen/generated/android/c++/JHybridDeviceSpec.hpp +0 -90
  226. package/nitrogen/generated/android/c++/JHybridServiceSpec.cpp +0 -232
  227. package/nitrogen/generated/android/c++/JHybridServiceSpec.hpp +0 -72
  228. package/nitrogen/generated/android/c++/JLogLevel.hpp +0 -71
  229. package/nitrogen/generated/android/c++/JNativeBleError.hpp +0 -98
  230. package/nitrogen/generated/android/c++/JNativeCharacteristic.hpp +0 -98
  231. package/nitrogen/generated/android/c++/JNativeDescriptor.hpp +0 -82
  232. package/nitrogen/generated/android/c++/JNativeDevice.hpp +0 -173
  233. package/nitrogen/generated/android/c++/JNativeService.hpp +0 -65
  234. package/nitrogen/generated/android/c++/JScanCallbackType.hpp +0 -62
  235. package/nitrogen/generated/android/c++/JScanMode.hpp +0 -65
  236. package/nitrogen/generated/android/c++/JScanOptions.hpp +0 -69
  237. package/nitrogen/generated/android/c++/JServiceDataEntry.hpp +0 -57
  238. package/nitrogen/generated/android/c++/JSubscription.hpp +0 -64
  239. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BleATTErrorCode.kt +0 -41
  240. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BleAndroidErrorCode.kt +0 -39
  241. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BleErrorCode.kt +0 -62
  242. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BleIOSErrorCode.kt +0 -36
  243. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BleManagerNitroOptions.kt +0 -26
  244. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BleRestoredState.kt +0 -26
  245. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/CharacteristicSubscriptionType.kt +0 -25
  246. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/ConnectionPriority.kt +0 -26
  247. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/HybridBleManagerSpec.kt +0 -192
  248. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/HybridCharacteristicSpec.kt +0 -127
  249. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/HybridDescriptorSpec.kt +0 -86
  250. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/HybridDeviceSpec.kt +0 -176
  251. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/HybridServiceSpec.kt +0 -99
  252. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/NativeBleError.kt +0 -35
  253. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/NativeCharacteristic.kt +0 -37
  254. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/NativeDescriptor.kt +0 -33
  255. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/NativeDevice.kt +0 -38
  256. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/ScanCallbackType.kt +0 -26
  257. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/ScanMode.kt +0 -27
  258. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/ScanOptions.kt +0 -29
  259. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/State.kt +0 -29
  260. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Subscription.kt +0 -30
  261. package/nitrogen/generated/ios/c++/HybridBleManagerSpecSwift.cpp +0 -11
  262. package/nitrogen/generated/ios/c++/HybridBleManagerSpecSwift.hpp +0 -377
  263. package/nitrogen/generated/ios/c++/HybridCharacteristicSpecSwift.hpp +0 -192
  264. package/nitrogen/generated/ios/c++/HybridDescriptorSpecSwift.cpp +0 -11
  265. package/nitrogen/generated/ios/c++/HybridDescriptorSpecSwift.hpp +0 -112
  266. package/nitrogen/generated/ios/c++/HybridDeviceSpecSwift.cpp +0 -11
  267. package/nitrogen/generated/ios/c++/HybridDeviceSpecSwift.hpp +0 -294
  268. package/nitrogen/generated/ios/c++/HybridServiceSpecSwift.cpp +0 -11
  269. package/nitrogen/generated/ios/c++/HybridServiceSpecSwift.hpp +0 -170
  270. package/nitrogen/generated/ios/swift/BleATTErrorCode.swift +0 -104
  271. package/nitrogen/generated/ios/swift/BleAndroidErrorCode.swift +0 -96
  272. package/nitrogen/generated/ios/swift/BleErrorCode.swift +0 -188
  273. package/nitrogen/generated/ios/swift/BleIOSErrorCode.swift +0 -84
  274. package/nitrogen/generated/ios/swift/BleManagerNitroOptions.swift +0 -53
  275. package/nitrogen/generated/ios/swift/BleRestoredState.swift +0 -47
  276. package/nitrogen/generated/ios/swift/CharacteristicSubscriptionType.swift +0 -40
  277. package/nitrogen/generated/ios/swift/ConnectionOptions.swift +0 -57
  278. package/nitrogen/generated/ios/swift/ConnectionPriority.swift +0 -44
  279. package/nitrogen/generated/ios/swift/Func_void_std__optional_NativeBleError__std__optional_NativeCharacteristic_.swift +0 -58
  280. package/nitrogen/generated/ios/swift/Func_void_std__optional_NativeBleError__std__optional_NativeDevice_.swift +0 -58
  281. package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_margelo__nitro__co__zyke__ble__HybridCharacteristicSpec_.swift +0 -50
  282. package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_margelo__nitro__co__zyke__ble__HybridDescriptorSpec_.swift +0 -50
  283. package/nitrogen/generated/ios/swift/Func_void_std__vector_NativeDescriptor_.swift +0 -46
  284. package/nitrogen/generated/ios/swift/Func_void_std__vector_NativeService_.swift +0 -46
  285. package/nitrogen/generated/ios/swift/HybridBleManagerSpec.swift +0 -78
  286. package/nitrogen/generated/ios/swift/HybridBleManagerSpec_cxx.swift +0 -852
  287. package/nitrogen/generated/ios/swift/HybridCharacteristicSpec.swift +0 -65
  288. package/nitrogen/generated/ios/swift/HybridCharacteristicSpec_cxx.swift +0 -384
  289. package/nitrogen/generated/ios/swift/HybridDescriptorSpec.swift +0 -56
  290. package/nitrogen/generated/ios/swift/HybridDescriptorSpec_cxx.swift +0 -218
  291. package/nitrogen/generated/ios/swift/HybridDeviceSpec.swift +0 -76
  292. package/nitrogen/generated/ios/swift/HybridDeviceSpec_cxx.swift +0 -702
  293. package/nitrogen/generated/ios/swift/HybridServiceSpec.swift +0 -58
  294. package/nitrogen/generated/ios/swift/HybridServiceSpec_cxx.swift +0 -338
  295. package/nitrogen/generated/ios/swift/LogLevel.swift +0 -56
  296. package/nitrogen/generated/ios/swift/NativeBleError.swift +0 -278
  297. package/nitrogen/generated/ios/swift/NativeCharacteristic.swift +0 -174
  298. package/nitrogen/generated/ios/swift/NativeDescriptor.swift +0 -130
  299. package/nitrogen/generated/ios/swift/NativeDevice.swift +0 -377
  300. package/nitrogen/generated/ios/swift/NativeService.swift +0 -68
  301. package/nitrogen/generated/ios/swift/ScanCallbackType.swift +0 -44
  302. package/nitrogen/generated/ios/swift/ScanMode.swift +0 -48
  303. package/nitrogen/generated/ios/swift/ScanOptions.swift +0 -116
  304. package/nitrogen/generated/ios/swift/ServiceDataEntry.swift +0 -46
  305. package/nitrogen/generated/ios/swift/Subscription.swift +0 -46
  306. package/nitrogen/generated/shared/c++/BleATTErrorCode.hpp +0 -80
  307. package/nitrogen/generated/shared/c++/BleAndroidErrorCode.hpp +0 -78
  308. package/nitrogen/generated/shared/c++/BleErrorCode.hpp +0 -101
  309. package/nitrogen/generated/shared/c++/BleIOSErrorCode.hpp +0 -75
  310. package/nitrogen/generated/shared/c++/BleManagerNitroOptions.hpp +0 -70
  311. package/nitrogen/generated/shared/c++/BleRestoredState.hpp +0 -71
  312. package/nitrogen/generated/shared/c++/CharacteristicSubscriptionType.hpp +0 -64
  313. package/nitrogen/generated/shared/c++/ConnectionOptions.hpp +0 -77
  314. package/nitrogen/generated/shared/c++/ConnectionPriority.hpp +0 -65
  315. package/nitrogen/generated/shared/c++/HybridBleManagerSpec.cpp +0 -51
  316. package/nitrogen/generated/shared/c++/HybridBleManagerSpec.hpp +0 -137
  317. package/nitrogen/generated/shared/c++/HybridCharacteristicSpec.cpp +0 -39
  318. package/nitrogen/generated/shared/c++/HybridCharacteristicSpec.hpp +0 -101
  319. package/nitrogen/generated/shared/c++/HybridDescriptorSpec.cpp +0 -30
  320. package/nitrogen/generated/shared/c++/HybridDescriptorSpec.hpp +0 -75
  321. package/nitrogen/generated/shared/c++/HybridDeviceSpec.cpp +0 -50
  322. package/nitrogen/generated/shared/c++/HybridDeviceSpec.hpp +0 -123
  323. package/nitrogen/generated/shared/c++/HybridServiceSpec.cpp +0 -32
  324. package/nitrogen/generated/shared/c++/HybridServiceSpec.hpp +0 -90
  325. package/nitrogen/generated/shared/c++/LogLevel.hpp +0 -68
  326. package/nitrogen/generated/shared/c++/NativeBleError.hpp +0 -117
  327. package/nitrogen/generated/shared/c++/NativeCharacteristic.hpp +0 -114
  328. package/nitrogen/generated/shared/c++/NativeDescriptor.hpp +0 -98
  329. package/nitrogen/generated/shared/c++/NativeDevice.hpp +0 -121
  330. package/nitrogen/generated/shared/c++/NativeService.hpp +0 -81
  331. package/nitrogen/generated/shared/c++/ScanCallbackType.hpp +0 -65
  332. package/nitrogen/generated/shared/c++/ScanMode.hpp +0 -66
  333. package/nitrogen/generated/shared/c++/ScanOptions.hpp +0 -86
  334. package/nitrogen/generated/shared/c++/Subscription.hpp +0 -69
  335. package/src/BleManagerCompatFactory.ts +0 -371
  336. package/src/BleManagerFactory.ts +0 -93
  337. package/src/__tests__/BleManager.test.ts +0 -327
  338. package/src/__tests__/compatibility/deviceWrapper.test.ts +0 -563
  339. package/src/__tests__/compatibility/enums.test.ts +0 -264
  340. package/src/compatibility/constants.ts +0 -71
  341. package/src/compatibility/deviceWrapper.ts +0 -427
  342. package/src/compatibility/enums.ts +0 -190
  343. package/src/compatibility/index.ts +0 -32
  344. package/src/compatibility/serviceData.ts +0 -85
  345. package/src/errors/BleError.ts +0 -193
  346. package/src/specs/BleManager.nitro.ts +0 -165
  347. package/src/specs/Characteristic.nitro.ts +0 -61
  348. package/src/specs/Descriptor.nitro.ts +0 -28
  349. package/src/specs/Device.nitro.ts +0 -104
  350. package/src/specs/Service.nitro.ts +0 -64
  351. package/src/specs/types.ts +0 -259
  352. package/src/utils/base64.ts +0 -80
  353. package/src/utils/index.ts +0 -2
  354. package/src/utils/uuid.ts +0 -45
@@ -0,0 +1,171 @@
1
+ ///
2
+ /// JHybridNativeBleNitroSpec.cpp
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
+ #include "JHybridNativeBleNitroSpec.hpp"
9
+
10
+ // Forward declaration of `ScanFilter` to properly resolve imports.
11
+ namespace margelo::nitro::co::zyke::ble { struct ScanFilter; }
12
+ // Forward declaration of `BLEDevice` to properly resolve imports.
13
+ namespace margelo::nitro::co::zyke::ble { struct BLEDevice; }
14
+ // Forward declaration of `ManufacturerData` to properly resolve imports.
15
+ namespace margelo::nitro::co::zyke::ble { struct ManufacturerData; }
16
+ // Forward declaration of `ManufacturerDataEntry` to properly resolve imports.
17
+ namespace margelo::nitro::co::zyke::ble { struct ManufacturerDataEntry; }
18
+ // Forward declaration of `BLEState` to properly resolve imports.
19
+ namespace margelo::nitro::co::zyke::ble { enum class BLEState; }
20
+
21
+ #include <NitroModules/Promise.hpp>
22
+ #include <NitroModules/JPromise.hpp>
23
+ #include "ScanFilter.hpp"
24
+ #include "JScanFilter.hpp"
25
+ #include <string>
26
+ #include <vector>
27
+ #include "BLEDevice.hpp"
28
+ #include <functional>
29
+ #include "JFunc_void_BLEDevice.hpp"
30
+ #include "JBLEDevice.hpp"
31
+ #include "ManufacturerData.hpp"
32
+ #include "JManufacturerData.hpp"
33
+ #include "ManufacturerDataEntry.hpp"
34
+ #include "JManufacturerDataEntry.hpp"
35
+ #include "JFunc_void_bool_std__string.hpp"
36
+ #include "JFunc_void_bool.hpp"
37
+ #include "JFunc_void_std__vector_BLEDevice_.hpp"
38
+ #include "JFunc_void_bool_std__string_std__string.hpp"
39
+ #include <optional>
40
+ #include "JFunc_void_std__string_bool_std__string.hpp"
41
+ #include "JFunc_void_std__vector_std__string_.hpp"
42
+ #include "JFunc_void_bool_std__vector_double__std__string.hpp"
43
+ #include "JFunc_void_std__string_std__vector_double_.hpp"
44
+ #include "BLEState.hpp"
45
+ #include "JFunc_void_BLEState.hpp"
46
+ #include "JBLEState.hpp"
47
+
48
+ namespace margelo::nitro::co::zyke::ble {
49
+
50
+ jni::local_ref<JHybridNativeBleNitroSpec::jhybriddata> JHybridNativeBleNitroSpec::initHybrid(jni::alias_ref<jhybridobject> jThis) {
51
+ return makeCxxInstance(jThis);
52
+ }
53
+
54
+ void JHybridNativeBleNitroSpec::registerNatives() {
55
+ registerHybrid({
56
+ makeNativeMethod("initHybrid", JHybridNativeBleNitroSpec::initHybrid),
57
+ });
58
+ }
59
+
60
+ size_t JHybridNativeBleNitroSpec::getExternalMemorySize() noexcept {
61
+ static const auto method = javaClassStatic()->getMethod<jlong()>("getMemorySize");
62
+ return method(_javaPart);
63
+ }
64
+
65
+ void JHybridNativeBleNitroSpec::dispose() noexcept {
66
+ static const auto method = javaClassStatic()->getMethod<void()>("dispose");
67
+ method(_javaPart);
68
+ }
69
+
70
+ // Properties
71
+
72
+
73
+ // Methods
74
+ void JHybridNativeBleNitroSpec::startScan(const ScanFilter& filter, const std::function<void(const BLEDevice& /* device */)>& callback) {
75
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JScanFilter> /* filter */, jni::alias_ref<JFunc_void_BLEDevice::javaobject> /* callback */)>("startScan_cxx");
76
+ method(_javaPart, JScanFilter::fromCpp(filter), JFunc_void_BLEDevice_cxx::fromCpp(callback));
77
+ }
78
+ void JHybridNativeBleNitroSpec::stopScan(const std::function<void(bool /* success */, const std::string& /* error */)>& callback) {
79
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_bool_std__string::javaobject> /* callback */)>("stopScan_cxx");
80
+ method(_javaPart, JFunc_void_bool_std__string_cxx::fromCpp(callback));
81
+ }
82
+ void JHybridNativeBleNitroSpec::isScanning(const std::function<void(bool /* result */)>& callback) {
83
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_bool::javaobject> /* callback */)>("isScanning_cxx");
84
+ method(_javaPart, JFunc_void_bool_cxx::fromCpp(callback));
85
+ }
86
+ void JHybridNativeBleNitroSpec::getConnectedDevices(const std::function<void(const std::vector<BLEDevice>& /* devices */)>& callback) {
87
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_std__vector_BLEDevice_::javaobject> /* callback */)>("getConnectedDevices_cxx");
88
+ method(_javaPart, JFunc_void_std__vector_BLEDevice__cxx::fromCpp(callback));
89
+ }
90
+ void JHybridNativeBleNitroSpec::connect(const std::string& deviceId, const std::function<void(bool /* success */, const std::string& /* deviceId */, const std::string& /* error */)>& callback, const std::optional<std::function<void(const std::string& /* deviceId */, bool /* interrupted */, const std::string& /* error */)>>& disconnectCallback) {
91
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* deviceId */, jni::alias_ref<JFunc_void_bool_std__string_std__string::javaobject> /* callback */, jni::alias_ref<JFunc_void_std__string_bool_std__string::javaobject> /* disconnectCallback */)>("connect_cxx");
92
+ method(_javaPart, jni::make_jstring(deviceId), JFunc_void_bool_std__string_std__string_cxx::fromCpp(callback), disconnectCallback.has_value() ? JFunc_void_std__string_bool_std__string_cxx::fromCpp(disconnectCallback.value()) : nullptr);
93
+ }
94
+ void JHybridNativeBleNitroSpec::disconnect(const std::string& deviceId, const std::function<void(bool /* success */, const std::string& /* error */)>& callback) {
95
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* deviceId */, jni::alias_ref<JFunc_void_bool_std__string::javaobject> /* callback */)>("disconnect_cxx");
96
+ method(_javaPart, jni::make_jstring(deviceId), JFunc_void_bool_std__string_cxx::fromCpp(callback));
97
+ }
98
+ void JHybridNativeBleNitroSpec::isConnected(const std::string& deviceId, const std::function<void(bool /* result */)>& callback) {
99
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* deviceId */, jni::alias_ref<JFunc_void_bool::javaobject> /* callback */)>("isConnected_cxx");
100
+ method(_javaPart, jni::make_jstring(deviceId), JFunc_void_bool_cxx::fromCpp(callback));
101
+ }
102
+ void JHybridNativeBleNitroSpec::discoverServices(const std::string& deviceId, const std::function<void(bool /* success */, const std::string& /* error */)>& callback) {
103
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* deviceId */, jni::alias_ref<JFunc_void_bool_std__string::javaobject> /* callback */)>("discoverServices_cxx");
104
+ method(_javaPart, jni::make_jstring(deviceId), JFunc_void_bool_std__string_cxx::fromCpp(callback));
105
+ }
106
+ void JHybridNativeBleNitroSpec::getServices(const std::string& deviceId, const std::function<void(const std::vector<std::string>& /* result */)>& callback) {
107
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* deviceId */, jni::alias_ref<JFunc_void_std__vector_std__string_::javaobject> /* callback */)>("getServices_cxx");
108
+ method(_javaPart, jni::make_jstring(deviceId), JFunc_void_std__vector_std__string__cxx::fromCpp(callback));
109
+ }
110
+ void JHybridNativeBleNitroSpec::getCharacteristics(const std::string& deviceId, const std::string& serviceId, const std::function<void(const std::vector<std::string>& /* result */)>& callback) {
111
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* deviceId */, jni::alias_ref<jni::JString> /* serviceId */, jni::alias_ref<JFunc_void_std__vector_std__string_::javaobject> /* callback */)>("getCharacteristics_cxx");
112
+ method(_javaPart, jni::make_jstring(deviceId), jni::make_jstring(serviceId), JFunc_void_std__vector_std__string__cxx::fromCpp(callback));
113
+ }
114
+ void JHybridNativeBleNitroSpec::readCharacteristic(const std::string& deviceId, const std::string& serviceId, const std::string& characteristicId, const std::function<void(bool /* success */, const std::vector<double>& /* data */, const std::string& /* error */)>& callback) {
115
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* deviceId */, jni::alias_ref<jni::JString> /* serviceId */, jni::alias_ref<jni::JString> /* characteristicId */, jni::alias_ref<JFunc_void_bool_std__vector_double__std__string::javaobject> /* callback */)>("readCharacteristic_cxx");
116
+ method(_javaPart, jni::make_jstring(deviceId), jni::make_jstring(serviceId), jni::make_jstring(characteristicId), JFunc_void_bool_std__vector_double__std__string_cxx::fromCpp(callback));
117
+ }
118
+ void JHybridNativeBleNitroSpec::writeCharacteristic(const std::string& deviceId, const std::string& serviceId, const std::string& characteristicId, const std::vector<double>& data, bool withResponse, const std::function<void(bool /* success */, const std::string& /* error */)>& callback) {
119
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* deviceId */, jni::alias_ref<jni::JString> /* serviceId */, jni::alias_ref<jni::JString> /* characteristicId */, jni::alias_ref<jni::JArrayDouble> /* data */, jboolean /* withResponse */, jni::alias_ref<JFunc_void_bool_std__string::javaobject> /* callback */)>("writeCharacteristic_cxx");
120
+ method(_javaPart, jni::make_jstring(deviceId), jni::make_jstring(serviceId), jni::make_jstring(characteristicId), [&]() {
121
+ size_t __size = data.size();
122
+ jni::local_ref<jni::JArrayDouble> __array = jni::JArrayDouble::newArray(__size);
123
+ __array->setRegion(0, __size, data.data());
124
+ return __array;
125
+ }(), withResponse, JFunc_void_bool_std__string_cxx::fromCpp(callback));
126
+ }
127
+ void JHybridNativeBleNitroSpec::subscribeToCharacteristic(const std::string& deviceId, const std::string& serviceId, const std::string& characteristicId, const std::function<void(const std::string& /* characteristicId */, const std::vector<double>& /* data */)>& updateCallback, const std::function<void(bool /* success */, const std::string& /* error */)>& resultCallback) {
128
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* deviceId */, jni::alias_ref<jni::JString> /* serviceId */, jni::alias_ref<jni::JString> /* characteristicId */, jni::alias_ref<JFunc_void_std__string_std__vector_double_::javaobject> /* updateCallback */, jni::alias_ref<JFunc_void_bool_std__string::javaobject> /* resultCallback */)>("subscribeToCharacteristic_cxx");
129
+ method(_javaPart, jni::make_jstring(deviceId), jni::make_jstring(serviceId), jni::make_jstring(characteristicId), JFunc_void_std__string_std__vector_double__cxx::fromCpp(updateCallback), JFunc_void_bool_std__string_cxx::fromCpp(resultCallback));
130
+ }
131
+ void JHybridNativeBleNitroSpec::unsubscribeFromCharacteristic(const std::string& deviceId, const std::string& serviceId, const std::string& characteristicId, const std::function<void(bool /* success */, const std::string& /* error */)>& callback) {
132
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* deviceId */, jni::alias_ref<jni::JString> /* serviceId */, jni::alias_ref<jni::JString> /* characteristicId */, jni::alias_ref<JFunc_void_bool_std__string::javaobject> /* callback */)>("unsubscribeFromCharacteristic_cxx");
133
+ method(_javaPart, jni::make_jstring(deviceId), jni::make_jstring(serviceId), jni::make_jstring(characteristicId), JFunc_void_bool_std__string_cxx::fromCpp(callback));
134
+ }
135
+ void JHybridNativeBleNitroSpec::isBluetoothEnabled(const std::function<void(bool /* result */)>& callback) {
136
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_bool::javaobject> /* callback */)>("isBluetoothEnabled_cxx");
137
+ method(_javaPart, JFunc_void_bool_cxx::fromCpp(callback));
138
+ }
139
+ void JHybridNativeBleNitroSpec::requestBluetoothEnable(const std::function<void(bool /* success */, const std::string& /* error */)>& callback) {
140
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_bool_std__string::javaobject> /* callback */)>("requestBluetoothEnable_cxx");
141
+ method(_javaPart, JFunc_void_bool_std__string_cxx::fromCpp(callback));
142
+ }
143
+ void JHybridNativeBleNitroSpec::state(const std::function<void(BLEState /* state */)>& callback) {
144
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_BLEState::javaobject> /* callback */)>("state_cxx");
145
+ method(_javaPart, JFunc_void_BLEState_cxx::fromCpp(callback));
146
+ }
147
+ void JHybridNativeBleNitroSpec::subscribeToStateChange(const std::function<void(BLEState /* state */)>& stateCallback, const std::function<void(bool /* success */, const std::string& /* error */)>& resultCallback) {
148
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_BLEState::javaobject> /* stateCallback */, jni::alias_ref<JFunc_void_bool_std__string::javaobject> /* resultCallback */)>("subscribeToStateChange_cxx");
149
+ method(_javaPart, JFunc_void_BLEState_cxx::fromCpp(stateCallback), JFunc_void_bool_std__string_cxx::fromCpp(resultCallback));
150
+ }
151
+ void JHybridNativeBleNitroSpec::unsubscribeFromStateChange(const std::function<void(bool /* success */, const std::string& /* error */)>& resultCallback) {
152
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_bool_std__string::javaobject> /* resultCallback */)>("unsubscribeFromStateChange_cxx");
153
+ method(_javaPart, JFunc_void_bool_std__string_cxx::fromCpp(resultCallback));
154
+ }
155
+ std::shared_ptr<Promise<void>> JHybridNativeBleNitroSpec::openSettings() {
156
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("openSettings");
157
+ auto __result = method(_javaPart);
158
+ return [&]() {
159
+ auto __promise = Promise<void>::create();
160
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
161
+ __promise->resolve();
162
+ });
163
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
164
+ jni::JniException __jniError(__throwable);
165
+ __promise->reject(std::make_exception_ptr(__jniError));
166
+ });
167
+ return __promise;
168
+ }();
169
+ }
170
+
171
+ } // namespace margelo::nitro::co::zyke::ble
@@ -0,0 +1,83 @@
1
+ ///
2
+ /// HybridNativeBleNitroSpec.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 <NitroModules/JHybridObject.hpp>
11
+ #include <fbjni/fbjni.h>
12
+ #include "HybridNativeBleNitroSpec.hpp"
13
+
14
+
15
+
16
+
17
+ namespace margelo::nitro::co::zyke::ble {
18
+
19
+ using namespace facebook;
20
+
21
+ class JHybridNativeBleNitroSpec: public jni::HybridClass<JHybridNativeBleNitroSpec, JHybridObject>,
22
+ public virtual HybridNativeBleNitroSpec {
23
+ public:
24
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/co/zyke/ble/HybridNativeBleNitroSpec;";
25
+ static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject> jThis);
26
+ static void registerNatives();
27
+
28
+ protected:
29
+ // C++ constructor (called from Java via `initHybrid()`)
30
+ explicit JHybridNativeBleNitroSpec(jni::alias_ref<jhybridobject> jThis) :
31
+ HybridObject(HybridNativeBleNitroSpec::TAG),
32
+ HybridBase(jThis),
33
+ _javaPart(jni::make_global(jThis)) {}
34
+
35
+ public:
36
+ ~JHybridNativeBleNitroSpec() override {
37
+ // Hermes GC can destroy JS objects on a non-JNI Thread.
38
+ jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); });
39
+ }
40
+
41
+ public:
42
+ size_t getExternalMemorySize() noexcept override;
43
+ void dispose() noexcept override;
44
+
45
+ public:
46
+ inline const jni::global_ref<JHybridNativeBleNitroSpec::javaobject>& getJavaPart() const noexcept {
47
+ return _javaPart;
48
+ }
49
+
50
+ public:
51
+ // Properties
52
+
53
+
54
+ public:
55
+ // Methods
56
+ void startScan(const ScanFilter& filter, const std::function<void(const BLEDevice& /* device */)>& callback) override;
57
+ void stopScan(const std::function<void(bool /* success */, const std::string& /* error */)>& callback) override;
58
+ void isScanning(const std::function<void(bool /* result */)>& callback) override;
59
+ void getConnectedDevices(const std::function<void(const std::vector<BLEDevice>& /* devices */)>& callback) override;
60
+ void connect(const std::string& deviceId, const std::function<void(bool /* success */, const std::string& /* deviceId */, const std::string& /* error */)>& callback, const std::optional<std::function<void(const std::string& /* deviceId */, bool /* interrupted */, const std::string& /* error */)>>& disconnectCallback) override;
61
+ void disconnect(const std::string& deviceId, const std::function<void(bool /* success */, const std::string& /* error */)>& callback) override;
62
+ void isConnected(const std::string& deviceId, const std::function<void(bool /* result */)>& callback) override;
63
+ void discoverServices(const std::string& deviceId, const std::function<void(bool /* success */, const std::string& /* error */)>& callback) override;
64
+ void getServices(const std::string& deviceId, const std::function<void(const std::vector<std::string>& /* result */)>& callback) override;
65
+ void getCharacteristics(const std::string& deviceId, const std::string& serviceId, const std::function<void(const std::vector<std::string>& /* result */)>& callback) override;
66
+ void readCharacteristic(const std::string& deviceId, const std::string& serviceId, const std::string& characteristicId, const std::function<void(bool /* success */, const std::vector<double>& /* data */, const std::string& /* error */)>& callback) override;
67
+ void writeCharacteristic(const std::string& deviceId, const std::string& serviceId, const std::string& characteristicId, const std::vector<double>& data, bool withResponse, const std::function<void(bool /* success */, const std::string& /* error */)>& callback) override;
68
+ void subscribeToCharacteristic(const std::string& deviceId, const std::string& serviceId, const std::string& characteristicId, const std::function<void(const std::string& /* characteristicId */, const std::vector<double>& /* data */)>& updateCallback, const std::function<void(bool /* success */, const std::string& /* error */)>& resultCallback) override;
69
+ void unsubscribeFromCharacteristic(const std::string& deviceId, const std::string& serviceId, const std::string& characteristicId, const std::function<void(bool /* success */, const std::string& /* error */)>& callback) override;
70
+ void isBluetoothEnabled(const std::function<void(bool /* result */)>& callback) override;
71
+ void requestBluetoothEnable(const std::function<void(bool /* success */, const std::string& /* error */)>& callback) override;
72
+ void state(const std::function<void(BLEState /* state */)>& callback) override;
73
+ void subscribeToStateChange(const std::function<void(BLEState /* state */)>& stateCallback, const std::function<void(bool /* success */, const std::string& /* error */)>& resultCallback) override;
74
+ void unsubscribeFromStateChange(const std::function<void(bool /* success */, const std::string& /* error */)>& resultCallback) override;
75
+ std::shared_ptr<Promise<void>> openSettings() override;
76
+
77
+ private:
78
+ friend HybridBase;
79
+ using HybridBase::HybridBase;
80
+ jni::global_ref<JHybridNativeBleNitroSpec::javaobject> _javaPart;
81
+ };
82
+
83
+ } // namespace margelo::nitro::co::zyke::ble
@@ -0,0 +1,73 @@
1
+ ///
2
+ /// JManufacturerData.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 "ManufacturerData.hpp"
12
+
13
+ #include "JManufacturerDataEntry.hpp"
14
+ #include "ManufacturerDataEntry.hpp"
15
+ #include <string>
16
+ #include <vector>
17
+
18
+ namespace margelo::nitro::co::zyke::ble {
19
+
20
+ using namespace facebook;
21
+
22
+ /**
23
+ * The C++ JNI bridge between the C++ struct "ManufacturerData" and the the Kotlin data class "ManufacturerData".
24
+ */
25
+ struct JManufacturerData final: public jni::JavaClass<JManufacturerData> {
26
+ public:
27
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/co/zyke/ble/ManufacturerData;";
28
+
29
+ public:
30
+ /**
31
+ * Convert this Java/Kotlin-based struct to the C++ struct ManufacturerData by copying all values to C++.
32
+ */
33
+ [[maybe_unused]]
34
+ [[nodiscard]]
35
+ ManufacturerData toCpp() const {
36
+ static const auto clazz = javaClassStatic();
37
+ static const auto fieldCompanyIdentifiers = clazz->getField<jni::JArrayClass<JManufacturerDataEntry>>("companyIdentifiers");
38
+ jni::local_ref<jni::JArrayClass<JManufacturerDataEntry>> companyIdentifiers = this->getFieldValue(fieldCompanyIdentifiers);
39
+ return ManufacturerData(
40
+ [&]() {
41
+ size_t __size = companyIdentifiers->size();
42
+ std::vector<ManufacturerDataEntry> __vector;
43
+ __vector.reserve(__size);
44
+ for (size_t __i = 0; __i < __size; __i++) {
45
+ auto __element = companyIdentifiers->getElement(__i);
46
+ __vector.push_back(__element->toCpp());
47
+ }
48
+ return __vector;
49
+ }()
50
+ );
51
+ }
52
+
53
+ public:
54
+ /**
55
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
56
+ */
57
+ [[maybe_unused]]
58
+ static jni::local_ref<JManufacturerData::javaobject> fromCpp(const ManufacturerData& value) {
59
+ return newInstance(
60
+ [&]() {
61
+ size_t __size = value.companyIdentifiers.size();
62
+ jni::local_ref<jni::JArrayClass<JManufacturerDataEntry>> __array = jni::JArrayClass<JManufacturerDataEntry>::newArray(__size);
63
+ for (size_t __i = 0; __i < __size; __i++) {
64
+ const auto& __element = value.companyIdentifiers[__i];
65
+ __array->setElement(__i, *JManufacturerDataEntry::fromCpp(__element));
66
+ }
67
+ return __array;
68
+ }()
69
+ );
70
+ }
71
+ };
72
+
73
+ } // namespace margelo::nitro::co::zyke::ble
@@ -0,0 +1,68 @@
1
+ ///
2
+ /// JManufacturerDataEntry.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 "ManufacturerDataEntry.hpp"
12
+
13
+ #include <string>
14
+ #include <vector>
15
+
16
+ namespace margelo::nitro::co::zyke::ble {
17
+
18
+ using namespace facebook;
19
+
20
+ /**
21
+ * The C++ JNI bridge between the C++ struct "ManufacturerDataEntry" and the the Kotlin data class "ManufacturerDataEntry".
22
+ */
23
+ struct JManufacturerDataEntry final: public jni::JavaClass<JManufacturerDataEntry> {
24
+ public:
25
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/co/zyke/ble/ManufacturerDataEntry;";
26
+
27
+ public:
28
+ /**
29
+ * Convert this Java/Kotlin-based struct to the C++ struct ManufacturerDataEntry by copying all values to C++.
30
+ */
31
+ [[maybe_unused]]
32
+ [[nodiscard]]
33
+ ManufacturerDataEntry toCpp() const {
34
+ static const auto clazz = javaClassStatic();
35
+ static const auto fieldId = clazz->getField<jni::JString>("id");
36
+ jni::local_ref<jni::JString> id = this->getFieldValue(fieldId);
37
+ static const auto fieldData = clazz->getField<jni::JArrayDouble>("data");
38
+ jni::local_ref<jni::JArrayDouble> data = this->getFieldValue(fieldData);
39
+ return ManufacturerDataEntry(
40
+ id->toStdString(),
41
+ [&]() {
42
+ size_t __size = data->size();
43
+ std::vector<double> __vector(__size);
44
+ data->getRegion(0, __size, __vector.data());
45
+ return __vector;
46
+ }()
47
+ );
48
+ }
49
+
50
+ public:
51
+ /**
52
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
53
+ */
54
+ [[maybe_unused]]
55
+ static jni::local_ref<JManufacturerDataEntry::javaobject> fromCpp(const ManufacturerDataEntry& value) {
56
+ return newInstance(
57
+ jni::make_jstring(value.id),
58
+ [&]() {
59
+ size_t __size = value.data.size();
60
+ jni::local_ref<jni::JArrayDouble> __array = jni::JArrayDouble::newArray(__size);
61
+ __array->setRegion(0, __size, value.data.data());
62
+ return __array;
63
+ }()
64
+ );
65
+ }
66
+ };
67
+
68
+ } // namespace margelo::nitro::co::zyke::ble
@@ -0,0 +1,79 @@
1
+ ///
2
+ /// JScanFilter.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 "ScanFilter.hpp"
12
+
13
+ #include <string>
14
+ #include <vector>
15
+
16
+ namespace margelo::nitro::co::zyke::ble {
17
+
18
+ using namespace facebook;
19
+
20
+ /**
21
+ * The C++ JNI bridge between the C++ struct "ScanFilter" and the the Kotlin data class "ScanFilter".
22
+ */
23
+ struct JScanFilter final: public jni::JavaClass<JScanFilter> {
24
+ public:
25
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/co/zyke/ble/ScanFilter;";
26
+
27
+ public:
28
+ /**
29
+ * Convert this Java/Kotlin-based struct to the C++ struct ScanFilter by copying all values to C++.
30
+ */
31
+ [[maybe_unused]]
32
+ [[nodiscard]]
33
+ ScanFilter toCpp() const {
34
+ static const auto clazz = javaClassStatic();
35
+ static const auto fieldServiceUUIDs = clazz->getField<jni::JArrayClass<jni::JString>>("serviceUUIDs");
36
+ jni::local_ref<jni::JArrayClass<jni::JString>> serviceUUIDs = this->getFieldValue(fieldServiceUUIDs);
37
+ static const auto fieldRssiThreshold = clazz->getField<double>("rssiThreshold");
38
+ double rssiThreshold = this->getFieldValue(fieldRssiThreshold);
39
+ static const auto fieldAllowDuplicates = clazz->getField<jboolean>("allowDuplicates");
40
+ jboolean allowDuplicates = this->getFieldValue(fieldAllowDuplicates);
41
+ return ScanFilter(
42
+ [&]() {
43
+ size_t __size = serviceUUIDs->size();
44
+ std::vector<std::string> __vector;
45
+ __vector.reserve(__size);
46
+ for (size_t __i = 0; __i < __size; __i++) {
47
+ auto __element = serviceUUIDs->getElement(__i);
48
+ __vector.push_back(__element->toStdString());
49
+ }
50
+ return __vector;
51
+ }(),
52
+ rssiThreshold,
53
+ static_cast<bool>(allowDuplicates)
54
+ );
55
+ }
56
+
57
+ public:
58
+ /**
59
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
60
+ */
61
+ [[maybe_unused]]
62
+ static jni::local_ref<JScanFilter::javaobject> fromCpp(const ScanFilter& value) {
63
+ return newInstance(
64
+ [&]() {
65
+ size_t __size = value.serviceUUIDs.size();
66
+ jni::local_ref<jni::JArrayClass<jni::JString>> __array = jni::JArrayClass<jni::JString>::newArray(__size);
67
+ for (size_t __i = 0; __i < __size; __i++) {
68
+ const auto& __element = value.serviceUUIDs[__i];
69
+ __array->setElement(__i, *jni::make_jstring(__element));
70
+ }
71
+ return __array;
72
+ }(),
73
+ value.rssiThreshold,
74
+ value.allowDuplicates
75
+ );
76
+ }
77
+ };
78
+
79
+ } // namespace margelo::nitro::co::zyke::ble
@@ -0,0 +1,44 @@
1
+ ///
2
+ /// BLEDevice.kt
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
+ package com.margelo.nitro.co.zyke.ble
9
+
10
+ import androidx.annotation.Keep
11
+ import com.facebook.proguard.annotations.DoNotStrip
12
+ import com.margelo.nitro.core.*
13
+
14
+
15
+ /**
16
+ * Represents the JavaScript object/struct "BLEDevice".
17
+ */
18
+ @DoNotStrip
19
+ @Keep
20
+ data class BLEDevice
21
+ @DoNotStrip
22
+ @Keep
23
+ constructor(
24
+ @DoNotStrip
25
+ @Keep
26
+ val id: String,
27
+ @DoNotStrip
28
+ @Keep
29
+ val name: String,
30
+ @DoNotStrip
31
+ @Keep
32
+ val rssi: Double,
33
+ @DoNotStrip
34
+ @Keep
35
+ val manufacturerData: ManufacturerData,
36
+ @DoNotStrip
37
+ @Keep
38
+ val serviceUUIDs: Array<String>,
39
+ @DoNotStrip
40
+ @Keep
41
+ val isConnectable: Boolean
42
+ ) {
43
+ /* main constructor */
44
+ }
@@ -1,5 +1,5 @@
1
1
  ///
2
- /// LogLevel.kt
2
+ /// BLEState.kt
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
@@ -11,19 +11,15 @@ import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
12
 
13
13
  /**
14
- * Represents the JavaScript enum/union "LogLevel".
14
+ * Represents the JavaScript enum/union "BLEState".
15
15
  */
16
16
  @DoNotStrip
17
17
  @Keep
18
- enum class LogLevel {
19
- NONE,
20
- VERBOSE,
21
- DEBUG,
22
- INFO,
23
- WARNING,
24
- ERROR;
25
-
26
- @DoNotStrip
27
- @Keep
28
- private val _ordinal = ordinal
18
+ enum class BLEState(@DoNotStrip @Keep val value: Int) {
19
+ UNKNOWN(0),
20
+ RESETTING(1),
21
+ UNSUPPORTED(2),
22
+ UNAUTHORIZED(3),
23
+ POWEREDOFF(4),
24
+ POWEREDON(5);
29
25
  }
@@ -1,5 +1,5 @@
1
1
  ///
2
- /// Func_void_std__optional_NativeBleError__std__optional_NativeDevice_.kt
2
+ /// Func_void_BLEDevice.kt
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
@@ -13,26 +13,27 @@ import com.facebook.proguard.annotations.DoNotStrip
13
13
  import com.margelo.nitro.core.*
14
14
  import dalvik.annotation.optimization.FastNative
15
15
 
16
+
16
17
  /**
17
- * Represents the JavaScript callback `(error: optional, device: optional) => void`.
18
+ * Represents the JavaScript callback `(device: struct) => void`.
18
19
  * This can be either implemented in C++ (in which case it might be a callback coming from JS),
19
20
  * or in Kotlin/Java (in which case it is a native callback).
20
21
  */
21
22
  @DoNotStrip
22
23
  @Keep
23
24
  @Suppress("ClassName", "RedundantUnitReturnType")
24
- fun interface Func_void_std__optional_NativeBleError__std__optional_NativeDevice_: (NativeBleError?, NativeDevice?) -> Unit {
25
+ fun interface Func_void_BLEDevice: (BLEDevice) -> Unit {
25
26
  /**
26
27
  * Call the given JS callback.
27
28
  * @throws Throwable if the JS function itself throws an error, or if the JS function/runtime has already been deleted.
28
29
  */
29
30
  @DoNotStrip
30
31
  @Keep
31
- override fun invoke(error: NativeBleError?, device: NativeDevice?): Unit
32
+ override fun invoke(device: BLEDevice): Unit
32
33
  }
33
34
 
34
35
  /**
35
- * Represents the JavaScript callback `(error: optional, device: optional) => void`.
36
+ * Represents the JavaScript callback `(device: struct) => void`.
36
37
  * This is implemented in C++, via a `std::function<...>`.
37
38
  * The callback might be coming from JS.
38
39
  */
@@ -43,7 +44,7 @@ fun interface Func_void_std__optional_NativeBleError__std__optional_NativeDevice
43
44
  "RedundantSuppression", "RedundantUnitReturnType", "FunctionName",
44
45
  "ConvertSecondaryConstructorToPrimary", "ClassName", "LocalVariableName",
45
46
  )
46
- class Func_void_std__optional_NativeBleError__std__optional_NativeDevice__cxx: Func_void_std__optional_NativeBleError__std__optional_NativeDevice_ {
47
+ class Func_void_BLEDevice_cxx: Func_void_BLEDevice {
47
48
  @DoNotStrip
48
49
  @Keep
49
50
  private val mHybridData: HybridData
@@ -56,25 +57,25 @@ class Func_void_std__optional_NativeBleError__std__optional_NativeDevice__cxx: F
56
57
 
57
58
  @DoNotStrip
58
59
  @Keep
59
- override fun invoke(error: NativeBleError?, device: NativeDevice?): Unit
60
- = invoke_cxx(error,device)
60
+ override fun invoke(device: BLEDevice): Unit
61
+ = invoke_cxx(device)
61
62
 
62
63
  @FastNative
63
- private external fun invoke_cxx(error: NativeBleError?, device: NativeDevice?): Unit
64
+ private external fun invoke_cxx(device: BLEDevice): Unit
64
65
  }
65
66
 
66
67
  /**
67
- * Represents the JavaScript callback `(error: optional, device: optional) => void`.
68
- * This is implemented in Java/Kotlin, via a `(NativeBleError?, NativeDevice?) -> Unit`.
68
+ * Represents the JavaScript callback `(device: struct) => void`.
69
+ * This is implemented in Java/Kotlin, via a `(BLEDevice) -> Unit`.
69
70
  * The callback is always coming from native.
70
71
  */
71
72
  @DoNotStrip
72
73
  @Keep
73
74
  @Suppress("ClassName", "RedundantUnitReturnType", "unused")
74
- class Func_void_std__optional_NativeBleError__std__optional_NativeDevice__java(private val function: (NativeBleError?, NativeDevice?) -> Unit): Func_void_std__optional_NativeBleError__std__optional_NativeDevice_ {
75
+ class Func_void_BLEDevice_java(private val function: (BLEDevice) -> Unit): Func_void_BLEDevice {
75
76
  @DoNotStrip
76
77
  @Keep
77
- override fun invoke(error: NativeBleError?, device: NativeDevice?): Unit {
78
- return this.function(error, device)
78
+ override fun invoke(device: BLEDevice): Unit {
79
+ return this.function(device)
79
80
  }
80
81
  }