react-native-ble-nitro 1.0.0-beta.6 → 1.0.0-beta.8
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/build.gradle +3 -0
- package/android/src/main/kotlin/{co → com/margelo/nitro/co}/zyke/ble/BleNitroBleManager.kt +8 -2
- package/ios/BleNitro.podspec +11 -4
- package/ios/BleNitroModule.swift +2 -9
- package/nitro.json +6 -1
- 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 +62 -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/BleNitroAutolinking.mm +33 -0
- package/nitrogen/generated/ios/BleNitroAutolinking.swift +25 -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
- package/react-native.config.js +1 -1
- package/android/src/main/kotlin/co/zyke/ble/BleNitroPackage.kt +0 -37
package/android/build.gradle
CHANGED
|
@@ -36,6 +36,9 @@ android {
|
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
+
// Apply Nitro autolinking
|
|
40
|
+
apply from: '../nitrogen/generated/android/BleNitro+autolinking.gradle'
|
|
41
|
+
|
|
39
42
|
dependencies {
|
|
40
43
|
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
|
41
44
|
implementation 'androidx.core:core-ktx:1.9.0'
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Copyright © 2025 Zyke (https://zyke.co)
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
package co.zyke.ble
|
|
7
|
+
package com.margelo.nitro.co.zyke.ble
|
|
8
8
|
|
|
9
9
|
import android.bluetooth.*
|
|
10
10
|
import android.bluetooth.le.*
|
|
@@ -15,6 +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.co.zyke.ble.HybridBleManagerSpec
|
|
18
19
|
import com.margelo.nitro.NitroModules
|
|
19
20
|
import kotlinx.coroutines.*
|
|
20
21
|
import kotlinx.coroutines.channels.Channel
|
|
@@ -33,7 +34,12 @@ import com.margelo.nitro.co.zyke.ble.*
|
|
|
33
34
|
* Core BLE Manager implementation using Android BLE APIs
|
|
34
35
|
* Implements the HybridBleManagerSpec interface generated by Nitro
|
|
35
36
|
*/
|
|
36
|
-
class BleNitroBleManager
|
|
37
|
+
class BleNitroBleManager : HybridBleManagerSpec {
|
|
38
|
+
|
|
39
|
+
// Get context from Nitro's context system
|
|
40
|
+
private val context: ReactApplicationContext by lazy {
|
|
41
|
+
NitroModules.getReactApplicationContext()
|
|
42
|
+
}
|
|
37
43
|
|
|
38
44
|
companion object {
|
|
39
45
|
private const val TAG = "BleNitroBleManager"
|
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}"
|
|
@@ -23,14 +23,21 @@ Pod::Spec.new do |s|
|
|
|
23
23
|
# iOS frameworks
|
|
24
24
|
s.frameworks = "CoreBluetooth"
|
|
25
25
|
|
|
26
|
-
#
|
|
27
|
-
|
|
26
|
+
# Apply Nitro autolinking
|
|
27
|
+
load '../nitrogen/generated/ios/BleNitro+autolinking.rb'
|
|
28
|
+
add_nitrogen_files(s)
|
|
29
|
+
|
|
30
|
+
# Base build settings (will be merged with autolinking settings)
|
|
31
|
+
base_xcconfig = {
|
|
28
32
|
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) FOLLY_NO_CONFIG FOLLY_MOBILE=1 FOLLY_USE_LIBCPP=1',
|
|
29
|
-
'CLANG_CXX_LANGUAGE_STANDARD' => 'c++17',
|
|
30
33
|
'CLANG_CXX_LIBRARY' => 'libc++',
|
|
31
34
|
'OTHER_CPLUSPLUSFLAGS' => '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1'
|
|
32
35
|
}
|
|
33
36
|
|
|
37
|
+
# Merge with existing pod_target_xcconfig from autolinking
|
|
38
|
+
current_xcconfig = s.pod_target_xcconfig || {}
|
|
39
|
+
s.pod_target_xcconfig = base_xcconfig.merge(current_xcconfig)
|
|
40
|
+
|
|
34
41
|
s.user_target_xcconfig = {
|
|
35
42
|
'OTHER_LDFLAGS' => '-lc++'
|
|
36
43
|
}
|
package/ios/BleNitroModule.swift
CHANGED
|
@@ -19,13 +19,6 @@ public class BleNitroModule: NSObject {
|
|
|
19
19
|
public func constantsToExport() -> [String: Any] {
|
|
20
20
|
return [:]
|
|
21
21
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Nitro module factory for creating BLE manager instances
|
|
26
|
-
*/
|
|
27
|
-
@_cdecl("create_ble_nitro_manager")
|
|
28
|
-
public func createBleNitroManager() -> UnsafeMutableRawPointer {
|
|
29
|
-
let manager = BleNitroBleManager()
|
|
30
|
-
return Unmanaged.passRetained(manager).toOpaque()
|
|
22
|
+
|
|
23
|
+
// Autolinking handles the Nitro registration automatically
|
|
31
24
|
}
|
package/nitro.json
CHANGED
|
@@ -8,7 +8,12 @@
|
|
|
8
8
|
"androidNamespace": ["co", "zyke", "ble"],
|
|
9
9
|
"androidCxxLibName": "BleNitro"
|
|
10
10
|
},
|
|
11
|
-
"autolinking": {
|
|
11
|
+
"autolinking": {
|
|
12
|
+
"BleManager": {
|
|
13
|
+
"swift": "BleNitroBleManager",
|
|
14
|
+
"kotlin": "BleNitroBleManager"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
12
17
|
"ignorePaths": [
|
|
13
18
|
"**/node_modules"
|
|
14
19
|
]
|
|
@@ -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,62 @@
|
|
|
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
|
+
#include <NitroModules/JNISharedPtr.hpp>
|
|
28
|
+
#include <NitroModules/DefaultConstructableObject.hpp>
|
|
29
|
+
|
|
30
|
+
namespace margelo::nitro::co::zyke::ble {
|
|
31
|
+
|
|
32
|
+
int initialize(JavaVM* vm) {
|
|
33
|
+
using namespace margelo::nitro;
|
|
34
|
+
using namespace margelo::nitro::co::zyke::ble;
|
|
35
|
+
using namespace facebook;
|
|
36
|
+
|
|
37
|
+
return facebook::jni::initialize(vm, [] {
|
|
38
|
+
// Register native JNI methods
|
|
39
|
+
margelo::nitro::co::zyke::ble::JHybridBleManagerSpec::registerNatives();
|
|
40
|
+
margelo::nitro::co::zyke::ble::JFunc_void_cxx::registerNatives();
|
|
41
|
+
margelo::nitro::co::zyke::ble::JFunc_void_State_cxx::registerNatives();
|
|
42
|
+
margelo::nitro::co::zyke::ble::JFunc_void_std__optional_NativeBleError__std__optional_NativeDevice__cxx::registerNatives();
|
|
43
|
+
margelo::nitro::co::zyke::ble::JFunc_void_std__optional_NativeBleError__std__optional_NativeCharacteristic__cxx::registerNatives();
|
|
44
|
+
margelo::nitro::co::zyke::ble::JHybridCharacteristicSpec::registerNatives();
|
|
45
|
+
margelo::nitro::co::zyke::ble::JHybridDescriptorSpec::registerNatives();
|
|
46
|
+
margelo::nitro::co::zyke::ble::JHybridDeviceSpec::registerNatives();
|
|
47
|
+
margelo::nitro::co::zyke::ble::JHybridServiceSpec::registerNatives();
|
|
48
|
+
|
|
49
|
+
// Register Nitro Hybrid Objects
|
|
50
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
51
|
+
"BleManager",
|
|
52
|
+
[]() -> std::shared_ptr<HybridObject> {
|
|
53
|
+
static DefaultConstructableObject<JHybridBleManagerSpec::javaobject> object("com/margelo/nitro/co/zyke/ble/BleNitroBleManager");
|
|
54
|
+
auto instance = object.create();
|
|
55
|
+
auto globalRef = jni::make_global(instance);
|
|
56
|
+
return JNISharedPtr::make_shared_from_jni<JHybridBleManagerSpec>(globalRef);
|
|
57
|
+
}
|
|
58
|
+
);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
} // 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
|