react-native-ble-nitro 1.0.0-beta.9 → 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 +426 -458
  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
@@ -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