react-native-ble-nitro 1.0.0-beta.6 → 1.0.0-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/src/main/kotlin/co/zyke/ble/BleNitroBleManager.kt +1 -1
- package/android/src/main/kotlin/co/zyke/ble/BleNitroPackage.kt +4 -4
- package/ios/BleNitro.podspec +1 -1
- package/ios/BleNitroModule.swift +11 -9
- package/nitrogen/generated/.gitattributes +1 -0
- package/nitrogen/generated/android/BleNitro+autolinking.cmake +86 -0
- package/nitrogen/generated/android/BleNitro+autolinking.gradle +27 -0
- package/nitrogen/generated/android/BleNitroOnLoad.cpp +52 -0
- package/nitrogen/generated/android/BleNitroOnLoad.hpp +25 -0
- package/nitrogen/generated/android/c++/JBleATTErrorCode.hpp +107 -0
- package/nitrogen/generated/android/c++/JBleAndroidErrorCode.hpp +101 -0
- package/nitrogen/generated/android/c++/JBleErrorCode.hpp +170 -0
- package/nitrogen/generated/android/c++/JBleIOSErrorCode.hpp +92 -0
- package/nitrogen/generated/android/c++/JBleManagerNitroOptions.hpp +54 -0
- package/nitrogen/generated/android/c++/JBleRestoredState.hpp +76 -0
- package/nitrogen/generated/android/c++/JCharacteristicSubscriptionType.hpp +59 -0
- package/nitrogen/generated/android/c++/JConnectionOptions.hpp +61 -0
- package/nitrogen/generated/android/c++/JConnectionPriority.hpp +62 -0
- package/nitrogen/generated/android/c++/JFunc_void.hpp +74 -0
- package/nitrogen/generated/android/c++/JFunc_void_State.hpp +76 -0
- package/nitrogen/generated/android/c++/JFunc_void_std__optional_NativeBleError__std__optional_NativeCharacteristic_.hpp +88 -0
- package/nitrogen/generated/android/c++/JFunc_void_std__optional_NativeBleError__std__optional_NativeDevice_.hpp +91 -0
- package/nitrogen/generated/android/c++/JHybridBleManagerSpec.cpp +653 -0
- package/nitrogen/generated/android/c++/JHybridBleManagerSpec.hpp +92 -0
- package/nitrogen/generated/android/c++/JHybridCharacteristicSpec.cpp +253 -0
- package/nitrogen/generated/android/c++/JHybridCharacteristicSpec.hpp +79 -0
- package/nitrogen/generated/android/c++/JHybridDescriptorSpec.cpp +115 -0
- package/nitrogen/generated/android/c++/JHybridDescriptorSpec.hpp +70 -0
- package/nitrogen/generated/android/c++/JHybridDeviceSpec.cpp +476 -0
- package/nitrogen/generated/android/c++/JHybridDeviceSpec.hpp +90 -0
- package/nitrogen/generated/android/c++/JHybridServiceSpec.cpp +232 -0
- package/nitrogen/generated/android/c++/JHybridServiceSpec.hpp +72 -0
- package/nitrogen/generated/android/c++/JLogLevel.hpp +71 -0
- package/nitrogen/generated/android/c++/JNativeBleError.hpp +98 -0
- package/nitrogen/generated/android/c++/JNativeCharacteristic.hpp +98 -0
- package/nitrogen/generated/android/c++/JNativeDescriptor.hpp +82 -0
- package/nitrogen/generated/android/c++/JNativeDevice.hpp +173 -0
- package/nitrogen/generated/android/c++/JNativeService.hpp +65 -0
- package/nitrogen/generated/android/c++/JScanCallbackType.hpp +62 -0
- package/nitrogen/generated/android/c++/JScanMode.hpp +65 -0
- package/nitrogen/generated/android/c++/JScanOptions.hpp +69 -0
- package/nitrogen/generated/android/c++/JServiceDataEntry.hpp +57 -0
- package/nitrogen/generated/android/c++/JState.hpp +71 -0
- package/nitrogen/generated/android/c++/JSubscription.hpp +64 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BleATTErrorCode.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BleAndroidErrorCode.kt +39 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BleErrorCode.kt +62 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BleIOSErrorCode.kt +36 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BleManagerNitroOptions.kt +26 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BleNitroOnLoad.kt +35 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BleRestoredState.kt +26 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/CharacteristicSubscriptionType.kt +25 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/ConnectionOptions.kt +28 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/ConnectionPriority.kt +26 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Func_void.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Func_void_State.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Func_void_std__optional_NativeBleError__std__optional_NativeCharacteristic_.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Func_void_std__optional_NativeBleError__std__optional_NativeDevice_.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/HybridBleManagerSpec.kt +192 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/HybridCharacteristicSpec.kt +127 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/HybridDescriptorSpec.kt +86 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/HybridDeviceSpec.kt +176 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/HybridServiceSpec.kt +99 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/LogLevel.kt +29 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/NativeBleError.kt +35 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/NativeCharacteristic.kt +37 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/NativeDescriptor.kt +33 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/NativeDevice.kt +38 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/NativeService.kt +29 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/ScanCallbackType.kt +26 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/ScanMode.kt +27 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/ScanOptions.kt +29 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/ServiceDataEntry.kt +27 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/State.kt +29 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Subscription.kt +30 -0
- package/nitrogen/generated/ios/BleNitro+autolinking.rb +60 -0
- package/nitrogen/generated/ios/BleNitro-Swift-Cxx-Bridge.cpp +236 -0
- package/nitrogen/generated/ios/BleNitro-Swift-Cxx-Bridge.hpp +1069 -0
- package/nitrogen/generated/ios/BleNitro-Swift-Cxx-Umbrella.hpp +131 -0
- package/nitrogen/generated/ios/c++/HybridBleManagerSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridBleManagerSpecSwift.hpp +377 -0
- package/nitrogen/generated/ios/c++/HybridCharacteristicSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridCharacteristicSpecSwift.hpp +192 -0
- package/nitrogen/generated/ios/c++/HybridDescriptorSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridDescriptorSpecSwift.hpp +112 -0
- package/nitrogen/generated/ios/c++/HybridDeviceSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridDeviceSpecSwift.hpp +294 -0
- package/nitrogen/generated/ios/c++/HybridServiceSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridServiceSpecSwift.hpp +170 -0
- package/nitrogen/generated/ios/swift/BleATTErrorCode.swift +104 -0
- package/nitrogen/generated/ios/swift/BleAndroidErrorCode.swift +96 -0
- package/nitrogen/generated/ios/swift/BleErrorCode.swift +188 -0
- package/nitrogen/generated/ios/swift/BleIOSErrorCode.swift +84 -0
- package/nitrogen/generated/ios/swift/BleManagerNitroOptions.swift +53 -0
- package/nitrogen/generated/ios/swift/BleRestoredState.swift +47 -0
- package/nitrogen/generated/ios/swift/CharacteristicSubscriptionType.swift +40 -0
- package/nitrogen/generated/ios/swift/ConnectionOptions.swift +57 -0
- package/nitrogen/generated/ios/swift/ConnectionPriority.swift +44 -0
- package/nitrogen/generated/ios/swift/Func_void.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_LogLevel.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_NativeCharacteristic.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_NativeDescriptor.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_NativeDevice.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_State.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_bool.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__optional_BleRestoredState_.swift +52 -0
- package/nitrogen/generated/ios/swift/Func_void_std__optional_NativeBleError__std__optional_NativeCharacteristic_.swift +58 -0
- package/nitrogen/generated/ios/swift/Func_void_std__optional_NativeBleError__std__optional_NativeDevice_.swift +58 -0
- package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_margelo__nitro__co__zyke__ble__HybridCharacteristicSpec_.swift +50 -0
- package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_margelo__nitro__co__zyke__ble__HybridDescriptorSpec_.swift +50 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_NativeCharacteristic_.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_NativeDescriptor_.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_NativeDevice_.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_NativeService_.swift +46 -0
- package/nitrogen/generated/ios/swift/HybridBleManagerSpec.swift +78 -0
- package/nitrogen/generated/ios/swift/HybridBleManagerSpec_cxx.swift +852 -0
- package/nitrogen/generated/ios/swift/HybridCharacteristicSpec.swift +65 -0
- package/nitrogen/generated/ios/swift/HybridCharacteristicSpec_cxx.swift +384 -0
- package/nitrogen/generated/ios/swift/HybridDescriptorSpec.swift +56 -0
- package/nitrogen/generated/ios/swift/HybridDescriptorSpec_cxx.swift +218 -0
- package/nitrogen/generated/ios/swift/HybridDeviceSpec.swift +76 -0
- package/nitrogen/generated/ios/swift/HybridDeviceSpec_cxx.swift +702 -0
- package/nitrogen/generated/ios/swift/HybridServiceSpec.swift +58 -0
- package/nitrogen/generated/ios/swift/HybridServiceSpec_cxx.swift +338 -0
- package/nitrogen/generated/ios/swift/LogLevel.swift +56 -0
- package/nitrogen/generated/ios/swift/NativeBleError.swift +278 -0
- package/nitrogen/generated/ios/swift/NativeCharacteristic.swift +174 -0
- package/nitrogen/generated/ios/swift/NativeDescriptor.swift +130 -0
- package/nitrogen/generated/ios/swift/NativeDevice.swift +377 -0
- package/nitrogen/generated/ios/swift/NativeService.swift +68 -0
- package/nitrogen/generated/ios/swift/ScanCallbackType.swift +44 -0
- package/nitrogen/generated/ios/swift/ScanMode.swift +48 -0
- package/nitrogen/generated/ios/swift/ScanOptions.swift +116 -0
- package/nitrogen/generated/ios/swift/ServiceDataEntry.swift +46 -0
- package/nitrogen/generated/ios/swift/State.swift +56 -0
- package/nitrogen/generated/ios/swift/Subscription.swift +46 -0
- package/nitrogen/generated/shared/c++/BleATTErrorCode.hpp +80 -0
- package/nitrogen/generated/shared/c++/BleAndroidErrorCode.hpp +78 -0
- package/nitrogen/generated/shared/c++/BleErrorCode.hpp +101 -0
- package/nitrogen/generated/shared/c++/BleIOSErrorCode.hpp +75 -0
- package/nitrogen/generated/shared/c++/BleManagerNitroOptions.hpp +70 -0
- package/nitrogen/generated/shared/c++/BleRestoredState.hpp +71 -0
- package/nitrogen/generated/shared/c++/CharacteristicSubscriptionType.hpp +64 -0
- package/nitrogen/generated/shared/c++/ConnectionOptions.hpp +77 -0
- package/nitrogen/generated/shared/c++/ConnectionPriority.hpp +65 -0
- package/nitrogen/generated/shared/c++/HybridBleManagerSpec.cpp +51 -0
- package/nitrogen/generated/shared/c++/HybridBleManagerSpec.hpp +137 -0
- package/nitrogen/generated/shared/c++/HybridCharacteristicSpec.cpp +39 -0
- package/nitrogen/generated/shared/c++/HybridCharacteristicSpec.hpp +101 -0
- package/nitrogen/generated/shared/c++/HybridDescriptorSpec.cpp +30 -0
- package/nitrogen/generated/shared/c++/HybridDescriptorSpec.hpp +75 -0
- package/nitrogen/generated/shared/c++/HybridDeviceSpec.cpp +50 -0
- package/nitrogen/generated/shared/c++/HybridDeviceSpec.hpp +123 -0
- package/nitrogen/generated/shared/c++/HybridServiceSpec.cpp +32 -0
- package/nitrogen/generated/shared/c++/HybridServiceSpec.hpp +90 -0
- package/nitrogen/generated/shared/c++/LogLevel.hpp +68 -0
- package/nitrogen/generated/shared/c++/NativeBleError.hpp +117 -0
- package/nitrogen/generated/shared/c++/NativeCharacteristic.hpp +114 -0
- package/nitrogen/generated/shared/c++/NativeDescriptor.hpp +98 -0
- package/nitrogen/generated/shared/c++/NativeDevice.hpp +121 -0
- package/nitrogen/generated/shared/c++/NativeService.hpp +81 -0
- package/nitrogen/generated/shared/c++/ScanCallbackType.hpp +65 -0
- package/nitrogen/generated/shared/c++/ScanMode.hpp +66 -0
- package/nitrogen/generated/shared/c++/ScanOptions.hpp +86 -0
- package/nitrogen/generated/shared/c++/ServiceDataEntry.hpp +73 -0
- package/nitrogen/generated/shared/c++/State.hpp +68 -0
- package/nitrogen/generated/shared/c++/Subscription.hpp +69 -0
- package/package.json +6 -5
|
@@ -15,7 +15,7 @@ import android.util.Base64
|
|
|
15
15
|
import android.util.Log
|
|
16
16
|
import androidx.core.content.ContextCompat
|
|
17
17
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
18
|
-
import com.margelo.nitro.
|
|
18
|
+
import com.margelo.nitro.co.zyke.ble.HybridBleManagerSpec
|
|
19
19
|
import kotlinx.coroutines.*
|
|
20
20
|
import kotlinx.coroutines.channels.Channel
|
|
21
21
|
import no.nordicsemi.android.ble.BleManager
|
|
@@ -10,18 +10,18 @@ import com.facebook.react.ReactPackage
|
|
|
10
10
|
import com.facebook.react.bridge.NativeModule
|
|
11
11
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
12
12
|
import com.facebook.react.uimanager.ViewManager
|
|
13
|
-
import com.margelo.nitro.
|
|
13
|
+
import com.margelo.nitro.HybridObjectRegistry
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* React Native package for BLE Nitro
|
|
17
|
-
* Registers the
|
|
17
|
+
* Registers the HybridObject manually through the registry
|
|
18
18
|
*/
|
|
19
19
|
class BleNitroPackage : ReactPackage {
|
|
20
20
|
|
|
21
21
|
companion object {
|
|
22
22
|
init {
|
|
23
|
-
// Register the
|
|
24
|
-
|
|
23
|
+
// Register the BleManager HybridObject
|
|
24
|
+
HybridObjectRegistry.registerHybridObjectConstructor("BleManager") { context ->
|
|
25
25
|
BleNitroBleManager(context as ReactApplicationContext)
|
|
26
26
|
}
|
|
27
27
|
}
|
package/ios/BleNitro.podspec
CHANGED
|
@@ -10,7 +10,7 @@ Pod::Spec.new do |s|
|
|
|
10
10
|
s.license = package["license"]
|
|
11
11
|
s.authors = package["author"]
|
|
12
12
|
|
|
13
|
-
s.platforms = { :ios => "
|
|
13
|
+
s.platforms = { :ios => "15.1" }
|
|
14
14
|
s.source = { :git => "https://github.com/zykeco/react-native-ble-nitro.git", :tag => "#{s.version}" }
|
|
15
15
|
|
|
16
16
|
s.source_files = "**/*.{h,m,mm,swift}"
|
package/ios/BleNitroModule.swift
CHANGED
|
@@ -19,13 +19,15 @@ public class BleNitroModule: NSObject {
|
|
|
19
19
|
public func constantsToExport() -> [String: Any] {
|
|
20
20
|
return [:]
|
|
21
21
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
22
|
+
|
|
23
|
+
override init() {
|
|
24
|
+
super.init()
|
|
25
|
+
// Register the BleManager HybridObject
|
|
26
|
+
HybridObjectRegistry.registerHybridObjectConstructor(
|
|
27
|
+
name: "BleManager",
|
|
28
|
+
constructor: {
|
|
29
|
+
return BleNitroBleManager()
|
|
30
|
+
}
|
|
31
|
+
)
|
|
32
|
+
}
|
|
31
33
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
** linguist-generated=true
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
#
|
|
2
|
+
# BleNitro+autolinking.cmake
|
|
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
|
+
# This is a CMake file that adds all files generated by Nitrogen
|
|
9
|
+
# to the current CMake project.
|
|
10
|
+
#
|
|
11
|
+
# To use it, add this to your CMakeLists.txt:
|
|
12
|
+
# ```cmake
|
|
13
|
+
# include(${CMAKE_SOURCE_DIR}/../nitrogen/generated/android/BleNitro+autolinking.cmake)
|
|
14
|
+
# ```
|
|
15
|
+
|
|
16
|
+
# Add all headers that were generated by Nitrogen
|
|
17
|
+
include_directories(
|
|
18
|
+
"../nitrogen/generated/shared/c++"
|
|
19
|
+
"../nitrogen/generated/android/c++"
|
|
20
|
+
"../nitrogen/generated/android/"
|
|
21
|
+
)
|
|
22
|
+
|
|
23
|
+
# Add all .cpp sources that were generated by Nitrogen
|
|
24
|
+
target_sources(
|
|
25
|
+
# CMake project name (Android C++ library name)
|
|
26
|
+
BleNitro PRIVATE
|
|
27
|
+
# Autolinking Setup
|
|
28
|
+
../nitrogen/generated/android/BleNitroOnLoad.cpp
|
|
29
|
+
# Shared Nitrogen C++ sources
|
|
30
|
+
../nitrogen/generated/shared/c++/HybridBleManagerSpec.cpp
|
|
31
|
+
../nitrogen/generated/shared/c++/HybridCharacteristicSpec.cpp
|
|
32
|
+
../nitrogen/generated/shared/c++/HybridDescriptorSpec.cpp
|
|
33
|
+
../nitrogen/generated/shared/c++/HybridDeviceSpec.cpp
|
|
34
|
+
../nitrogen/generated/shared/c++/HybridServiceSpec.cpp
|
|
35
|
+
# Android-specific Nitrogen C++ sources
|
|
36
|
+
../nitrogen/generated/android/c++/JHybridBleManagerSpec.cpp
|
|
37
|
+
../nitrogen/generated/android/c++/JHybridCharacteristicSpec.cpp
|
|
38
|
+
../nitrogen/generated/android/c++/JHybridDescriptorSpec.cpp
|
|
39
|
+
../nitrogen/generated/android/c++/JHybridDeviceSpec.cpp
|
|
40
|
+
../nitrogen/generated/android/c++/JHybridServiceSpec.cpp
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
# Define a flag to check if we are building properly
|
|
44
|
+
add_definitions(-DBUILDING_BLENITRO_WITH_GENERATED_CMAKE_PROJECT)
|
|
45
|
+
|
|
46
|
+
# From node_modules/react-native/ReactAndroid/cmake-utils/folly-flags.cmake
|
|
47
|
+
# Used in node_modules/react-native/ReactAndroid/cmake-utils/ReactNative-application.cmake
|
|
48
|
+
target_compile_definitions(
|
|
49
|
+
BleNitro PRIVATE
|
|
50
|
+
-DFOLLY_NO_CONFIG=1
|
|
51
|
+
-DFOLLY_HAVE_CLOCK_GETTIME=1
|
|
52
|
+
-DFOLLY_USE_LIBCPP=1
|
|
53
|
+
-DFOLLY_CFG_NO_COROUTINES=1
|
|
54
|
+
-DFOLLY_MOBILE=1
|
|
55
|
+
-DFOLLY_HAVE_RECVMMSG=1
|
|
56
|
+
-DFOLLY_HAVE_PTHREAD=1
|
|
57
|
+
# Once we target android-23 above, we can comment
|
|
58
|
+
# the following line. NDK uses GNU style stderror_r() after API 23.
|
|
59
|
+
-DFOLLY_HAVE_XSI_STRERROR_R=1
|
|
60
|
+
)
|
|
61
|
+
|
|
62
|
+
# Add all libraries required by the generated specs
|
|
63
|
+
find_package(fbjni REQUIRED) # <-- Used for communication between Java <-> C++
|
|
64
|
+
find_package(ReactAndroid REQUIRED) # <-- Used to set up React Native bindings (e.g. CallInvoker/TurboModule)
|
|
65
|
+
find_package(react-native-nitro-modules REQUIRED) # <-- Used to create all HybridObjects and use the Nitro core library
|
|
66
|
+
|
|
67
|
+
# Link all libraries together
|
|
68
|
+
target_link_libraries(
|
|
69
|
+
BleNitro
|
|
70
|
+
fbjni::fbjni # <-- Facebook C++ JNI helpers
|
|
71
|
+
ReactAndroid::jsi # <-- RN: JSI
|
|
72
|
+
react-native-nitro-modules::NitroModules # <-- NitroModules Core :)
|
|
73
|
+
)
|
|
74
|
+
|
|
75
|
+
# Link react-native (different prefab between RN 0.75 and RN 0.76)
|
|
76
|
+
if(ReactAndroid_VERSION_MINOR GREATER_EQUAL 76)
|
|
77
|
+
target_link_libraries(
|
|
78
|
+
BleNitro
|
|
79
|
+
ReactAndroid::reactnative # <-- RN: Native Modules umbrella prefab
|
|
80
|
+
)
|
|
81
|
+
else()
|
|
82
|
+
target_link_libraries(
|
|
83
|
+
BleNitro
|
|
84
|
+
ReactAndroid::react_nativemodule_core # <-- RN: TurboModules Core
|
|
85
|
+
)
|
|
86
|
+
endif()
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// BleNitro+autolinking.gradle
|
|
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
|
+
/// This is a Gradle file that adds all files generated by Nitrogen
|
|
9
|
+
/// to the current Gradle project.
|
|
10
|
+
///
|
|
11
|
+
/// To use it, add this to your build.gradle:
|
|
12
|
+
/// ```gradle
|
|
13
|
+
/// apply from: '../nitrogen/generated/android/BleNitro+autolinking.gradle'
|
|
14
|
+
/// ```
|
|
15
|
+
|
|
16
|
+
logger.warn("[NitroModules] 🔥 BleNitro is boosted by nitro!")
|
|
17
|
+
|
|
18
|
+
android {
|
|
19
|
+
sourceSets {
|
|
20
|
+
main {
|
|
21
|
+
java.srcDirs += [
|
|
22
|
+
// Nitrogen files
|
|
23
|
+
"${project.projectDir}/../nitrogen/generated/android/kotlin"
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// BleNitroOnLoad.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
|
+
#ifndef BUILDING_BLENITRO_WITH_GENERATED_CMAKE_PROJECT
|
|
9
|
+
#error BleNitroOnLoad.cpp is not being built with the autogenerated CMakeLists.txt project. Is a different CMakeLists.txt building this?
|
|
10
|
+
#endif
|
|
11
|
+
|
|
12
|
+
#include "BleNitroOnLoad.hpp"
|
|
13
|
+
|
|
14
|
+
#include <jni.h>
|
|
15
|
+
#include <fbjni/fbjni.h>
|
|
16
|
+
#include <NitroModules/HybridObjectRegistry.hpp>
|
|
17
|
+
|
|
18
|
+
#include "JHybridBleManagerSpec.hpp"
|
|
19
|
+
#include "JFunc_void.hpp"
|
|
20
|
+
#include "JFunc_void_State.hpp"
|
|
21
|
+
#include "JFunc_void_std__optional_NativeBleError__std__optional_NativeDevice_.hpp"
|
|
22
|
+
#include "JFunc_void_std__optional_NativeBleError__std__optional_NativeCharacteristic_.hpp"
|
|
23
|
+
#include "JHybridCharacteristicSpec.hpp"
|
|
24
|
+
#include "JHybridDescriptorSpec.hpp"
|
|
25
|
+
#include "JHybridDeviceSpec.hpp"
|
|
26
|
+
#include "JHybridServiceSpec.hpp"
|
|
27
|
+
|
|
28
|
+
namespace margelo::nitro::co::zyke::ble {
|
|
29
|
+
|
|
30
|
+
int initialize(JavaVM* vm) {
|
|
31
|
+
using namespace margelo::nitro;
|
|
32
|
+
using namespace margelo::nitro::co::zyke::ble;
|
|
33
|
+
using namespace facebook;
|
|
34
|
+
|
|
35
|
+
return facebook::jni::initialize(vm, [] {
|
|
36
|
+
// Register native JNI methods
|
|
37
|
+
margelo::nitro::co::zyke::ble::JHybridBleManagerSpec::registerNatives();
|
|
38
|
+
margelo::nitro::co::zyke::ble::JFunc_void_cxx::registerNatives();
|
|
39
|
+
margelo::nitro::co::zyke::ble::JFunc_void_State_cxx::registerNatives();
|
|
40
|
+
margelo::nitro::co::zyke::ble::JFunc_void_std__optional_NativeBleError__std__optional_NativeDevice__cxx::registerNatives();
|
|
41
|
+
margelo::nitro::co::zyke::ble::JFunc_void_std__optional_NativeBleError__std__optional_NativeCharacteristic__cxx::registerNatives();
|
|
42
|
+
margelo::nitro::co::zyke::ble::JHybridCharacteristicSpec::registerNatives();
|
|
43
|
+
margelo::nitro::co::zyke::ble::JHybridDescriptorSpec::registerNatives();
|
|
44
|
+
margelo::nitro::co::zyke::ble::JHybridDeviceSpec::registerNatives();
|
|
45
|
+
margelo::nitro::co::zyke::ble::JHybridServiceSpec::registerNatives();
|
|
46
|
+
|
|
47
|
+
// Register Nitro Hybrid Objects
|
|
48
|
+
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
} // namespace margelo::nitro::co::zyke::ble
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// BleNitroOnLoad.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
|
+
#include <jni.h>
|
|
9
|
+
#include <NitroModules/NitroDefines.hpp>
|
|
10
|
+
|
|
11
|
+
namespace margelo::nitro::co::zyke::ble {
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Initializes the native (C++) part of BleNitro, and autolinks all Hybrid Objects.
|
|
15
|
+
* Call this in your `JNI_OnLoad` function (probably inside `cpp-adapter.cpp`).
|
|
16
|
+
* Example:
|
|
17
|
+
* ```cpp (cpp-adapter.cpp)
|
|
18
|
+
* JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void*) {
|
|
19
|
+
* return margelo::nitro::co::zyke::ble::initialize(vm);
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
int initialize(JavaVM* vm);
|
|
24
|
+
|
|
25
|
+
} // namespace margelo::nitro::co::zyke::ble
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JBleATTErrorCode.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 "BleATTErrorCode.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 "BleATTErrorCode" and the the Kotlin enum "BleATTErrorCode".
|
|
19
|
+
*/
|
|
20
|
+
struct JBleATTErrorCode final: public jni::JavaClass<JBleATTErrorCode> {
|
|
21
|
+
public:
|
|
22
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/co/zyke/ble/BleATTErrorCode;";
|
|
23
|
+
|
|
24
|
+
public:
|
|
25
|
+
/**
|
|
26
|
+
* Convert this Java/Kotlin-based enum to the C++ enum BleATTErrorCode.
|
|
27
|
+
*/
|
|
28
|
+
[[maybe_unused]]
|
|
29
|
+
[[nodiscard]]
|
|
30
|
+
BleATTErrorCode 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<BleATTErrorCode>(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<JBleATTErrorCode> fromCpp(BleATTErrorCode value) {
|
|
43
|
+
static const auto clazz = javaClassStatic();
|
|
44
|
+
static const auto fieldSUCCESS = clazz->getStaticField<JBleATTErrorCode>("SUCCESS");
|
|
45
|
+
static const auto fieldINVALIDHANDLE = clazz->getStaticField<JBleATTErrorCode>("INVALIDHANDLE");
|
|
46
|
+
static const auto fieldREADNOTPERMITTED = clazz->getStaticField<JBleATTErrorCode>("READNOTPERMITTED");
|
|
47
|
+
static const auto fieldWRITENOTPERMITTED = clazz->getStaticField<JBleATTErrorCode>("WRITENOTPERMITTED");
|
|
48
|
+
static const auto fieldINVALIDPDU = clazz->getStaticField<JBleATTErrorCode>("INVALIDPDU");
|
|
49
|
+
static const auto fieldINSUFFICIENTAUTHENTICATION = clazz->getStaticField<JBleATTErrorCode>("INSUFFICIENTAUTHENTICATION");
|
|
50
|
+
static const auto fieldREQUESTNOTSUPPORTED = clazz->getStaticField<JBleATTErrorCode>("REQUESTNOTSUPPORTED");
|
|
51
|
+
static const auto fieldINVALIDOFFSET = clazz->getStaticField<JBleATTErrorCode>("INVALIDOFFSET");
|
|
52
|
+
static const auto fieldINSUFFICIENTAUTHORIZATION = clazz->getStaticField<JBleATTErrorCode>("INSUFFICIENTAUTHORIZATION");
|
|
53
|
+
static const auto fieldPREPAREQUEUEFULL = clazz->getStaticField<JBleATTErrorCode>("PREPAREQUEUEFULL");
|
|
54
|
+
static const auto fieldATTRIBUTENOTFOUND = clazz->getStaticField<JBleATTErrorCode>("ATTRIBUTENOTFOUND");
|
|
55
|
+
static const auto fieldATTRIBUTENOTLONG = clazz->getStaticField<JBleATTErrorCode>("ATTRIBUTENOTLONG");
|
|
56
|
+
static const auto fieldINSUFFICIENTENCRYPTIONKEYSIZE = clazz->getStaticField<JBleATTErrorCode>("INSUFFICIENTENCRYPTIONKEYSIZE");
|
|
57
|
+
static const auto fieldINVALIDATTRIBUTEVALUELENGTH = clazz->getStaticField<JBleATTErrorCode>("INVALIDATTRIBUTEVALUELENGTH");
|
|
58
|
+
static const auto fieldUNLIKELYERROR = clazz->getStaticField<JBleATTErrorCode>("UNLIKELYERROR");
|
|
59
|
+
static const auto fieldINSUFFICIENTENCRYPTION = clazz->getStaticField<JBleATTErrorCode>("INSUFFICIENTENCRYPTION");
|
|
60
|
+
static const auto fieldUNSUPPORTEDGROUPTYPE = clazz->getStaticField<JBleATTErrorCode>("UNSUPPORTEDGROUPTYPE");
|
|
61
|
+
static const auto fieldINSUFFICIENTRESOURCES = clazz->getStaticField<JBleATTErrorCode>("INSUFFICIENTRESOURCES");
|
|
62
|
+
|
|
63
|
+
switch (value) {
|
|
64
|
+
case BleATTErrorCode::SUCCESS:
|
|
65
|
+
return clazz->getStaticFieldValue(fieldSUCCESS);
|
|
66
|
+
case BleATTErrorCode::INVALIDHANDLE:
|
|
67
|
+
return clazz->getStaticFieldValue(fieldINVALIDHANDLE);
|
|
68
|
+
case BleATTErrorCode::READNOTPERMITTED:
|
|
69
|
+
return clazz->getStaticFieldValue(fieldREADNOTPERMITTED);
|
|
70
|
+
case BleATTErrorCode::WRITENOTPERMITTED:
|
|
71
|
+
return clazz->getStaticFieldValue(fieldWRITENOTPERMITTED);
|
|
72
|
+
case BleATTErrorCode::INVALIDPDU:
|
|
73
|
+
return clazz->getStaticFieldValue(fieldINVALIDPDU);
|
|
74
|
+
case BleATTErrorCode::INSUFFICIENTAUTHENTICATION:
|
|
75
|
+
return clazz->getStaticFieldValue(fieldINSUFFICIENTAUTHENTICATION);
|
|
76
|
+
case BleATTErrorCode::REQUESTNOTSUPPORTED:
|
|
77
|
+
return clazz->getStaticFieldValue(fieldREQUESTNOTSUPPORTED);
|
|
78
|
+
case BleATTErrorCode::INVALIDOFFSET:
|
|
79
|
+
return clazz->getStaticFieldValue(fieldINVALIDOFFSET);
|
|
80
|
+
case BleATTErrorCode::INSUFFICIENTAUTHORIZATION:
|
|
81
|
+
return clazz->getStaticFieldValue(fieldINSUFFICIENTAUTHORIZATION);
|
|
82
|
+
case BleATTErrorCode::PREPAREQUEUEFULL:
|
|
83
|
+
return clazz->getStaticFieldValue(fieldPREPAREQUEUEFULL);
|
|
84
|
+
case BleATTErrorCode::ATTRIBUTENOTFOUND:
|
|
85
|
+
return clazz->getStaticFieldValue(fieldATTRIBUTENOTFOUND);
|
|
86
|
+
case BleATTErrorCode::ATTRIBUTENOTLONG:
|
|
87
|
+
return clazz->getStaticFieldValue(fieldATTRIBUTENOTLONG);
|
|
88
|
+
case BleATTErrorCode::INSUFFICIENTENCRYPTIONKEYSIZE:
|
|
89
|
+
return clazz->getStaticFieldValue(fieldINSUFFICIENTENCRYPTIONKEYSIZE);
|
|
90
|
+
case BleATTErrorCode::INVALIDATTRIBUTEVALUELENGTH:
|
|
91
|
+
return clazz->getStaticFieldValue(fieldINVALIDATTRIBUTEVALUELENGTH);
|
|
92
|
+
case BleATTErrorCode::UNLIKELYERROR:
|
|
93
|
+
return clazz->getStaticFieldValue(fieldUNLIKELYERROR);
|
|
94
|
+
case BleATTErrorCode::INSUFFICIENTENCRYPTION:
|
|
95
|
+
return clazz->getStaticFieldValue(fieldINSUFFICIENTENCRYPTION);
|
|
96
|
+
case BleATTErrorCode::UNSUPPORTEDGROUPTYPE:
|
|
97
|
+
return clazz->getStaticFieldValue(fieldUNSUPPORTEDGROUPTYPE);
|
|
98
|
+
case BleATTErrorCode::INSUFFICIENTRESOURCES:
|
|
99
|
+
return clazz->getStaticFieldValue(fieldINSUFFICIENTRESOURCES);
|
|
100
|
+
default:
|
|
101
|
+
std::string stringValue = std::to_string(static_cast<int>(value));
|
|
102
|
+
throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
} // namespace margelo::nitro::co::zyke::ble
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JBleAndroidErrorCode.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 "BleAndroidErrorCode.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 "BleAndroidErrorCode" and the the Kotlin enum "BleAndroidErrorCode".
|
|
19
|
+
*/
|
|
20
|
+
struct JBleAndroidErrorCode final: public jni::JavaClass<JBleAndroidErrorCode> {
|
|
21
|
+
public:
|
|
22
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/co/zyke/ble/BleAndroidErrorCode;";
|
|
23
|
+
|
|
24
|
+
public:
|
|
25
|
+
/**
|
|
26
|
+
* Convert this Java/Kotlin-based enum to the C++ enum BleAndroidErrorCode.
|
|
27
|
+
*/
|
|
28
|
+
[[maybe_unused]]
|
|
29
|
+
[[nodiscard]]
|
|
30
|
+
BleAndroidErrorCode 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<BleAndroidErrorCode>(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<JBleAndroidErrorCode> fromCpp(BleAndroidErrorCode value) {
|
|
43
|
+
static const auto clazz = javaClassStatic();
|
|
44
|
+
static const auto fieldNORESOURCES = clazz->getStaticField<JBleAndroidErrorCode>("NORESOURCES");
|
|
45
|
+
static const auto fieldINTERNALERROR = clazz->getStaticField<JBleAndroidErrorCode>("INTERNALERROR");
|
|
46
|
+
static const auto fieldWRONGSTATE = clazz->getStaticField<JBleAndroidErrorCode>("WRONGSTATE");
|
|
47
|
+
static const auto fieldDBFULL = clazz->getStaticField<JBleAndroidErrorCode>("DBFULL");
|
|
48
|
+
static const auto fieldBUSY = clazz->getStaticField<JBleAndroidErrorCode>("BUSY");
|
|
49
|
+
static const auto fieldERROR = clazz->getStaticField<JBleAndroidErrorCode>("ERROR");
|
|
50
|
+
static const auto fieldCMDSTARTED = clazz->getStaticField<JBleAndroidErrorCode>("CMDSTARTED");
|
|
51
|
+
static const auto fieldILLEGALPARAMETER = clazz->getStaticField<JBleAndroidErrorCode>("ILLEGALPARAMETER");
|
|
52
|
+
static const auto fieldPENDING = clazz->getStaticField<JBleAndroidErrorCode>("PENDING");
|
|
53
|
+
static const auto fieldAUTHFAIL = clazz->getStaticField<JBleAndroidErrorCode>("AUTHFAIL");
|
|
54
|
+
static const auto fieldMORE = clazz->getStaticField<JBleAndroidErrorCode>("MORE");
|
|
55
|
+
static const auto fieldINVALIDCFG = clazz->getStaticField<JBleAndroidErrorCode>("INVALIDCFG");
|
|
56
|
+
static const auto fieldSERVICESTARTED = clazz->getStaticField<JBleAndroidErrorCode>("SERVICESTARTED");
|
|
57
|
+
static const auto fieldENCRYPEDNOMITM = clazz->getStaticField<JBleAndroidErrorCode>("ENCRYPEDNOMITM");
|
|
58
|
+
static const auto fieldNOTENCRYPTED = clazz->getStaticField<JBleAndroidErrorCode>("NOTENCRYPTED");
|
|
59
|
+
static const auto fieldCONGESTED = clazz->getStaticField<JBleAndroidErrorCode>("CONGESTED");
|
|
60
|
+
|
|
61
|
+
switch (value) {
|
|
62
|
+
case BleAndroidErrorCode::NORESOURCES:
|
|
63
|
+
return clazz->getStaticFieldValue(fieldNORESOURCES);
|
|
64
|
+
case BleAndroidErrorCode::INTERNALERROR:
|
|
65
|
+
return clazz->getStaticFieldValue(fieldINTERNALERROR);
|
|
66
|
+
case BleAndroidErrorCode::WRONGSTATE:
|
|
67
|
+
return clazz->getStaticFieldValue(fieldWRONGSTATE);
|
|
68
|
+
case BleAndroidErrorCode::DBFULL:
|
|
69
|
+
return clazz->getStaticFieldValue(fieldDBFULL);
|
|
70
|
+
case BleAndroidErrorCode::BUSY:
|
|
71
|
+
return clazz->getStaticFieldValue(fieldBUSY);
|
|
72
|
+
case BleAndroidErrorCode::ERROR:
|
|
73
|
+
return clazz->getStaticFieldValue(fieldERROR);
|
|
74
|
+
case BleAndroidErrorCode::CMDSTARTED:
|
|
75
|
+
return clazz->getStaticFieldValue(fieldCMDSTARTED);
|
|
76
|
+
case BleAndroidErrorCode::ILLEGALPARAMETER:
|
|
77
|
+
return clazz->getStaticFieldValue(fieldILLEGALPARAMETER);
|
|
78
|
+
case BleAndroidErrorCode::PENDING:
|
|
79
|
+
return clazz->getStaticFieldValue(fieldPENDING);
|
|
80
|
+
case BleAndroidErrorCode::AUTHFAIL:
|
|
81
|
+
return clazz->getStaticFieldValue(fieldAUTHFAIL);
|
|
82
|
+
case BleAndroidErrorCode::MORE:
|
|
83
|
+
return clazz->getStaticFieldValue(fieldMORE);
|
|
84
|
+
case BleAndroidErrorCode::INVALIDCFG:
|
|
85
|
+
return clazz->getStaticFieldValue(fieldINVALIDCFG);
|
|
86
|
+
case BleAndroidErrorCode::SERVICESTARTED:
|
|
87
|
+
return clazz->getStaticFieldValue(fieldSERVICESTARTED);
|
|
88
|
+
case BleAndroidErrorCode::ENCRYPEDNOMITM:
|
|
89
|
+
return clazz->getStaticFieldValue(fieldENCRYPEDNOMITM);
|
|
90
|
+
case BleAndroidErrorCode::NOTENCRYPTED:
|
|
91
|
+
return clazz->getStaticFieldValue(fieldNOTENCRYPTED);
|
|
92
|
+
case BleAndroidErrorCode::CONGESTED:
|
|
93
|
+
return clazz->getStaticFieldValue(fieldCONGESTED);
|
|
94
|
+
default:
|
|
95
|
+
std::string stringValue = std::to_string(static_cast<int>(value));
|
|
96
|
+
throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
} // namespace margelo::nitro::co::zyke::ble
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JBleErrorCode.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 "BleErrorCode.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 "BleErrorCode" and the the Kotlin enum "BleErrorCode".
|
|
19
|
+
*/
|
|
20
|
+
struct JBleErrorCode final: public jni::JavaClass<JBleErrorCode> {
|
|
21
|
+
public:
|
|
22
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/co/zyke/ble/BleErrorCode;";
|
|
23
|
+
|
|
24
|
+
public:
|
|
25
|
+
/**
|
|
26
|
+
* Convert this Java/Kotlin-based enum to the C++ enum BleErrorCode.
|
|
27
|
+
*/
|
|
28
|
+
[[maybe_unused]]
|
|
29
|
+
[[nodiscard]]
|
|
30
|
+
BleErrorCode 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<BleErrorCode>(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<JBleErrorCode> fromCpp(BleErrorCode value) {
|
|
43
|
+
static const auto clazz = javaClassStatic();
|
|
44
|
+
static const auto fieldUNKNOWNERROR = clazz->getStaticField<JBleErrorCode>("UNKNOWNERROR");
|
|
45
|
+
static const auto fieldBLUETOOTHMANAGERDESTROYED = clazz->getStaticField<JBleErrorCode>("BLUETOOTHMANAGERDESTROYED");
|
|
46
|
+
static const auto fieldOPERATIONCANCELLED = clazz->getStaticField<JBleErrorCode>("OPERATIONCANCELLED");
|
|
47
|
+
static const auto fieldOPERATIONTIMEDOUT = clazz->getStaticField<JBleErrorCode>("OPERATIONTIMEDOUT");
|
|
48
|
+
static const auto fieldOPERATIONSTARTFAILED = clazz->getStaticField<JBleErrorCode>("OPERATIONSTARTFAILED");
|
|
49
|
+
static const auto fieldINVALIDIDENTIFIERS = clazz->getStaticField<JBleErrorCode>("INVALIDIDENTIFIERS");
|
|
50
|
+
static const auto fieldBLUETOOTHUNSUPPORTED = clazz->getStaticField<JBleErrorCode>("BLUETOOTHUNSUPPORTED");
|
|
51
|
+
static const auto fieldBLUETOOTHUNAUTHORIZED = clazz->getStaticField<JBleErrorCode>("BLUETOOTHUNAUTHORIZED");
|
|
52
|
+
static const auto fieldBLUETOOTHPOWEREDOFF = clazz->getStaticField<JBleErrorCode>("BLUETOOTHPOWEREDOFF");
|
|
53
|
+
static const auto fieldBLUETOOTHINUNKNOWNSTATE = clazz->getStaticField<JBleErrorCode>("BLUETOOTHINUNKNOWNSTATE");
|
|
54
|
+
static const auto fieldBLUETOOTHRESETTING = clazz->getStaticField<JBleErrorCode>("BLUETOOTHRESETTING");
|
|
55
|
+
static const auto fieldBLUETOOTHSTATECHANGEFAILED = clazz->getStaticField<JBleErrorCode>("BLUETOOTHSTATECHANGEFAILED");
|
|
56
|
+
static const auto fieldDEVICECONNECTIONFAILED = clazz->getStaticField<JBleErrorCode>("DEVICECONNECTIONFAILED");
|
|
57
|
+
static const auto fieldDEVICEDISCONNECTED = clazz->getStaticField<JBleErrorCode>("DEVICEDISCONNECTED");
|
|
58
|
+
static const auto fieldDEVICERSSIREADFAILED = clazz->getStaticField<JBleErrorCode>("DEVICERSSIREADFAILED");
|
|
59
|
+
static const auto fieldDEVICEALREADYCONNECTED = clazz->getStaticField<JBleErrorCode>("DEVICEALREADYCONNECTED");
|
|
60
|
+
static const auto fieldDEVICENOTFOUND = clazz->getStaticField<JBleErrorCode>("DEVICENOTFOUND");
|
|
61
|
+
static const auto fieldDEVICENOTCONNECTED = clazz->getStaticField<JBleErrorCode>("DEVICENOTCONNECTED");
|
|
62
|
+
static const auto fieldDEVICEMTUCHANGEFAILED = clazz->getStaticField<JBleErrorCode>("DEVICEMTUCHANGEFAILED");
|
|
63
|
+
static const auto fieldSERVICESDISCOVERYFAILED = clazz->getStaticField<JBleErrorCode>("SERVICESDISCOVERYFAILED");
|
|
64
|
+
static const auto fieldINCLUDEDSERVICESDISCOVERYFAILED = clazz->getStaticField<JBleErrorCode>("INCLUDEDSERVICESDISCOVERYFAILED");
|
|
65
|
+
static const auto fieldSERVICENOTFOUND = clazz->getStaticField<JBleErrorCode>("SERVICENOTFOUND");
|
|
66
|
+
static const auto fieldSERVICESNOTDISCOVERED = clazz->getStaticField<JBleErrorCode>("SERVICESNOTDISCOVERED");
|
|
67
|
+
static const auto fieldCHARACTERISTICSDISCOVERYFAILED = clazz->getStaticField<JBleErrorCode>("CHARACTERISTICSDISCOVERYFAILED");
|
|
68
|
+
static const auto fieldCHARACTERISTICWRITEFAILED = clazz->getStaticField<JBleErrorCode>("CHARACTERISTICWRITEFAILED");
|
|
69
|
+
static const auto fieldCHARACTERISTICREADFAILED = clazz->getStaticField<JBleErrorCode>("CHARACTERISTICREADFAILED");
|
|
70
|
+
static const auto fieldCHARACTERISTICNOTIFYCHANGEFAILED = clazz->getStaticField<JBleErrorCode>("CHARACTERISTICNOTIFYCHANGEFAILED");
|
|
71
|
+
static const auto fieldCHARACTERISTICNOTFOUND = clazz->getStaticField<JBleErrorCode>("CHARACTERISTICNOTFOUND");
|
|
72
|
+
static const auto fieldCHARACTERISTICSNOTDISCOVERED = clazz->getStaticField<JBleErrorCode>("CHARACTERISTICSNOTDISCOVERED");
|
|
73
|
+
static const auto fieldCHARACTERISTICINVALIDDATAFORMAT = clazz->getStaticField<JBleErrorCode>("CHARACTERISTICINVALIDDATAFORMAT");
|
|
74
|
+
static const auto fieldDESCRIPTORSDISCOVERYFAILED = clazz->getStaticField<JBleErrorCode>("DESCRIPTORSDISCOVERYFAILED");
|
|
75
|
+
static const auto fieldDESCRIPTORWRITEFAILED = clazz->getStaticField<JBleErrorCode>("DESCRIPTORWRITEFAILED");
|
|
76
|
+
static const auto fieldDESCRIPTORREADFAILED = clazz->getStaticField<JBleErrorCode>("DESCRIPTORREADFAILED");
|
|
77
|
+
static const auto fieldDESCRIPTORNOTFOUND = clazz->getStaticField<JBleErrorCode>("DESCRIPTORNOTFOUND");
|
|
78
|
+
static const auto fieldDESCRIPTORSNOTDISCOVERED = clazz->getStaticField<JBleErrorCode>("DESCRIPTORSNOTDISCOVERED");
|
|
79
|
+
static const auto fieldDESCRIPTORINVALIDDATAFORMAT = clazz->getStaticField<JBleErrorCode>("DESCRIPTORINVALIDDATAFORMAT");
|
|
80
|
+
static const auto fieldDESCRIPTORWRITENOTALLOWED = clazz->getStaticField<JBleErrorCode>("DESCRIPTORWRITENOTALLOWED");
|
|
81
|
+
static const auto fieldSCANSTARTFAILED = clazz->getStaticField<JBleErrorCode>("SCANSTARTFAILED");
|
|
82
|
+
static const auto fieldLOCATIONSERVICESDISABLED = clazz->getStaticField<JBleErrorCode>("LOCATIONSERVICESDISABLED");
|
|
83
|
+
|
|
84
|
+
switch (value) {
|
|
85
|
+
case BleErrorCode::UNKNOWNERROR:
|
|
86
|
+
return clazz->getStaticFieldValue(fieldUNKNOWNERROR);
|
|
87
|
+
case BleErrorCode::BLUETOOTHMANAGERDESTROYED:
|
|
88
|
+
return clazz->getStaticFieldValue(fieldBLUETOOTHMANAGERDESTROYED);
|
|
89
|
+
case BleErrorCode::OPERATIONCANCELLED:
|
|
90
|
+
return clazz->getStaticFieldValue(fieldOPERATIONCANCELLED);
|
|
91
|
+
case BleErrorCode::OPERATIONTIMEDOUT:
|
|
92
|
+
return clazz->getStaticFieldValue(fieldOPERATIONTIMEDOUT);
|
|
93
|
+
case BleErrorCode::OPERATIONSTARTFAILED:
|
|
94
|
+
return clazz->getStaticFieldValue(fieldOPERATIONSTARTFAILED);
|
|
95
|
+
case BleErrorCode::INVALIDIDENTIFIERS:
|
|
96
|
+
return clazz->getStaticFieldValue(fieldINVALIDIDENTIFIERS);
|
|
97
|
+
case BleErrorCode::BLUETOOTHUNSUPPORTED:
|
|
98
|
+
return clazz->getStaticFieldValue(fieldBLUETOOTHUNSUPPORTED);
|
|
99
|
+
case BleErrorCode::BLUETOOTHUNAUTHORIZED:
|
|
100
|
+
return clazz->getStaticFieldValue(fieldBLUETOOTHUNAUTHORIZED);
|
|
101
|
+
case BleErrorCode::BLUETOOTHPOWEREDOFF:
|
|
102
|
+
return clazz->getStaticFieldValue(fieldBLUETOOTHPOWEREDOFF);
|
|
103
|
+
case BleErrorCode::BLUETOOTHINUNKNOWNSTATE:
|
|
104
|
+
return clazz->getStaticFieldValue(fieldBLUETOOTHINUNKNOWNSTATE);
|
|
105
|
+
case BleErrorCode::BLUETOOTHRESETTING:
|
|
106
|
+
return clazz->getStaticFieldValue(fieldBLUETOOTHRESETTING);
|
|
107
|
+
case BleErrorCode::BLUETOOTHSTATECHANGEFAILED:
|
|
108
|
+
return clazz->getStaticFieldValue(fieldBLUETOOTHSTATECHANGEFAILED);
|
|
109
|
+
case BleErrorCode::DEVICECONNECTIONFAILED:
|
|
110
|
+
return clazz->getStaticFieldValue(fieldDEVICECONNECTIONFAILED);
|
|
111
|
+
case BleErrorCode::DEVICEDISCONNECTED:
|
|
112
|
+
return clazz->getStaticFieldValue(fieldDEVICEDISCONNECTED);
|
|
113
|
+
case BleErrorCode::DEVICERSSIREADFAILED:
|
|
114
|
+
return clazz->getStaticFieldValue(fieldDEVICERSSIREADFAILED);
|
|
115
|
+
case BleErrorCode::DEVICEALREADYCONNECTED:
|
|
116
|
+
return clazz->getStaticFieldValue(fieldDEVICEALREADYCONNECTED);
|
|
117
|
+
case BleErrorCode::DEVICENOTFOUND:
|
|
118
|
+
return clazz->getStaticFieldValue(fieldDEVICENOTFOUND);
|
|
119
|
+
case BleErrorCode::DEVICENOTCONNECTED:
|
|
120
|
+
return clazz->getStaticFieldValue(fieldDEVICENOTCONNECTED);
|
|
121
|
+
case BleErrorCode::DEVICEMTUCHANGEFAILED:
|
|
122
|
+
return clazz->getStaticFieldValue(fieldDEVICEMTUCHANGEFAILED);
|
|
123
|
+
case BleErrorCode::SERVICESDISCOVERYFAILED:
|
|
124
|
+
return clazz->getStaticFieldValue(fieldSERVICESDISCOVERYFAILED);
|
|
125
|
+
case BleErrorCode::INCLUDEDSERVICESDISCOVERYFAILED:
|
|
126
|
+
return clazz->getStaticFieldValue(fieldINCLUDEDSERVICESDISCOVERYFAILED);
|
|
127
|
+
case BleErrorCode::SERVICENOTFOUND:
|
|
128
|
+
return clazz->getStaticFieldValue(fieldSERVICENOTFOUND);
|
|
129
|
+
case BleErrorCode::SERVICESNOTDISCOVERED:
|
|
130
|
+
return clazz->getStaticFieldValue(fieldSERVICESNOTDISCOVERED);
|
|
131
|
+
case BleErrorCode::CHARACTERISTICSDISCOVERYFAILED:
|
|
132
|
+
return clazz->getStaticFieldValue(fieldCHARACTERISTICSDISCOVERYFAILED);
|
|
133
|
+
case BleErrorCode::CHARACTERISTICWRITEFAILED:
|
|
134
|
+
return clazz->getStaticFieldValue(fieldCHARACTERISTICWRITEFAILED);
|
|
135
|
+
case BleErrorCode::CHARACTERISTICREADFAILED:
|
|
136
|
+
return clazz->getStaticFieldValue(fieldCHARACTERISTICREADFAILED);
|
|
137
|
+
case BleErrorCode::CHARACTERISTICNOTIFYCHANGEFAILED:
|
|
138
|
+
return clazz->getStaticFieldValue(fieldCHARACTERISTICNOTIFYCHANGEFAILED);
|
|
139
|
+
case BleErrorCode::CHARACTERISTICNOTFOUND:
|
|
140
|
+
return clazz->getStaticFieldValue(fieldCHARACTERISTICNOTFOUND);
|
|
141
|
+
case BleErrorCode::CHARACTERISTICSNOTDISCOVERED:
|
|
142
|
+
return clazz->getStaticFieldValue(fieldCHARACTERISTICSNOTDISCOVERED);
|
|
143
|
+
case BleErrorCode::CHARACTERISTICINVALIDDATAFORMAT:
|
|
144
|
+
return clazz->getStaticFieldValue(fieldCHARACTERISTICINVALIDDATAFORMAT);
|
|
145
|
+
case BleErrorCode::DESCRIPTORSDISCOVERYFAILED:
|
|
146
|
+
return clazz->getStaticFieldValue(fieldDESCRIPTORSDISCOVERYFAILED);
|
|
147
|
+
case BleErrorCode::DESCRIPTORWRITEFAILED:
|
|
148
|
+
return clazz->getStaticFieldValue(fieldDESCRIPTORWRITEFAILED);
|
|
149
|
+
case BleErrorCode::DESCRIPTORREADFAILED:
|
|
150
|
+
return clazz->getStaticFieldValue(fieldDESCRIPTORREADFAILED);
|
|
151
|
+
case BleErrorCode::DESCRIPTORNOTFOUND:
|
|
152
|
+
return clazz->getStaticFieldValue(fieldDESCRIPTORNOTFOUND);
|
|
153
|
+
case BleErrorCode::DESCRIPTORSNOTDISCOVERED:
|
|
154
|
+
return clazz->getStaticFieldValue(fieldDESCRIPTORSNOTDISCOVERED);
|
|
155
|
+
case BleErrorCode::DESCRIPTORINVALIDDATAFORMAT:
|
|
156
|
+
return clazz->getStaticFieldValue(fieldDESCRIPTORINVALIDDATAFORMAT);
|
|
157
|
+
case BleErrorCode::DESCRIPTORWRITENOTALLOWED:
|
|
158
|
+
return clazz->getStaticFieldValue(fieldDESCRIPTORWRITENOTALLOWED);
|
|
159
|
+
case BleErrorCode::SCANSTARTFAILED:
|
|
160
|
+
return clazz->getStaticFieldValue(fieldSCANSTARTFAILED);
|
|
161
|
+
case BleErrorCode::LOCATIONSERVICESDISABLED:
|
|
162
|
+
return clazz->getStaticFieldValue(fieldLOCATIONSERVICESDISABLED);
|
|
163
|
+
default:
|
|
164
|
+
std::string stringValue = std::to_string(static_cast<int>(value));
|
|
165
|
+
throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
} // namespace margelo::nitro::co::zyke::ble
|