react-native-ble-nitro 1.0.0-beta.9 → 1.1.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 (349) hide show
  1. package/BleNitro.podspec +39 -0
  2. package/LICENSE +1 -1
  3. package/README.md +277 -77
  4. package/ios/BleNitroBleManager.swift +457 -455
  5. package/ios/BlePeripheralDelegate.swift +174 -0
  6. package/lib/commonjs/index.d.ts +176 -10
  7. package/lib/commonjs/index.d.ts.map +1 -1
  8. package/lib/commonjs/index.js +398 -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 +72 -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 +176 -10
  19. package/lib/index.js +393 -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 +71 -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 +19 -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_std__string.hpp +75 -0
  32. package/nitrogen/generated/android/c++/JFunc_void_bool_std__string_std__string.hpp +75 -0
  33. package/nitrogen/generated/android/c++/JFunc_void_bool_std__vector_double__std__string.hpp +86 -0
  34. package/nitrogen/generated/android/c++/JFunc_void_std__string_bool_std__string.hpp +75 -0
  35. package/nitrogen/generated/android/c++/JFunc_void_std__string_std__vector_double_.hpp +86 -0
  36. package/nitrogen/generated/android/c++/JHybridNativeBleNitroSpec.cpp +212 -0
  37. package/nitrogen/generated/android/c++/JHybridNativeBleNitroSpec.hpp +82 -0
  38. package/nitrogen/generated/android/c++/JManufacturerData.hpp +73 -0
  39. package/nitrogen/generated/android/c++/JManufacturerDataEntry.hpp +68 -0
  40. package/nitrogen/generated/android/c++/JOperationResult.hpp +58 -0
  41. package/nitrogen/generated/android/c++/JScanFilter.hpp +79 -0
  42. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BLEDevice.kt +44 -0
  43. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/{LogLevel.kt → BLEState.kt} +9 -13
  44. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/{Func_void_State.kt → Func_void_BLEDevice.kt} +15 -14
  45. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/{Func_void.kt → Func_void_BLEState.kt} +15 -14
  46. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/{Func_void_std__optional_NativeBleError__std__optional_NativeDevice_.kt → Func_void_bool_std__string.kt} +15 -14
  47. 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_std__string.kt} +15 -14
  48. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Func_void_bool_std__vector_double__std__string.kt +81 -0
  49. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Func_void_std__string_bool_std__string.kt +81 -0
  50. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Func_void_std__string_std__vector_double_.kt +81 -0
  51. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/HybridNativeBleNitroSpec.kt +174 -0
  52. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/{ServiceDataEntry.kt → ManufacturerData.kt} +7 -5
  53. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/{NativeService.kt → ManufacturerDataEntry.kt} +10 -7
  54. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/{ConnectionOptions.kt → OperationResult.kt} +10 -6
  55. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/{BleRestoredState.kt → ScanFilter.kt} +13 -4
  56. package/nitrogen/generated/ios/BleNitro-Swift-Cxx-Bridge.cpp +56 -188
  57. package/nitrogen/generated/ios/BleNitro-Swift-Cxx-Bridge.hpp +210 -881
  58. package/nitrogen/generated/ios/BleNitro-Swift-Cxx-Umbrella.hpp +23 -88
  59. package/nitrogen/generated/ios/BleNitroAutolinking.mm +3 -3
  60. package/nitrogen/generated/ios/BleNitroAutolinking.swift +4 -4
  61. package/nitrogen/generated/ios/c++/{HybridCharacteristicSpecSwift.cpp → HybridNativeBleNitroSpecSwift.cpp} +2 -2
  62. package/nitrogen/generated/ios/c++/HybridNativeBleNitroSpecSwift.hpp +220 -0
  63. package/nitrogen/generated/ios/swift/BLEDevice.swift +102 -0
  64. package/nitrogen/generated/ios/swift/{State.swift → BLEState.swift} +6 -6
  65. package/nitrogen/generated/ios/swift/Func_void.swift +1 -0
  66. package/nitrogen/generated/ios/swift/{Func_void_bool.swift → Func_void_BLEDevice.swift} +12 -11
  67. package/nitrogen/generated/ios/swift/{Func_void_LogLevel.swift → Func_void_BLEState.swift} +12 -11
  68. package/nitrogen/generated/ios/swift/{Func_void_NativeDescriptor.swift → Func_void_bool_std__string.swift} +12 -11
  69. package/nitrogen/generated/ios/swift/{Func_void_std__vector_NativeCharacteristic_.swift → Func_void_bool_std__string_std__string.swift} +12 -11
  70. package/nitrogen/generated/ios/swift/Func_void_bool_std__vector_double__std__string.swift +47 -0
  71. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +1 -0
  72. package/nitrogen/generated/ios/swift/{Func_void_std__vector_NativeDevice_.swift → Func_void_std__string_bool_std__string.swift} +12 -11
  73. package/nitrogen/generated/ios/swift/{Func_void_std__optional_BleRestoredState_.swift → Func_void_std__string_std__vector_double_.swift} +12 -17
  74. package/nitrogen/generated/ios/swift/HybridNativeBleNitroSpec.swift +67 -0
  75. package/nitrogen/generated/ios/swift/HybridNativeBleNitroSpec_cxx.swift +433 -0
  76. package/nitrogen/generated/ios/swift/ManufacturerData.swift +47 -0
  77. package/nitrogen/generated/ios/swift/ManufacturerDataEntry.swift +58 -0
  78. package/nitrogen/generated/ios/swift/{BleManagerNitroOptions.swift → OperationResult.swift} +22 -11
  79. package/nitrogen/generated/ios/swift/ScanFilter.swift +69 -0
  80. package/nitrogen/generated/shared/c++/BLEDevice.hpp +90 -0
  81. package/nitrogen/generated/shared/c++/{State.hpp → BLEState.hpp} +13 -15
  82. package/nitrogen/generated/shared/c++/HybridNativeBleNitroSpec.cpp +39 -0
  83. package/nitrogen/generated/shared/c++/HybridNativeBleNitroSpec.hpp +95 -0
  84. package/nitrogen/generated/shared/c++/ManufacturerData.hpp +69 -0
  85. package/nitrogen/generated/shared/c++/{ServiceDataEntry.hpp → ManufacturerDataEntry.hpp} +19 -20
  86. package/nitrogen/generated/shared/c++/{BleManagerNitroOptions.hpp → OperationResult.hpp} +19 -17
  87. package/nitrogen/generated/shared/c++/ScanFilter.hpp +76 -0
  88. package/package.json +9 -11
  89. package/react-native.config.js +2 -7
  90. package/src/__tests__/index.test.ts +185 -0
  91. package/src/index.ts +548 -45
  92. package/src/specs/NativeBleNitro.nitro.ts +88 -0
  93. package/src/specs/NativeBleNitro.ts +8 -0
  94. package/android/build.gradle +0 -58
  95. package/android/src/main/AndroidManifest.xml +0 -23
  96. package/android/src/main/kotlin/com/margelo/nitro/co/zyke/ble/BleNitroBleManager.kt +0 -760
  97. package/ios/BleNitro.podspec +0 -44
  98. package/ios/BleNitroModule.swift +0 -24
  99. package/lib/BleManagerCompatFactory.d.ts +0 -55
  100. package/lib/BleManagerCompatFactory.js +0 -194
  101. package/lib/BleManagerFactory.d.ts +0 -30
  102. package/lib/BleManagerFactory.js +0 -73
  103. package/lib/commonjs/BleManagerCompatFactory.d.ts +0 -56
  104. package/lib/commonjs/BleManagerCompatFactory.d.ts.map +0 -1
  105. package/lib/commonjs/BleManagerCompatFactory.js +0 -201
  106. package/lib/commonjs/BleManagerCompatFactory.js.map +0 -1
  107. package/lib/commonjs/BleManagerFactory.d.ts +0 -31
  108. package/lib/commonjs/BleManagerFactory.d.ts.map +0 -1
  109. package/lib/commonjs/BleManagerFactory.js +0 -81
  110. package/lib/commonjs/BleManagerFactory.js.map +0 -1
  111. package/lib/commonjs/compatibility/constants.d.ts +0 -50
  112. package/lib/commonjs/compatibility/constants.d.ts.map +0 -1
  113. package/lib/commonjs/compatibility/constants.js +0 -58
  114. package/lib/commonjs/compatibility/constants.js.map +0 -1
  115. package/lib/commonjs/compatibility/deviceWrapper.d.ts +0 -100
  116. package/lib/commonjs/compatibility/deviceWrapper.d.ts.map +0 -1
  117. package/lib/commonjs/compatibility/deviceWrapper.js +0 -268
  118. package/lib/commonjs/compatibility/deviceWrapper.js.map +0 -1
  119. package/lib/commonjs/compatibility/enums.d.ts +0 -39
  120. package/lib/commonjs/compatibility/enums.d.ts.map +0 -1
  121. package/lib/commonjs/compatibility/enums.js +0 -179
  122. package/lib/commonjs/compatibility/enums.js.map +0 -1
  123. package/lib/commonjs/compatibility/index.d.ts +0 -13
  124. package/lib/commonjs/compatibility/index.d.ts.map +0 -1
  125. package/lib/commonjs/compatibility/index.js +0 -41
  126. package/lib/commonjs/compatibility/index.js.map +0 -1
  127. package/lib/commonjs/compatibility/serviceData.d.ts +0 -52
  128. package/lib/commonjs/compatibility/serviceData.d.ts.map +0 -1
  129. package/lib/commonjs/compatibility/serviceData.js +0 -80
  130. package/lib/commonjs/compatibility/serviceData.js.map +0 -1
  131. package/lib/commonjs/errors/BleError.d.ts +0 -60
  132. package/lib/commonjs/errors/BleError.d.ts.map +0 -1
  133. package/lib/commonjs/errors/BleError.js +0 -125
  134. package/lib/commonjs/errors/BleError.js.map +0 -1
  135. package/lib/commonjs/specs/BleManager.nitro.d.ts +0 -45
  136. package/lib/commonjs/specs/BleManager.nitro.d.ts.map +0 -1
  137. package/lib/commonjs/specs/BleManager.nitro.js +0 -3
  138. package/lib/commonjs/specs/BleManager.nitro.js.map +0 -1
  139. package/lib/commonjs/specs/Characteristic.nitro.d.ts +0 -27
  140. package/lib/commonjs/specs/Characteristic.nitro.d.ts.map +0 -1
  141. package/lib/commonjs/specs/Characteristic.nitro.js +0 -3
  142. package/lib/commonjs/specs/Characteristic.nitro.js.map +0 -1
  143. package/lib/commonjs/specs/Descriptor.nitro.d.ts +0 -18
  144. package/lib/commonjs/specs/Descriptor.nitro.d.ts.map +0 -1
  145. package/lib/commonjs/specs/Descriptor.nitro.js +0 -3
  146. package/lib/commonjs/specs/Descriptor.nitro.js.map +0 -1
  147. package/lib/commonjs/specs/Device.nitro.d.ts +0 -38
  148. package/lib/commonjs/specs/Device.nitro.d.ts.map +0 -1
  149. package/lib/commonjs/specs/Device.nitro.js +0 -3
  150. package/lib/commonjs/specs/Device.nitro.js.map +0 -1
  151. package/lib/commonjs/specs/Service.nitro.d.ts +0 -20
  152. package/lib/commonjs/specs/Service.nitro.d.ts.map +0 -1
  153. package/lib/commonjs/specs/Service.nitro.js +0 -3
  154. package/lib/commonjs/specs/Service.nitro.js.map +0 -1
  155. package/lib/commonjs/specs/types.d.ts +0 -229
  156. package/lib/commonjs/specs/types.d.ts.map +0 -1
  157. package/lib/commonjs/specs/types.js +0 -150
  158. package/lib/commonjs/specs/types.js.map +0 -1
  159. package/lib/commonjs/utils/base64.d.ts +0 -26
  160. package/lib/commonjs/utils/base64.d.ts.map +0 -1
  161. package/lib/commonjs/utils/base64.js +0 -88
  162. package/lib/commonjs/utils/base64.js.map +0 -1
  163. package/lib/commonjs/utils/index.d.ts +0 -3
  164. package/lib/commonjs/utils/index.d.ts.map +0 -1
  165. package/lib/commonjs/utils/index.js.map +0 -1
  166. package/lib/commonjs/utils/uuid.d.ts +0 -10
  167. package/lib/commonjs/utils/uuid.d.ts.map +0 -1
  168. package/lib/commonjs/utils/uuid.js +0 -41
  169. package/lib/commonjs/utils/uuid.js.map +0 -1
  170. package/lib/compatibility/constants.d.ts +0 -49
  171. package/lib/compatibility/constants.js +0 -50
  172. package/lib/compatibility/deviceWrapper.d.ts +0 -99
  173. package/lib/compatibility/deviceWrapper.js +0 -259
  174. package/lib/compatibility/enums.d.ts +0 -38
  175. package/lib/compatibility/enums.js +0 -159
  176. package/lib/compatibility/index.d.ts +0 -12
  177. package/lib/compatibility/index.js +0 -12
  178. package/lib/compatibility/serviceData.d.ts +0 -51
  179. package/lib/compatibility/serviceData.js +0 -70
  180. package/lib/errors/BleError.d.ts +0 -59
  181. package/lib/errors/BleError.js +0 -120
  182. package/lib/specs/BleManager.nitro.d.ts +0 -44
  183. package/lib/specs/BleManager.nitro.js +0 -1
  184. package/lib/specs/Characteristic.nitro.d.ts +0 -26
  185. package/lib/specs/Characteristic.nitro.js +0 -1
  186. package/lib/specs/Descriptor.nitro.d.ts +0 -17
  187. package/lib/specs/Descriptor.nitro.js +0 -1
  188. package/lib/specs/Device.nitro.d.ts +0 -37
  189. package/lib/specs/Device.nitro.js +0 -1
  190. package/lib/specs/Service.nitro.d.ts +0 -19
  191. package/lib/specs/Service.nitro.js +0 -1
  192. package/lib/specs/types.d.ts +0 -228
  193. package/lib/specs/types.js +0 -146
  194. package/lib/utils/base64.d.ts +0 -25
  195. package/lib/utils/base64.js +0 -80
  196. package/lib/utils/index.d.ts +0 -2
  197. package/lib/utils/index.js +0 -2
  198. package/lib/utils/uuid.d.ts +0 -9
  199. package/lib/utils/uuid.js +0 -37
  200. package/nitrogen/generated/android/c++/JBleATTErrorCode.hpp +0 -107
  201. package/nitrogen/generated/android/c++/JBleAndroidErrorCode.hpp +0 -101
  202. package/nitrogen/generated/android/c++/JBleErrorCode.hpp +0 -170
  203. package/nitrogen/generated/android/c++/JBleIOSErrorCode.hpp +0 -92
  204. package/nitrogen/generated/android/c++/JBleManagerNitroOptions.hpp +0 -54
  205. package/nitrogen/generated/android/c++/JBleRestoredState.hpp +0 -76
  206. package/nitrogen/generated/android/c++/JCharacteristicSubscriptionType.hpp +0 -59
  207. package/nitrogen/generated/android/c++/JConnectionOptions.hpp +0 -61
  208. package/nitrogen/generated/android/c++/JConnectionPriority.hpp +0 -62
  209. package/nitrogen/generated/android/c++/JFunc_void.hpp +0 -74
  210. package/nitrogen/generated/android/c++/JFunc_void_State.hpp +0 -76
  211. package/nitrogen/generated/android/c++/JFunc_void_std__optional_NativeBleError__std__optional_NativeCharacteristic_.hpp +0 -88
  212. package/nitrogen/generated/android/c++/JFunc_void_std__optional_NativeBleError__std__optional_NativeDevice_.hpp +0 -91
  213. package/nitrogen/generated/android/c++/JHybridBleManagerSpec.cpp +0 -653
  214. package/nitrogen/generated/android/c++/JHybridBleManagerSpec.hpp +0 -92
  215. package/nitrogen/generated/android/c++/JHybridCharacteristicSpec.cpp +0 -253
  216. package/nitrogen/generated/android/c++/JHybridCharacteristicSpec.hpp +0 -79
  217. package/nitrogen/generated/android/c++/JHybridDescriptorSpec.cpp +0 -115
  218. package/nitrogen/generated/android/c++/JHybridDescriptorSpec.hpp +0 -70
  219. package/nitrogen/generated/android/c++/JHybridDeviceSpec.cpp +0 -476
  220. package/nitrogen/generated/android/c++/JHybridDeviceSpec.hpp +0 -90
  221. package/nitrogen/generated/android/c++/JHybridServiceSpec.cpp +0 -232
  222. package/nitrogen/generated/android/c++/JHybridServiceSpec.hpp +0 -72
  223. package/nitrogen/generated/android/c++/JLogLevel.hpp +0 -71
  224. package/nitrogen/generated/android/c++/JNativeBleError.hpp +0 -98
  225. package/nitrogen/generated/android/c++/JNativeCharacteristic.hpp +0 -98
  226. package/nitrogen/generated/android/c++/JNativeDescriptor.hpp +0 -82
  227. package/nitrogen/generated/android/c++/JNativeDevice.hpp +0 -173
  228. package/nitrogen/generated/android/c++/JNativeService.hpp +0 -65
  229. package/nitrogen/generated/android/c++/JScanCallbackType.hpp +0 -62
  230. package/nitrogen/generated/android/c++/JScanMode.hpp +0 -65
  231. package/nitrogen/generated/android/c++/JScanOptions.hpp +0 -69
  232. package/nitrogen/generated/android/c++/JServiceDataEntry.hpp +0 -57
  233. package/nitrogen/generated/android/c++/JSubscription.hpp +0 -64
  234. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BleATTErrorCode.kt +0 -41
  235. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BleAndroidErrorCode.kt +0 -39
  236. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BleErrorCode.kt +0 -62
  237. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BleIOSErrorCode.kt +0 -36
  238. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BleManagerNitroOptions.kt +0 -26
  239. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/CharacteristicSubscriptionType.kt +0 -25
  240. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/ConnectionPriority.kt +0 -26
  241. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/HybridBleManagerSpec.kt +0 -192
  242. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/HybridCharacteristicSpec.kt +0 -127
  243. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/HybridDescriptorSpec.kt +0 -86
  244. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/HybridDeviceSpec.kt +0 -176
  245. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/HybridServiceSpec.kt +0 -99
  246. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/NativeBleError.kt +0 -35
  247. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/NativeCharacteristic.kt +0 -37
  248. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/NativeDescriptor.kt +0 -33
  249. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/NativeDevice.kt +0 -38
  250. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/ScanCallbackType.kt +0 -26
  251. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/ScanMode.kt +0 -27
  252. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/ScanOptions.kt +0 -29
  253. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/State.kt +0 -29
  254. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Subscription.kt +0 -30
  255. package/nitrogen/generated/ios/c++/HybridBleManagerSpecSwift.cpp +0 -11
  256. package/nitrogen/generated/ios/c++/HybridBleManagerSpecSwift.hpp +0 -377
  257. package/nitrogen/generated/ios/c++/HybridCharacteristicSpecSwift.hpp +0 -192
  258. package/nitrogen/generated/ios/c++/HybridDescriptorSpecSwift.cpp +0 -11
  259. package/nitrogen/generated/ios/c++/HybridDescriptorSpecSwift.hpp +0 -112
  260. package/nitrogen/generated/ios/c++/HybridDeviceSpecSwift.cpp +0 -11
  261. package/nitrogen/generated/ios/c++/HybridDeviceSpecSwift.hpp +0 -294
  262. package/nitrogen/generated/ios/c++/HybridServiceSpecSwift.cpp +0 -11
  263. package/nitrogen/generated/ios/c++/HybridServiceSpecSwift.hpp +0 -170
  264. package/nitrogen/generated/ios/swift/BleATTErrorCode.swift +0 -104
  265. package/nitrogen/generated/ios/swift/BleAndroidErrorCode.swift +0 -96
  266. package/nitrogen/generated/ios/swift/BleErrorCode.swift +0 -188
  267. package/nitrogen/generated/ios/swift/BleIOSErrorCode.swift +0 -84
  268. package/nitrogen/generated/ios/swift/BleRestoredState.swift +0 -47
  269. package/nitrogen/generated/ios/swift/CharacteristicSubscriptionType.swift +0 -40
  270. package/nitrogen/generated/ios/swift/ConnectionOptions.swift +0 -57
  271. package/nitrogen/generated/ios/swift/ConnectionPriority.swift +0 -44
  272. package/nitrogen/generated/ios/swift/Func_void_NativeCharacteristic.swift +0 -46
  273. package/nitrogen/generated/ios/swift/Func_void_NativeDevice.swift +0 -46
  274. package/nitrogen/generated/ios/swift/Func_void_State.swift +0 -46
  275. package/nitrogen/generated/ios/swift/Func_void_std__optional_NativeBleError__std__optional_NativeCharacteristic_.swift +0 -58
  276. package/nitrogen/generated/ios/swift/Func_void_std__optional_NativeBleError__std__optional_NativeDevice_.swift +0 -58
  277. package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_margelo__nitro__co__zyke__ble__HybridCharacteristicSpec_.swift +0 -50
  278. package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_margelo__nitro__co__zyke__ble__HybridDescriptorSpec_.swift +0 -50
  279. package/nitrogen/generated/ios/swift/Func_void_std__vector_NativeDescriptor_.swift +0 -46
  280. package/nitrogen/generated/ios/swift/Func_void_std__vector_NativeService_.swift +0 -46
  281. package/nitrogen/generated/ios/swift/HybridBleManagerSpec.swift +0 -78
  282. package/nitrogen/generated/ios/swift/HybridBleManagerSpec_cxx.swift +0 -852
  283. package/nitrogen/generated/ios/swift/HybridCharacteristicSpec.swift +0 -65
  284. package/nitrogen/generated/ios/swift/HybridCharacteristicSpec_cxx.swift +0 -384
  285. package/nitrogen/generated/ios/swift/HybridDescriptorSpec.swift +0 -56
  286. package/nitrogen/generated/ios/swift/HybridDescriptorSpec_cxx.swift +0 -218
  287. package/nitrogen/generated/ios/swift/HybridDeviceSpec.swift +0 -76
  288. package/nitrogen/generated/ios/swift/HybridDeviceSpec_cxx.swift +0 -702
  289. package/nitrogen/generated/ios/swift/HybridServiceSpec.swift +0 -58
  290. package/nitrogen/generated/ios/swift/HybridServiceSpec_cxx.swift +0 -338
  291. package/nitrogen/generated/ios/swift/LogLevel.swift +0 -56
  292. package/nitrogen/generated/ios/swift/NativeBleError.swift +0 -278
  293. package/nitrogen/generated/ios/swift/NativeCharacteristic.swift +0 -174
  294. package/nitrogen/generated/ios/swift/NativeDescriptor.swift +0 -130
  295. package/nitrogen/generated/ios/swift/NativeDevice.swift +0 -377
  296. package/nitrogen/generated/ios/swift/NativeService.swift +0 -68
  297. package/nitrogen/generated/ios/swift/ScanCallbackType.swift +0 -44
  298. package/nitrogen/generated/ios/swift/ScanMode.swift +0 -48
  299. package/nitrogen/generated/ios/swift/ScanOptions.swift +0 -116
  300. package/nitrogen/generated/ios/swift/ServiceDataEntry.swift +0 -46
  301. package/nitrogen/generated/ios/swift/Subscription.swift +0 -46
  302. package/nitrogen/generated/shared/c++/BleATTErrorCode.hpp +0 -80
  303. package/nitrogen/generated/shared/c++/BleAndroidErrorCode.hpp +0 -78
  304. package/nitrogen/generated/shared/c++/BleErrorCode.hpp +0 -101
  305. package/nitrogen/generated/shared/c++/BleIOSErrorCode.hpp +0 -75
  306. package/nitrogen/generated/shared/c++/BleRestoredState.hpp +0 -71
  307. package/nitrogen/generated/shared/c++/CharacteristicSubscriptionType.hpp +0 -64
  308. package/nitrogen/generated/shared/c++/ConnectionOptions.hpp +0 -77
  309. package/nitrogen/generated/shared/c++/ConnectionPriority.hpp +0 -65
  310. package/nitrogen/generated/shared/c++/HybridBleManagerSpec.cpp +0 -51
  311. package/nitrogen/generated/shared/c++/HybridBleManagerSpec.hpp +0 -137
  312. package/nitrogen/generated/shared/c++/HybridCharacteristicSpec.cpp +0 -39
  313. package/nitrogen/generated/shared/c++/HybridCharacteristicSpec.hpp +0 -101
  314. package/nitrogen/generated/shared/c++/HybridDescriptorSpec.cpp +0 -30
  315. package/nitrogen/generated/shared/c++/HybridDescriptorSpec.hpp +0 -75
  316. package/nitrogen/generated/shared/c++/HybridDeviceSpec.cpp +0 -50
  317. package/nitrogen/generated/shared/c++/HybridDeviceSpec.hpp +0 -123
  318. package/nitrogen/generated/shared/c++/HybridServiceSpec.cpp +0 -32
  319. package/nitrogen/generated/shared/c++/HybridServiceSpec.hpp +0 -90
  320. package/nitrogen/generated/shared/c++/LogLevel.hpp +0 -68
  321. package/nitrogen/generated/shared/c++/NativeBleError.hpp +0 -117
  322. package/nitrogen/generated/shared/c++/NativeCharacteristic.hpp +0 -114
  323. package/nitrogen/generated/shared/c++/NativeDescriptor.hpp +0 -98
  324. package/nitrogen/generated/shared/c++/NativeDevice.hpp +0 -121
  325. package/nitrogen/generated/shared/c++/NativeService.hpp +0 -81
  326. package/nitrogen/generated/shared/c++/ScanCallbackType.hpp +0 -65
  327. package/nitrogen/generated/shared/c++/ScanMode.hpp +0 -66
  328. package/nitrogen/generated/shared/c++/ScanOptions.hpp +0 -86
  329. package/nitrogen/generated/shared/c++/Subscription.hpp +0 -69
  330. package/src/BleManagerCompatFactory.ts +0 -371
  331. package/src/BleManagerFactory.ts +0 -93
  332. package/src/__tests__/BleManager.test.ts +0 -327
  333. package/src/__tests__/compatibility/deviceWrapper.test.ts +0 -563
  334. package/src/__tests__/compatibility/enums.test.ts +0 -264
  335. package/src/compatibility/constants.ts +0 -71
  336. package/src/compatibility/deviceWrapper.ts +0 -427
  337. package/src/compatibility/enums.ts +0 -190
  338. package/src/compatibility/index.ts +0 -32
  339. package/src/compatibility/serviceData.ts +0 -85
  340. package/src/errors/BleError.ts +0 -193
  341. package/src/specs/BleManager.nitro.ts +0 -165
  342. package/src/specs/Characteristic.nitro.ts +0 -61
  343. package/src/specs/Descriptor.nitro.ts +0 -28
  344. package/src/specs/Device.nitro.ts +0 -104
  345. package/src/specs/Service.nitro.ts +0 -64
  346. package/src/specs/types.ts +0 -259
  347. package/src/utils/base64.ts +0 -80
  348. package/src/utils/index.ts +0 -2
  349. package/src/utils/uuid.ts +0 -45
@@ -1,232 +0,0 @@
1
- ///
2
- /// JHybridServiceSpec.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 "JHybridServiceSpec.hpp"
9
-
10
- // Forward declaration of `NativeCharacteristic` to properly resolve imports.
11
- namespace margelo::nitro::co::zyke::ble { struct NativeCharacteristic; }
12
- // Forward declaration of `Subscription` to properly resolve imports.
13
- namespace margelo::nitro::co::zyke::ble { struct Subscription; }
14
- // Forward declaration of `NativeDescriptor` to properly resolve imports.
15
- namespace margelo::nitro::co::zyke::ble { struct NativeDescriptor; }
16
- // Forward declaration of `NativeBleError` to properly resolve imports.
17
- namespace margelo::nitro::co::zyke::ble { struct NativeBleError; }
18
- // Forward declaration of `BleErrorCode` to properly resolve imports.
19
- namespace margelo::nitro::co::zyke::ble { enum class BleErrorCode; }
20
- // Forward declaration of `BleATTErrorCode` to properly resolve imports.
21
- namespace margelo::nitro::co::zyke::ble { enum class BleATTErrorCode; }
22
- // Forward declaration of `BleIOSErrorCode` to properly resolve imports.
23
- namespace margelo::nitro::co::zyke::ble { enum class BleIOSErrorCode; }
24
- // Forward declaration of `BleAndroidErrorCode` to properly resolve imports.
25
- namespace margelo::nitro::co::zyke::ble { enum class BleAndroidErrorCode; }
26
- // Forward declaration of `CharacteristicSubscriptionType` to properly resolve imports.
27
- namespace margelo::nitro::co::zyke::ble { enum class CharacteristicSubscriptionType; }
28
-
29
- #include <string>
30
- #include <NitroModules/Promise.hpp>
31
- #include <vector>
32
- #include "NativeCharacteristic.hpp"
33
- #include <NitroModules/JPromise.hpp>
34
- #include "JNativeCharacteristic.hpp"
35
- #include <optional>
36
- #include "Subscription.hpp"
37
- #include "JSubscription.hpp"
38
- #include <functional>
39
- #include "JFunc_void.hpp"
40
- #include "NativeDescriptor.hpp"
41
- #include "JNativeDescriptor.hpp"
42
- #include "NativeBleError.hpp"
43
- #include "JFunc_void_std__optional_NativeBleError__std__optional_NativeCharacteristic_.hpp"
44
- #include "JNativeBleError.hpp"
45
- #include "BleErrorCode.hpp"
46
- #include "JBleErrorCode.hpp"
47
- #include "BleATTErrorCode.hpp"
48
- #include "JBleATTErrorCode.hpp"
49
- #include "BleIOSErrorCode.hpp"
50
- #include "JBleIOSErrorCode.hpp"
51
- #include "BleAndroidErrorCode.hpp"
52
- #include "JBleAndroidErrorCode.hpp"
53
- #include "CharacteristicSubscriptionType.hpp"
54
- #include "JCharacteristicSubscriptionType.hpp"
55
-
56
- namespace margelo::nitro::co::zyke::ble {
57
-
58
- jni::local_ref<JHybridServiceSpec::jhybriddata> JHybridServiceSpec::initHybrid(jni::alias_ref<jhybridobject> jThis) {
59
- return makeCxxInstance(jThis);
60
- }
61
-
62
- void JHybridServiceSpec::registerNatives() {
63
- registerHybrid({
64
- makeNativeMethod("initHybrid", JHybridServiceSpec::initHybrid),
65
- });
66
- }
67
-
68
- size_t JHybridServiceSpec::getExternalMemorySize() noexcept {
69
- static const auto method = javaClassStatic()->getMethod<jlong()>("getMemorySize");
70
- return method(_javaPart);
71
- }
72
-
73
- // Properties
74
- double JHybridServiceSpec::getId() {
75
- static const auto method = javaClassStatic()->getMethod<double()>("getId");
76
- auto __result = method(_javaPart);
77
- return __result;
78
- }
79
- std::string JHybridServiceSpec::getUuid() {
80
- static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getUuid");
81
- auto __result = method(_javaPart);
82
- return __result->toStdString();
83
- }
84
- std::string JHybridServiceSpec::getDeviceID() {
85
- static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getDeviceID");
86
- auto __result = method(_javaPart);
87
- return __result->toStdString();
88
- }
89
- bool JHybridServiceSpec::getIsPrimary() {
90
- static const auto method = javaClassStatic()->getMethod<jboolean()>("isPrimary");
91
- auto __result = method(_javaPart);
92
- return static_cast<bool>(__result);
93
- }
94
-
95
- // Methods
96
- std::shared_ptr<Promise<std::vector<NativeCharacteristic>>> JHybridServiceSpec::characteristics() {
97
- static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("characteristics");
98
- auto __result = method(_javaPart);
99
- return [&]() {
100
- auto __promise = Promise<std::vector<NativeCharacteristic>>::create();
101
- __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
102
- auto __result = jni::static_ref_cast<jni::JArrayClass<JNativeCharacteristic>>(__boxedResult);
103
- __promise->resolve([&]() {
104
- size_t __size = __result->size();
105
- std::vector<NativeCharacteristic> __vector;
106
- __vector.reserve(__size);
107
- for (size_t __i = 0; __i < __size; __i++) {
108
- auto __element = __result->getElement(__i);
109
- __vector.push_back(__element->toCpp());
110
- }
111
- return __vector;
112
- }());
113
- });
114
- __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
115
- jni::JniException __jniError(__throwable);
116
- __promise->reject(std::make_exception_ptr(__jniError));
117
- });
118
- return __promise;
119
- }();
120
- }
121
- std::shared_ptr<Promise<NativeCharacteristic>> JHybridServiceSpec::readCharacteristic(const std::string& characteristicUUID, const std::optional<std::string>& transactionId) {
122
- static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* characteristicUUID */, jni::alias_ref<jni::JString> /* transactionId */)>("readCharacteristic");
123
- auto __result = method(_javaPart, jni::make_jstring(characteristicUUID), transactionId.has_value() ? jni::make_jstring(transactionId.value()) : nullptr);
124
- return [&]() {
125
- auto __promise = Promise<NativeCharacteristic>::create();
126
- __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
127
- auto __result = jni::static_ref_cast<JNativeCharacteristic>(__boxedResult);
128
- __promise->resolve(__result->toCpp());
129
- });
130
- __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
131
- jni::JniException __jniError(__throwable);
132
- __promise->reject(std::make_exception_ptr(__jniError));
133
- });
134
- return __promise;
135
- }();
136
- }
137
- std::shared_ptr<Promise<NativeCharacteristic>> JHybridServiceSpec::writeCharacteristicWithResponse(const std::string& characteristicUUID, const std::string& valueBase64, const std::optional<std::string>& transactionId) {
138
- static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* characteristicUUID */, jni::alias_ref<jni::JString> /* valueBase64 */, jni::alias_ref<jni::JString> /* transactionId */)>("writeCharacteristicWithResponse");
139
- auto __result = method(_javaPart, jni::make_jstring(characteristicUUID), jni::make_jstring(valueBase64), transactionId.has_value() ? jni::make_jstring(transactionId.value()) : nullptr);
140
- return [&]() {
141
- auto __promise = Promise<NativeCharacteristic>::create();
142
- __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
143
- auto __result = jni::static_ref_cast<JNativeCharacteristic>(__boxedResult);
144
- __promise->resolve(__result->toCpp());
145
- });
146
- __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
147
- jni::JniException __jniError(__throwable);
148
- __promise->reject(std::make_exception_ptr(__jniError));
149
- });
150
- return __promise;
151
- }();
152
- }
153
- std::shared_ptr<Promise<NativeCharacteristic>> JHybridServiceSpec::writeCharacteristicWithoutResponse(const std::string& characteristicUUID, const std::string& valueBase64, const std::optional<std::string>& transactionId) {
154
- static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* characteristicUUID */, jni::alias_ref<jni::JString> /* valueBase64 */, jni::alias_ref<jni::JString> /* transactionId */)>("writeCharacteristicWithoutResponse");
155
- auto __result = method(_javaPart, jni::make_jstring(characteristicUUID), jni::make_jstring(valueBase64), transactionId.has_value() ? jni::make_jstring(transactionId.value()) : nullptr);
156
- return [&]() {
157
- auto __promise = Promise<NativeCharacteristic>::create();
158
- __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
159
- auto __result = jni::static_ref_cast<JNativeCharacteristic>(__boxedResult);
160
- __promise->resolve(__result->toCpp());
161
- });
162
- __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
163
- jni::JniException __jniError(__throwable);
164
- __promise->reject(std::make_exception_ptr(__jniError));
165
- });
166
- return __promise;
167
- }();
168
- }
169
- Subscription JHybridServiceSpec::monitorCharacteristic(const std::string& characteristicUUID, const std::function<void(const std::optional<NativeBleError>& /* error */, const std::optional<NativeCharacteristic>& /* characteristic */)>& listener, const std::optional<std::string>& transactionId, std::optional<CharacteristicSubscriptionType> subscriptionType) {
170
- static const auto method = javaClassStatic()->getMethod<jni::local_ref<JSubscription>(jni::alias_ref<jni::JString> /* characteristicUUID */, jni::alias_ref<JFunc_void_std__optional_NativeBleError__std__optional_NativeCharacteristic_::javaobject> /* listener */, jni::alias_ref<jni::JString> /* transactionId */, jni::alias_ref<JCharacteristicSubscriptionType> /* subscriptionType */)>("monitorCharacteristic_cxx");
171
- auto __result = method(_javaPart, jni::make_jstring(characteristicUUID), JFunc_void_std__optional_NativeBleError__std__optional_NativeCharacteristic__cxx::fromCpp(listener), transactionId.has_value() ? jni::make_jstring(transactionId.value()) : nullptr, subscriptionType.has_value() ? JCharacteristicSubscriptionType::fromCpp(subscriptionType.value()) : nullptr);
172
- return __result->toCpp();
173
- }
174
- std::shared_ptr<Promise<std::vector<NativeDescriptor>>> JHybridServiceSpec::descriptorsForCharacteristic(const std::string& characteristicUUID) {
175
- static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* characteristicUUID */)>("descriptorsForCharacteristic");
176
- auto __result = method(_javaPart, jni::make_jstring(characteristicUUID));
177
- return [&]() {
178
- auto __promise = Promise<std::vector<NativeDescriptor>>::create();
179
- __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
180
- auto __result = jni::static_ref_cast<jni::JArrayClass<JNativeDescriptor>>(__boxedResult);
181
- __promise->resolve([&]() {
182
- size_t __size = __result->size();
183
- std::vector<NativeDescriptor> __vector;
184
- __vector.reserve(__size);
185
- for (size_t __i = 0; __i < __size; __i++) {
186
- auto __element = __result->getElement(__i);
187
- __vector.push_back(__element->toCpp());
188
- }
189
- return __vector;
190
- }());
191
- });
192
- __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
193
- jni::JniException __jniError(__throwable);
194
- __promise->reject(std::make_exception_ptr(__jniError));
195
- });
196
- return __promise;
197
- }();
198
- }
199
- std::shared_ptr<Promise<NativeDescriptor>> JHybridServiceSpec::readDescriptorForCharacteristic(const std::string& characteristicUUID, const std::string& descriptorUUID, const std::optional<std::string>& transactionId) {
200
- static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* characteristicUUID */, jni::alias_ref<jni::JString> /* descriptorUUID */, jni::alias_ref<jni::JString> /* transactionId */)>("readDescriptorForCharacteristic");
201
- auto __result = method(_javaPart, jni::make_jstring(characteristicUUID), jni::make_jstring(descriptorUUID), transactionId.has_value() ? jni::make_jstring(transactionId.value()) : nullptr);
202
- return [&]() {
203
- auto __promise = Promise<NativeDescriptor>::create();
204
- __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
205
- auto __result = jni::static_ref_cast<JNativeDescriptor>(__boxedResult);
206
- __promise->resolve(__result->toCpp());
207
- });
208
- __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
209
- jni::JniException __jniError(__throwable);
210
- __promise->reject(std::make_exception_ptr(__jniError));
211
- });
212
- return __promise;
213
- }();
214
- }
215
- std::shared_ptr<Promise<NativeDescriptor>> JHybridServiceSpec::writeDescriptorForCharacteristic(const std::string& characteristicUUID, const std::string& descriptorUUID, const std::string& valueBase64, const std::optional<std::string>& transactionId) {
216
- static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* characteristicUUID */, jni::alias_ref<jni::JString> /* descriptorUUID */, jni::alias_ref<jni::JString> /* valueBase64 */, jni::alias_ref<jni::JString> /* transactionId */)>("writeDescriptorForCharacteristic");
217
- auto __result = method(_javaPart, jni::make_jstring(characteristicUUID), jni::make_jstring(descriptorUUID), jni::make_jstring(valueBase64), transactionId.has_value() ? jni::make_jstring(transactionId.value()) : nullptr);
218
- return [&]() {
219
- auto __promise = Promise<NativeDescriptor>::create();
220
- __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
221
- auto __result = jni::static_ref_cast<JNativeDescriptor>(__boxedResult);
222
- __promise->resolve(__result->toCpp());
223
- });
224
- __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
225
- jni::JniException __jniError(__throwable);
226
- __promise->reject(std::make_exception_ptr(__jniError));
227
- });
228
- return __promise;
229
- }();
230
- }
231
-
232
- } // namespace margelo::nitro::co::zyke::ble
@@ -1,72 +0,0 @@
1
- ///
2
- /// HybridServiceSpec.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 "HybridServiceSpec.hpp"
13
-
14
-
15
-
16
-
17
- namespace margelo::nitro::co::zyke::ble {
18
-
19
- using namespace facebook;
20
-
21
- class JHybridServiceSpec: public jni::HybridClass<JHybridServiceSpec, JHybridObject>,
22
- public virtual HybridServiceSpec {
23
- public:
24
- static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/co/zyke/ble/HybridServiceSpec;";
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 JHybridServiceSpec(jni::alias_ref<jhybridobject> jThis) :
31
- HybridObject(HybridServiceSpec::TAG),
32
- _javaPart(jni::make_global(jThis)) {}
33
-
34
- public:
35
- ~JHybridServiceSpec() override {
36
- // Hermes GC can destroy JS objects on a non-JNI Thread.
37
- jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); });
38
- }
39
-
40
- public:
41
- size_t getExternalMemorySize() noexcept override;
42
-
43
- public:
44
- inline const jni::global_ref<JHybridServiceSpec::javaobject>& getJavaPart() const noexcept {
45
- return _javaPart;
46
- }
47
-
48
- public:
49
- // Properties
50
- double getId() override;
51
- std::string getUuid() override;
52
- std::string getDeviceID() override;
53
- bool getIsPrimary() override;
54
-
55
- public:
56
- // Methods
57
- std::shared_ptr<Promise<std::vector<NativeCharacteristic>>> characteristics() override;
58
- std::shared_ptr<Promise<NativeCharacteristic>> readCharacteristic(const std::string& characteristicUUID, const std::optional<std::string>& transactionId) override;
59
- std::shared_ptr<Promise<NativeCharacteristic>> writeCharacteristicWithResponse(const std::string& characteristicUUID, const std::string& valueBase64, const std::optional<std::string>& transactionId) override;
60
- std::shared_ptr<Promise<NativeCharacteristic>> writeCharacteristicWithoutResponse(const std::string& characteristicUUID, const std::string& valueBase64, const std::optional<std::string>& transactionId) override;
61
- Subscription monitorCharacteristic(const std::string& characteristicUUID, const std::function<void(const std::optional<NativeBleError>& /* error */, const std::optional<NativeCharacteristic>& /* characteristic */)>& listener, const std::optional<std::string>& transactionId, std::optional<CharacteristicSubscriptionType> subscriptionType) override;
62
- std::shared_ptr<Promise<std::vector<NativeDescriptor>>> descriptorsForCharacteristic(const std::string& characteristicUUID) override;
63
- std::shared_ptr<Promise<NativeDescriptor>> readDescriptorForCharacteristic(const std::string& characteristicUUID, const std::string& descriptorUUID, const std::optional<std::string>& transactionId) override;
64
- std::shared_ptr<Promise<NativeDescriptor>> writeDescriptorForCharacteristic(const std::string& characteristicUUID, const std::string& descriptorUUID, const std::string& valueBase64, const std::optional<std::string>& transactionId) override;
65
-
66
- private:
67
- friend HybridBase;
68
- using HybridBase::HybridBase;
69
- jni::global_ref<JHybridServiceSpec::javaobject> _javaPart;
70
- };
71
-
72
- } // namespace margelo::nitro::co::zyke::ble
@@ -1,71 +0,0 @@
1
- ///
2
- /// JLogLevel.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 "LogLevel.hpp"
12
-
13
- namespace margelo::nitro::co::zyke::ble {
14
-
15
- using namespace facebook;
16
-
17
- /**
18
- * The C++ JNI bridge between the C++ enum "LogLevel" and the the Kotlin enum "LogLevel".
19
- */
20
- struct JLogLevel final: public jni::JavaClass<JLogLevel> {
21
- public:
22
- static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/co/zyke/ble/LogLevel;";
23
-
24
- public:
25
- /**
26
- * Convert this Java/Kotlin-based enum to the C++ enum LogLevel.
27
- */
28
- [[maybe_unused]]
29
- [[nodiscard]]
30
- LogLevel toCpp() const {
31
- static const auto clazz = javaClassStatic();
32
- static const auto fieldOrdinal = clazz->getField<int>("_ordinal");
33
- int ordinal = this->getFieldValue(fieldOrdinal);
34
- return static_cast<LogLevel>(ordinal);
35
- }
36
-
37
- public:
38
- /**
39
- * Create a Java/Kotlin-based enum with the given C++ enum's value.
40
- */
41
- [[maybe_unused]]
42
- static jni::alias_ref<JLogLevel> fromCpp(LogLevel value) {
43
- static const auto clazz = javaClassStatic();
44
- static const auto fieldNONE = clazz->getStaticField<JLogLevel>("NONE");
45
- static const auto fieldVERBOSE = clazz->getStaticField<JLogLevel>("VERBOSE");
46
- static const auto fieldDEBUG = clazz->getStaticField<JLogLevel>("DEBUG");
47
- static const auto fieldINFO = clazz->getStaticField<JLogLevel>("INFO");
48
- static const auto fieldWARNING = clazz->getStaticField<JLogLevel>("WARNING");
49
- static const auto fieldERROR = clazz->getStaticField<JLogLevel>("ERROR");
50
-
51
- switch (value) {
52
- case LogLevel::NONE:
53
- return clazz->getStaticFieldValue(fieldNONE);
54
- case LogLevel::VERBOSE:
55
- return clazz->getStaticFieldValue(fieldVERBOSE);
56
- case LogLevel::DEBUG:
57
- return clazz->getStaticFieldValue(fieldDEBUG);
58
- case LogLevel::INFO:
59
- return clazz->getStaticFieldValue(fieldINFO);
60
- case LogLevel::WARNING:
61
- return clazz->getStaticFieldValue(fieldWARNING);
62
- case LogLevel::ERROR:
63
- return clazz->getStaticFieldValue(fieldERROR);
64
- default:
65
- std::string stringValue = std::to_string(static_cast<int>(value));
66
- throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
67
- }
68
- }
69
- };
70
-
71
- } // namespace margelo::nitro::co::zyke::ble
@@ -1,98 +0,0 @@
1
- ///
2
- /// JNativeBleError.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 "NativeBleError.hpp"
12
-
13
- #include "BleATTErrorCode.hpp"
14
- #include "BleAndroidErrorCode.hpp"
15
- #include "BleErrorCode.hpp"
16
- #include "BleIOSErrorCode.hpp"
17
- #include "JBleATTErrorCode.hpp"
18
- #include "JBleAndroidErrorCode.hpp"
19
- #include "JBleErrorCode.hpp"
20
- #include "JBleIOSErrorCode.hpp"
21
- #include <optional>
22
- #include <string>
23
-
24
- namespace margelo::nitro::co::zyke::ble {
25
-
26
- using namespace facebook;
27
-
28
- /**
29
- * The C++ JNI bridge between the C++ struct "NativeBleError" and the the Kotlin data class "NativeBleError".
30
- */
31
- struct JNativeBleError final: public jni::JavaClass<JNativeBleError> {
32
- public:
33
- static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/co/zyke/ble/NativeBleError;";
34
-
35
- public:
36
- /**
37
- * Convert this Java/Kotlin-based struct to the C++ struct NativeBleError by copying all values to C++.
38
- */
39
- [[maybe_unused]]
40
- [[nodiscard]]
41
- NativeBleError toCpp() const {
42
- static const auto clazz = javaClassStatic();
43
- static const auto fieldErrorCode = clazz->getField<JBleErrorCode>("errorCode");
44
- jni::local_ref<JBleErrorCode> errorCode = this->getFieldValue(fieldErrorCode);
45
- static const auto fieldAttErrorCode = clazz->getField<JBleATTErrorCode>("attErrorCode");
46
- jni::local_ref<JBleATTErrorCode> attErrorCode = this->getFieldValue(fieldAttErrorCode);
47
- static const auto fieldIosErrorCode = clazz->getField<JBleIOSErrorCode>("iosErrorCode");
48
- jni::local_ref<JBleIOSErrorCode> iosErrorCode = this->getFieldValue(fieldIosErrorCode);
49
- static const auto fieldAndroidErrorCode = clazz->getField<JBleAndroidErrorCode>("androidErrorCode");
50
- jni::local_ref<JBleAndroidErrorCode> androidErrorCode = this->getFieldValue(fieldAndroidErrorCode);
51
- static const auto fieldReason = clazz->getField<jni::JString>("reason");
52
- jni::local_ref<jni::JString> reason = this->getFieldValue(fieldReason);
53
- static const auto fieldDeviceID = clazz->getField<jni::JString>("deviceID");
54
- jni::local_ref<jni::JString> deviceID = this->getFieldValue(fieldDeviceID);
55
- static const auto fieldServiceUUID = clazz->getField<jni::JString>("serviceUUID");
56
- jni::local_ref<jni::JString> serviceUUID = this->getFieldValue(fieldServiceUUID);
57
- static const auto fieldCharacteristicUUID = clazz->getField<jni::JString>("characteristicUUID");
58
- jni::local_ref<jni::JString> characteristicUUID = this->getFieldValue(fieldCharacteristicUUID);
59
- static const auto fieldDescriptorUUID = clazz->getField<jni::JString>("descriptorUUID");
60
- jni::local_ref<jni::JString> descriptorUUID = this->getFieldValue(fieldDescriptorUUID);
61
- static const auto fieldInternalMessage = clazz->getField<jni::JString>("internalMessage");
62
- jni::local_ref<jni::JString> internalMessage = this->getFieldValue(fieldInternalMessage);
63
- return NativeBleError(
64
- errorCode->toCpp(),
65
- attErrorCode != nullptr ? std::make_optional(attErrorCode->toCpp()) : std::nullopt,
66
- iosErrorCode != nullptr ? std::make_optional(iosErrorCode->toCpp()) : std::nullopt,
67
- androidErrorCode != nullptr ? std::make_optional(androidErrorCode->toCpp()) : std::nullopt,
68
- reason != nullptr ? std::make_optional(reason->toStdString()) : std::nullopt,
69
- deviceID != nullptr ? std::make_optional(deviceID->toStdString()) : std::nullopt,
70
- serviceUUID != nullptr ? std::make_optional(serviceUUID->toStdString()) : std::nullopt,
71
- characteristicUUID != nullptr ? std::make_optional(characteristicUUID->toStdString()) : std::nullopt,
72
- descriptorUUID != nullptr ? std::make_optional(descriptorUUID->toStdString()) : std::nullopt,
73
- internalMessage != nullptr ? std::make_optional(internalMessage->toStdString()) : std::nullopt
74
- );
75
- }
76
-
77
- public:
78
- /**
79
- * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
80
- */
81
- [[maybe_unused]]
82
- static jni::local_ref<JNativeBleError::javaobject> fromCpp(const NativeBleError& value) {
83
- return newInstance(
84
- JBleErrorCode::fromCpp(value.errorCode),
85
- value.attErrorCode.has_value() ? JBleATTErrorCode::fromCpp(value.attErrorCode.value()) : nullptr,
86
- value.iosErrorCode.has_value() ? JBleIOSErrorCode::fromCpp(value.iosErrorCode.value()) : nullptr,
87
- value.androidErrorCode.has_value() ? JBleAndroidErrorCode::fromCpp(value.androidErrorCode.value()) : nullptr,
88
- value.reason.has_value() ? jni::make_jstring(value.reason.value()) : nullptr,
89
- value.deviceID.has_value() ? jni::make_jstring(value.deviceID.value()) : nullptr,
90
- value.serviceUUID.has_value() ? jni::make_jstring(value.serviceUUID.value()) : nullptr,
91
- value.characteristicUUID.has_value() ? jni::make_jstring(value.characteristicUUID.value()) : nullptr,
92
- value.descriptorUUID.has_value() ? jni::make_jstring(value.descriptorUUID.value()) : nullptr,
93
- value.internalMessage.has_value() ? jni::make_jstring(value.internalMessage.value()) : nullptr
94
- );
95
- }
96
- };
97
-
98
- } // namespace margelo::nitro::co::zyke::ble
@@ -1,98 +0,0 @@
1
- ///
2
- /// JNativeCharacteristic.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 "NativeCharacteristic.hpp"
12
-
13
- #include <optional>
14
- #include <string>
15
-
16
- namespace margelo::nitro::co::zyke::ble {
17
-
18
- using namespace facebook;
19
-
20
- /**
21
- * The C++ JNI bridge between the C++ struct "NativeCharacteristic" and the the Kotlin data class "NativeCharacteristic".
22
- */
23
- struct JNativeCharacteristic final: public jni::JavaClass<JNativeCharacteristic> {
24
- public:
25
- static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/co/zyke/ble/NativeCharacteristic;";
26
-
27
- public:
28
- /**
29
- * Convert this Java/Kotlin-based struct to the C++ struct NativeCharacteristic by copying all values to C++.
30
- */
31
- [[maybe_unused]]
32
- [[nodiscard]]
33
- NativeCharacteristic toCpp() const {
34
- static const auto clazz = javaClassStatic();
35
- static const auto fieldId = clazz->getField<double>("id");
36
- double id = this->getFieldValue(fieldId);
37
- static const auto fieldUuid = clazz->getField<jni::JString>("uuid");
38
- jni::local_ref<jni::JString> uuid = this->getFieldValue(fieldUuid);
39
- static const auto fieldServiceID = clazz->getField<double>("serviceID");
40
- double serviceID = this->getFieldValue(fieldServiceID);
41
- static const auto fieldServiceUUID = clazz->getField<jni::JString>("serviceUUID");
42
- jni::local_ref<jni::JString> serviceUUID = this->getFieldValue(fieldServiceUUID);
43
- static const auto fieldDeviceID = clazz->getField<jni::JString>("deviceID");
44
- jni::local_ref<jni::JString> deviceID = this->getFieldValue(fieldDeviceID);
45
- static const auto fieldIsReadable = clazz->getField<jboolean>("isReadable");
46
- jboolean isReadable = this->getFieldValue(fieldIsReadable);
47
- static const auto fieldIsWritableWithResponse = clazz->getField<jboolean>("isWritableWithResponse");
48
- jboolean isWritableWithResponse = this->getFieldValue(fieldIsWritableWithResponse);
49
- static const auto fieldIsWritableWithoutResponse = clazz->getField<jboolean>("isWritableWithoutResponse");
50
- jboolean isWritableWithoutResponse = this->getFieldValue(fieldIsWritableWithoutResponse);
51
- static const auto fieldIsNotifiable = clazz->getField<jboolean>("isNotifiable");
52
- jboolean isNotifiable = this->getFieldValue(fieldIsNotifiable);
53
- static const auto fieldIsNotifying = clazz->getField<jboolean>("isNotifying");
54
- jboolean isNotifying = this->getFieldValue(fieldIsNotifying);
55
- static const auto fieldIsIndicatable = clazz->getField<jboolean>("isIndicatable");
56
- jboolean isIndicatable = this->getFieldValue(fieldIsIndicatable);
57
- static const auto fieldValue = clazz->getField<jni::JString>("value");
58
- jni::local_ref<jni::JString> value = this->getFieldValue(fieldValue);
59
- return NativeCharacteristic(
60
- id,
61
- uuid->toStdString(),
62
- serviceID,
63
- serviceUUID->toStdString(),
64
- deviceID->toStdString(),
65
- static_cast<bool>(isReadable),
66
- static_cast<bool>(isWritableWithResponse),
67
- static_cast<bool>(isWritableWithoutResponse),
68
- static_cast<bool>(isNotifiable),
69
- static_cast<bool>(isNotifying),
70
- static_cast<bool>(isIndicatable),
71
- value != nullptr ? std::make_optional(value->toStdString()) : std::nullopt
72
- );
73
- }
74
-
75
- public:
76
- /**
77
- * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
78
- */
79
- [[maybe_unused]]
80
- static jni::local_ref<JNativeCharacteristic::javaobject> fromCpp(const NativeCharacteristic& value) {
81
- return newInstance(
82
- value.id,
83
- jni::make_jstring(value.uuid),
84
- value.serviceID,
85
- jni::make_jstring(value.serviceUUID),
86
- jni::make_jstring(value.deviceID),
87
- value.isReadable,
88
- value.isWritableWithResponse,
89
- value.isWritableWithoutResponse,
90
- value.isNotifiable,
91
- value.isNotifying,
92
- value.isIndicatable,
93
- value.value.has_value() ? jni::make_jstring(value.value.value()) : nullptr
94
- );
95
- }
96
- };
97
-
98
- } // namespace margelo::nitro::co::zyke::ble
@@ -1,82 +0,0 @@
1
- ///
2
- /// JNativeDescriptor.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 "NativeDescriptor.hpp"
12
-
13
- #include <optional>
14
- #include <string>
15
-
16
- namespace margelo::nitro::co::zyke::ble {
17
-
18
- using namespace facebook;
19
-
20
- /**
21
- * The C++ JNI bridge between the C++ struct "NativeDescriptor" and the the Kotlin data class "NativeDescriptor".
22
- */
23
- struct JNativeDescriptor final: public jni::JavaClass<JNativeDescriptor> {
24
- public:
25
- static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/co/zyke/ble/NativeDescriptor;";
26
-
27
- public:
28
- /**
29
- * Convert this Java/Kotlin-based struct to the C++ struct NativeDescriptor by copying all values to C++.
30
- */
31
- [[maybe_unused]]
32
- [[nodiscard]]
33
- NativeDescriptor toCpp() const {
34
- static const auto clazz = javaClassStatic();
35
- static const auto fieldId = clazz->getField<double>("id");
36
- double id = this->getFieldValue(fieldId);
37
- static const auto fieldUuid = clazz->getField<jni::JString>("uuid");
38
- jni::local_ref<jni::JString> uuid = this->getFieldValue(fieldUuid);
39
- static const auto fieldCharacteristicID = clazz->getField<double>("characteristicID");
40
- double characteristicID = this->getFieldValue(fieldCharacteristicID);
41
- static const auto fieldCharacteristicUUID = clazz->getField<jni::JString>("characteristicUUID");
42
- jni::local_ref<jni::JString> characteristicUUID = this->getFieldValue(fieldCharacteristicUUID);
43
- static const auto fieldServiceID = clazz->getField<double>("serviceID");
44
- double serviceID = this->getFieldValue(fieldServiceID);
45
- static const auto fieldServiceUUID = clazz->getField<jni::JString>("serviceUUID");
46
- jni::local_ref<jni::JString> serviceUUID = this->getFieldValue(fieldServiceUUID);
47
- static const auto fieldDeviceID = clazz->getField<jni::JString>("deviceID");
48
- jni::local_ref<jni::JString> deviceID = this->getFieldValue(fieldDeviceID);
49
- static const auto fieldValue = clazz->getField<jni::JString>("value");
50
- jni::local_ref<jni::JString> value = this->getFieldValue(fieldValue);
51
- return NativeDescriptor(
52
- id,
53
- uuid->toStdString(),
54
- characteristicID,
55
- characteristicUUID->toStdString(),
56
- serviceID,
57
- serviceUUID->toStdString(),
58
- deviceID->toStdString(),
59
- value != nullptr ? std::make_optional(value->toStdString()) : std::nullopt
60
- );
61
- }
62
-
63
- public:
64
- /**
65
- * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
66
- */
67
- [[maybe_unused]]
68
- static jni::local_ref<JNativeDescriptor::javaobject> fromCpp(const NativeDescriptor& value) {
69
- return newInstance(
70
- value.id,
71
- jni::make_jstring(value.uuid),
72
- value.characteristicID,
73
- jni::make_jstring(value.characteristicUUID),
74
- value.serviceID,
75
- jni::make_jstring(value.serviceUUID),
76
- jni::make_jstring(value.deviceID),
77
- value.value.has_value() ? jni::make_jstring(value.value.value()) : nullptr
78
- );
79
- }
80
- };
81
-
82
- } // namespace margelo::nitro::co::zyke::ble