react-native-ble-nitro 1.9.2 → 1.9.4
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/README.md +2 -2
- package/ios/BleNitroBleManager.swift +2 -2
- package/lib/commonjs/manager.d.ts +1 -0
- package/lib/commonjs/manager.d.ts.map +1 -1
- package/lib/commonjs/manager.js +2 -0
- package/lib/commonjs/manager.js.map +1 -1
- package/lib/manager.d.ts +1 -0
- package/lib/manager.js +1 -0
- package/nitrogen/generated/android/BleNitro+autolinking.cmake +3 -1
- package/nitrogen/generated/android/BleNitro+autolinking.gradle +1 -1
- package/nitrogen/generated/android/BleNitroOnLoad.cpp +3 -3
- package/nitrogen/generated/android/BleNitroOnLoad.hpp +1 -1
- package/nitrogen/generated/android/c++/JAndroidScanMode.hpp +5 -6
- package/nitrogen/generated/android/c++/JBLEDevice.hpp +8 -4
- package/nitrogen/generated/android/c++/JBLEState.hpp +7 -8
- package/nitrogen/generated/android/c++/JFunc_void_BLEState.hpp +3 -2
- package/nitrogen/generated/android/c++/JFunc_void_bool_double_std__string.hpp +3 -2
- package/nitrogen/generated/android/c++/JFunc_void_bool_std__shared_ptr_ArrayBuffer__std__string.hpp +3 -3
- package/nitrogen/generated/android/c++/JFunc_void_bool_std__string.hpp +3 -2
- package/nitrogen/generated/android/c++/JFunc_void_bool_std__string_std__string.hpp +3 -2
- package/nitrogen/generated/android/c++/JFunc_void_std__optional_std__variant_nitro__NullType__BLEDevice___std__optional_std__variant_nitro__NullType__std__string__.hpp +91 -0
- package/nitrogen/generated/android/c++/JFunc_void_std__string_bool_std__string.hpp +3 -2
- package/nitrogen/generated/android/c++/JFunc_void_std__string_std__shared_ptr_ArrayBuffer_.hpp +3 -3
- package/nitrogen/generated/android/c++/JFunc_void_std__vector_BLEDevice_.hpp +5 -4
- package/nitrogen/generated/android/c++/JHybridNativeBleNitroFactorySpec.cpp +15 -4
- package/nitrogen/generated/android/c++/JHybridNativeBleNitroFactorySpec.hpp +3 -1
- package/nitrogen/generated/android/c++/JHybridNativeBleNitroSpec.cpp +27 -9
- package/nitrogen/generated/android/c++/JHybridNativeBleNitroSpec.hpp +4 -2
- package/nitrogen/generated/android/c++/JManufacturerData.hpp +8 -4
- package/nitrogen/generated/android/c++/JManufacturerDataEntry.hpp +6 -3
- package/nitrogen/generated/android/c++/JOperationResult.hpp +6 -2
- package/nitrogen/generated/android/c++/JScanFilter.hpp +8 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_BLEDevice.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_BLEDevice.hpp +79 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_String.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_String.hpp +70 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/AndroidScanMode.kt +3 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BLEDevice.kt +34 -25
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BLEState.kt +3 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BleNitroOnLoad.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Func_void_BLEState.kt +1 -2
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Func_void_bool_double_std__string.kt +1 -2
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Func_void_bool_std__shared_ptr_ArrayBuffer__std__string.kt +2 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Func_void_bool_std__string.kt +1 -2
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Func_void_bool_std__string_std__string.kt +1 -2
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/{Func_void_std__optional_BLEDevice__std__optional_std__string_.kt → Func_void_std__optional_std__variant_nitro__NullType__BLEDevice___std__optional_std__variant_nitro__NullType__std__string__.kt} +11 -12
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Func_void_std__string_bool_std__string.kt +1 -2
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Func_void_std__string_std__shared_ptr_ArrayBuffer_.kt +2 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Func_void_std__vector_BLEDevice_.kt +1 -2
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/HybridNativeBleNitroFactorySpec.kt +8 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/HybridNativeBleNitroSpec.kt +13 -5
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/ManufacturerData.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/ManufacturerDataEntry.kt +20 -11
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/OperationResult.kt +19 -10
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/ScanFilter.kt +25 -16
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Variant_NullType_BLEDevice.kt +59 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Variant_NullType_String.kt +59 -0
- package/nitrogen/generated/ios/BleNitro+autolinking.rb +2 -2
- package/nitrogen/generated/ios/BleNitro-Swift-Cxx-Bridge.cpp +6 -5
- package/nitrogen/generated/ios/BleNitro-Swift-Cxx-Bridge.hpp +99 -27
- package/nitrogen/generated/ios/BleNitro-Swift-Cxx-Umbrella.hpp +3 -3
- package/nitrogen/generated/ios/BleNitroAutolinking.mm +1 -1
- package/nitrogen/generated/ios/BleNitroAutolinking.swift +13 -15
- package/nitrogen/generated/ios/c++/HybridNativeBleNitroFactorySpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridNativeBleNitroFactorySpecSwift.hpp +10 -3
- package/nitrogen/generated/ios/c++/HybridNativeBleNitroSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridNativeBleNitroSpecSwift.hpp +13 -4
- package/nitrogen/generated/ios/swift/AndroidScanMode.swift +1 -1
- package/nitrogen/generated/ios/swift/BLEDevice.swift +15 -63
- package/nitrogen/generated/ios/swift/BLEState.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void.swift +1 -2
- package/nitrogen/generated/ios/swift/Func_void_BLEState.swift +1 -2
- package/nitrogen/generated/ios/swift/Func_void_bool_double_std__string.swift +1 -2
- package/nitrogen/generated/ios/swift/Func_void_bool_std__shared_ptr_ArrayBuffer__std__string.swift +1 -2
- package/nitrogen/generated/ios/swift/Func_void_bool_std__string.swift +1 -2
- package/nitrogen/generated/ios/swift/Func_void_bool_std__string_std__string.swift +1 -2
- package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +1 -2
- package/nitrogen/generated/ios/swift/Func_void_std__optional_std__variant_nitro__NullType__BLEDevice___std__optional_std__variant_nitro__NullType__std__string__.swift +84 -0
- package/nitrogen/generated/ios/swift/Func_void_std__string_bool_std__string.swift +1 -2
- package/nitrogen/generated/ios/swift/Func_void_std__string_std__shared_ptr_ArrayBuffer_.swift +1 -2
- package/nitrogen/generated/ios/swift/Func_void_std__vector_BLEDevice_.swift +1 -2
- package/nitrogen/generated/ios/swift/HybridNativeBleNitroFactorySpec.swift +10 -4
- package/nitrogen/generated/ios/swift/HybridNativeBleNitroFactorySpec_cxx.swift +18 -3
- package/nitrogen/generated/ios/swift/HybridNativeBleNitroSpec.swift +11 -5
- package/nitrogen/generated/ios/swift/HybridNativeBleNitroSpec_cxx.swift +48 -12
- package/nitrogen/generated/ios/swift/ManufacturerData.swift +3 -15
- package/nitrogen/generated/ios/swift/ManufacturerDataEntry.swift +5 -17
- package/nitrogen/generated/ios/swift/OperationResult.swift +12 -30
- package/nitrogen/generated/ios/swift/ScanFilter.swift +9 -39
- package/nitrogen/generated/ios/swift/Variant_NullType_BLEDevice.swift +18 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_String.swift +18 -0
- package/nitrogen/generated/shared/c++/AndroidScanMode.hpp +1 -1
- package/nitrogen/generated/shared/c++/BLEDevice.hpp +31 -23
- package/nitrogen/generated/shared/c++/BLEState.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridNativeBleNitroFactorySpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridNativeBleNitroFactorySpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridNativeBleNitroSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridNativeBleNitroSpec.hpp +4 -4
- package/nitrogen/generated/shared/c++/ManufacturerData.hpp +13 -5
- package/nitrogen/generated/shared/c++/ManufacturerDataEntry.hpp +17 -10
- package/nitrogen/generated/shared/c++/OperationResult.hpp +16 -8
- package/nitrogen/generated/shared/c++/ScanFilter.hpp +22 -14
- package/package.json +10 -10
- package/src/manager.ts +2 -1
- package/nitrogen/generated/android/c++/JFunc_void_std__optional_BLEDevice__std__optional_std__string_.hpp +0 -86
- package/nitrogen/generated/ios/swift/Func_void_std__optional_BLEDevice__std__optional_std__string_.swift +0 -54
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// ScanFilter.hpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#pragma once
|
|
@@ -22,6 +22,11 @@
|
|
|
22
22
|
#else
|
|
23
23
|
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
24
24
|
#endif
|
|
25
|
+
#if __has_include(<NitroModules/PropNameIDCache.hpp>)
|
|
26
|
+
#include <NitroModules/PropNameIDCache.hpp>
|
|
27
|
+
#else
|
|
28
|
+
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
29
|
+
#endif
|
|
25
30
|
|
|
26
31
|
// Forward declaration of `AndroidScanMode` to properly resolve imports.
|
|
27
32
|
namespace margelo::nitro::co::zyke::ble { enum class AndroidScanMode; }
|
|
@@ -35,7 +40,7 @@ namespace margelo::nitro::co::zyke::ble {
|
|
|
35
40
|
/**
|
|
36
41
|
* A struct which can be represented as a JavaScript object (ScanFilter).
|
|
37
42
|
*/
|
|
38
|
-
struct ScanFilter {
|
|
43
|
+
struct ScanFilter final {
|
|
39
44
|
public:
|
|
40
45
|
std::vector<std::string> serviceUUIDs SWIFT_PRIVATE;
|
|
41
46
|
double rssiThreshold SWIFT_PRIVATE;
|
|
@@ -45,6 +50,9 @@ namespace margelo::nitro::co::zyke::ble {
|
|
|
45
50
|
public:
|
|
46
51
|
ScanFilter() = default;
|
|
47
52
|
explicit ScanFilter(std::vector<std::string> serviceUUIDs, double rssiThreshold, bool allowDuplicates, AndroidScanMode androidScanMode): serviceUUIDs(serviceUUIDs), rssiThreshold(rssiThreshold), allowDuplicates(allowDuplicates), androidScanMode(androidScanMode) {}
|
|
53
|
+
|
|
54
|
+
public:
|
|
55
|
+
friend bool operator==(const ScanFilter& lhs, const ScanFilter& rhs) = default;
|
|
48
56
|
};
|
|
49
57
|
|
|
50
58
|
} // namespace margelo::nitro::co::zyke::ble
|
|
@@ -57,18 +65,18 @@ namespace margelo::nitro {
|
|
|
57
65
|
static inline margelo::nitro::co::zyke::ble::ScanFilter fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
|
|
58
66
|
jsi::Object obj = arg.asObject(runtime);
|
|
59
67
|
return margelo::nitro::co::zyke::ble::ScanFilter(
|
|
60
|
-
JSIConverter<std::vector<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "serviceUUIDs")),
|
|
61
|
-
JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "rssiThreshold")),
|
|
62
|
-
JSIConverter<bool>::fromJSI(runtime, obj.getProperty(runtime, "allowDuplicates")),
|
|
63
|
-
JSIConverter<margelo::nitro::co::zyke::ble::AndroidScanMode>::fromJSI(runtime, obj.getProperty(runtime, "androidScanMode"))
|
|
68
|
+
JSIConverter<std::vector<std::string>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "serviceUUIDs"))),
|
|
69
|
+
JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "rssiThreshold"))),
|
|
70
|
+
JSIConverter<bool>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "allowDuplicates"))),
|
|
71
|
+
JSIConverter<margelo::nitro::co::zyke::ble::AndroidScanMode>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "androidScanMode")))
|
|
64
72
|
);
|
|
65
73
|
}
|
|
66
74
|
static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::co::zyke::ble::ScanFilter& arg) {
|
|
67
75
|
jsi::Object obj(runtime);
|
|
68
|
-
obj.setProperty(runtime, "serviceUUIDs", JSIConverter<std::vector<std::string>>::toJSI(runtime, arg.serviceUUIDs));
|
|
69
|
-
obj.setProperty(runtime, "rssiThreshold", JSIConverter<double>::toJSI(runtime, arg.rssiThreshold));
|
|
70
|
-
obj.setProperty(runtime, "allowDuplicates", JSIConverter<bool>::toJSI(runtime, arg.allowDuplicates));
|
|
71
|
-
obj.setProperty(runtime, "androidScanMode", JSIConverter<margelo::nitro::co::zyke::ble::AndroidScanMode>::toJSI(runtime, arg.androidScanMode));
|
|
76
|
+
obj.setProperty(runtime, PropNameIDCache::get(runtime, "serviceUUIDs"), JSIConverter<std::vector<std::string>>::toJSI(runtime, arg.serviceUUIDs));
|
|
77
|
+
obj.setProperty(runtime, PropNameIDCache::get(runtime, "rssiThreshold"), JSIConverter<double>::toJSI(runtime, arg.rssiThreshold));
|
|
78
|
+
obj.setProperty(runtime, PropNameIDCache::get(runtime, "allowDuplicates"), JSIConverter<bool>::toJSI(runtime, arg.allowDuplicates));
|
|
79
|
+
obj.setProperty(runtime, PropNameIDCache::get(runtime, "androidScanMode"), JSIConverter<margelo::nitro::co::zyke::ble::AndroidScanMode>::toJSI(runtime, arg.androidScanMode));
|
|
72
80
|
return obj;
|
|
73
81
|
}
|
|
74
82
|
static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
|
|
@@ -79,10 +87,10 @@ namespace margelo::nitro {
|
|
|
79
87
|
if (!nitro::isPlainObject(runtime, obj)) {
|
|
80
88
|
return false;
|
|
81
89
|
}
|
|
82
|
-
if (!JSIConverter<std::vector<std::string>>::canConvert(runtime, obj.getProperty(runtime, "serviceUUIDs"))) return false;
|
|
83
|
-
if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, "rssiThreshold"))) return false;
|
|
84
|
-
if (!JSIConverter<bool>::canConvert(runtime, obj.getProperty(runtime, "allowDuplicates"))) return false;
|
|
85
|
-
if (!JSIConverter<margelo::nitro::co::zyke::ble::AndroidScanMode>::canConvert(runtime, obj.getProperty(runtime, "androidScanMode"))) return false;
|
|
90
|
+
if (!JSIConverter<std::vector<std::string>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "serviceUUIDs")))) return false;
|
|
91
|
+
if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "rssiThreshold")))) return false;
|
|
92
|
+
if (!JSIConverter<bool>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "allowDuplicates")))) return false;
|
|
93
|
+
if (!JSIConverter<margelo::nitro::co::zyke::ble::AndroidScanMode>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "androidScanMode")))) return false;
|
|
86
94
|
return true;
|
|
87
95
|
}
|
|
88
96
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-ble-nitro",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.4",
|
|
4
4
|
"description": "High-performance React Native BLE library built on Nitro Modules",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -84,20 +84,20 @@
|
|
|
84
84
|
"react-native-nitro-modules": "*"
|
|
85
85
|
},
|
|
86
86
|
"devDependencies": {
|
|
87
|
-
"@expo/config-plugins": "^54.0.
|
|
87
|
+
"@expo/config-plugins": "^54.0.4",
|
|
88
88
|
"@types/jest": "^29.5.0",
|
|
89
|
-
"@types/node": "^20.19.
|
|
89
|
+
"@types/node": "^20.19.30",
|
|
90
90
|
"@types/react": "^19.2.2",
|
|
91
91
|
"@typescript-eslint/eslint-plugin": "^6.21.0",
|
|
92
92
|
"@typescript-eslint/parser": "^6.21.0",
|
|
93
|
-
"eslint": "^8.
|
|
94
|
-
"expo-module-scripts": "^5.0.
|
|
93
|
+
"eslint": "^8.57.1",
|
|
94
|
+
"expo-module-scripts": "^5.0.8",
|
|
95
95
|
"jest": "^29.0.0",
|
|
96
|
-
"nitrogen": "^0.
|
|
97
|
-
"react-native": "^0.
|
|
98
|
-
"react-native-nitro-modules": "^0.
|
|
99
|
-
"rimraf": "^6.
|
|
100
|
-
"ts-jest": "^29.4.
|
|
96
|
+
"nitrogen": "^0.33.9",
|
|
97
|
+
"react-native": "^0.83.2",
|
|
98
|
+
"react-native-nitro-modules": "^0.33.9",
|
|
99
|
+
"rimraf": "^6.1.3",
|
|
100
|
+
"ts-jest": "^29.4.6",
|
|
101
101
|
"typescript": "^5.9.3"
|
|
102
102
|
},
|
|
103
103
|
"files": [
|
package/src/manager.ts
CHANGED
|
@@ -310,7 +310,7 @@ export class BleNitroManager {
|
|
|
310
310
|
* @param scanTimeout Optional timeout for the scan in milliseconds (default: 5000ms)
|
|
311
311
|
* @returns Promise resolving deviceId when connected
|
|
312
312
|
*/
|
|
313
|
-
public findAndConnect(deviceId: string, options?: { scanTimeout?: number, autoConnectAndroid?: boolean, onDisconnect?: DisconnectEventCallback }): Promise<string> {
|
|
313
|
+
public findAndConnect(deviceId: string, options?: { scanTimeout?: number, autoConnectAndroid?: boolean, onDisconnect?: DisconnectEventCallback, onFound?: (device: BLEDevice) => void }): Promise<string> {
|
|
314
314
|
const isConnected = this.isConnected(deviceId);
|
|
315
315
|
if (isConnected) {
|
|
316
316
|
return Promise.resolve(deviceId);
|
|
@@ -327,6 +327,7 @@ export class BleNitroManager {
|
|
|
327
327
|
if (device.id === deviceId) {
|
|
328
328
|
this.stopScan();
|
|
329
329
|
clearTimeout(timeoutScan);
|
|
330
|
+
options?.onFound?.(device);
|
|
330
331
|
this.connect(deviceId, options?.onDisconnect, options?.autoConnectAndroid).then(async (connectedDeviceId) => {
|
|
331
332
|
resolve(connectedDeviceId);
|
|
332
333
|
}).catch((error) => {
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
///
|
|
2
|
-
/// JFunc_void_std__optional_BLEDevice__std__optional_std__string_.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 <functional>
|
|
12
|
-
|
|
13
|
-
#include "BLEDevice.hpp"
|
|
14
|
-
#include <optional>
|
|
15
|
-
#include <string>
|
|
16
|
-
#include <functional>
|
|
17
|
-
#include "JBLEDevice.hpp"
|
|
18
|
-
#include "ManufacturerData.hpp"
|
|
19
|
-
#include "JManufacturerData.hpp"
|
|
20
|
-
#include "ManufacturerDataEntry.hpp"
|
|
21
|
-
#include <vector>
|
|
22
|
-
#include "JManufacturerDataEntry.hpp"
|
|
23
|
-
#include <NitroModules/ArrayBuffer.hpp>
|
|
24
|
-
#include <NitroModules/JArrayBuffer.hpp>
|
|
25
|
-
#include <NitroModules/JUnit.hpp>
|
|
26
|
-
|
|
27
|
-
namespace margelo::nitro::co::zyke::ble {
|
|
28
|
-
|
|
29
|
-
using namespace facebook;
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Represents the Java/Kotlin callback `(device: BLEDevice?, error: String?) -> Unit`.
|
|
33
|
-
* This can be passed around between C++ and Java/Kotlin.
|
|
34
|
-
*/
|
|
35
|
-
struct JFunc_void_std__optional_BLEDevice__std__optional_std__string_: public jni::JavaClass<JFunc_void_std__optional_BLEDevice__std__optional_std__string_> {
|
|
36
|
-
public:
|
|
37
|
-
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/co/zyke/ble/Func_void_std__optional_BLEDevice__std__optional_std__string_;";
|
|
38
|
-
|
|
39
|
-
public:
|
|
40
|
-
/**
|
|
41
|
-
* Invokes the function this `JFunc_void_std__optional_BLEDevice__std__optional_std__string_` instance holds through JNI.
|
|
42
|
-
*/
|
|
43
|
-
void invoke(const std::optional<BLEDevice>& device, const std::optional<std::string>& error) const {
|
|
44
|
-
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JBLEDevice> /* device */, jni::alias_ref<jni::JString> /* error */)>("invoke");
|
|
45
|
-
method(self(), device.has_value() ? JBLEDevice::fromCpp(device.value()) : nullptr, error.has_value() ? jni::make_jstring(error.value()) : nullptr);
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* An implementation of Func_void_std__optional_BLEDevice__std__optional_std__string_ that is backed by a C++ implementation (using `std::function<...>`)
|
|
51
|
-
*/
|
|
52
|
-
struct JFunc_void_std__optional_BLEDevice__std__optional_std__string__cxx final: public jni::HybridClass<JFunc_void_std__optional_BLEDevice__std__optional_std__string__cxx, JFunc_void_std__optional_BLEDevice__std__optional_std__string_> {
|
|
53
|
-
public:
|
|
54
|
-
static jni::local_ref<JFunc_void_std__optional_BLEDevice__std__optional_std__string_::javaobject> fromCpp(const std::function<void(const std::optional<BLEDevice>& /* device */, const std::optional<std::string>& /* error */)>& func) {
|
|
55
|
-
return JFunc_void_std__optional_BLEDevice__std__optional_std__string__cxx::newObjectCxxArgs(func);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
public:
|
|
59
|
-
/**
|
|
60
|
-
* Invokes the C++ `std::function<...>` this `JFunc_void_std__optional_BLEDevice__std__optional_std__string__cxx` instance holds.
|
|
61
|
-
*/
|
|
62
|
-
void invoke_cxx(jni::alias_ref<JBLEDevice> device, jni::alias_ref<jni::JString> error) {
|
|
63
|
-
_func(device != nullptr ? std::make_optional(device->toCpp()) : std::nullopt, error != nullptr ? std::make_optional(error->toStdString()) : std::nullopt);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
public:
|
|
67
|
-
[[nodiscard]]
|
|
68
|
-
inline const std::function<void(const std::optional<BLEDevice>& /* device */, const std::optional<std::string>& /* error */)>& getFunction() const {
|
|
69
|
-
return _func;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
public:
|
|
73
|
-
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/co/zyke/ble/Func_void_std__optional_BLEDevice__std__optional_std__string__cxx;";
|
|
74
|
-
static void registerNatives() {
|
|
75
|
-
registerHybrid({makeNativeMethod("invoke_cxx", JFunc_void_std__optional_BLEDevice__std__optional_std__string__cxx::invoke_cxx)});
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
private:
|
|
79
|
-
explicit JFunc_void_std__optional_BLEDevice__std__optional_std__string__cxx(const std::function<void(const std::optional<BLEDevice>& /* device */, const std::optional<std::string>& /* error */)>& func): _func(func) { }
|
|
80
|
-
|
|
81
|
-
private:
|
|
82
|
-
friend HybridBase;
|
|
83
|
-
std::function<void(const std::optional<BLEDevice>& /* device */, const std::optional<std::string>& /* error */)> _func;
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
} // namespace margelo::nitro::co::zyke::ble
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
///
|
|
2
|
-
/// Func_void_std__optional_BLEDevice__std__optional_std__string_.swift
|
|
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
|
-
import NitroModules
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Wraps a Swift `(_ device: BLEDevice?, _ error: String?) -> Void` as a class.
|
|
13
|
-
* This class can be used from C++, e.g. to wrap the Swift closure as a `std::function`.
|
|
14
|
-
*/
|
|
15
|
-
public final class Func_void_std__optional_BLEDevice__std__optional_std__string_ {
|
|
16
|
-
public typealias bridge = margelo.nitro.co.zyke.ble.bridge.swift
|
|
17
|
-
|
|
18
|
-
private let closure: (_ device: BLEDevice?, _ error: String?) -> Void
|
|
19
|
-
|
|
20
|
-
public init(_ closure: @escaping (_ device: BLEDevice?, _ error: String?) -> Void) {
|
|
21
|
-
self.closure = closure
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
@inline(__always)
|
|
25
|
-
public func call(device: bridge.std__optional_BLEDevice_, error: bridge.std__optional_std__string_) -> Void {
|
|
26
|
-
self.closure(device.value, { () -> String? in
|
|
27
|
-
if bridge.has_value_std__optional_std__string_(error) {
|
|
28
|
-
let __unwrapped = bridge.get_std__optional_std__string_(error)
|
|
29
|
-
return String(__unwrapped)
|
|
30
|
-
} else {
|
|
31
|
-
return nil
|
|
32
|
-
}
|
|
33
|
-
}())
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Casts this instance to a retained unsafe raw pointer.
|
|
38
|
-
* This acquires one additional strong reference on the object!
|
|
39
|
-
*/
|
|
40
|
-
@inline(__always)
|
|
41
|
-
public func toUnsafe() -> UnsafeMutableRawPointer {
|
|
42
|
-
return Unmanaged.passRetained(self).toOpaque()
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Casts an unsafe pointer to a `Func_void_std__optional_BLEDevice__std__optional_std__string_`.
|
|
47
|
-
* The pointer has to be a retained opaque `Unmanaged<Func_void_std__optional_BLEDevice__std__optional_std__string_>`.
|
|
48
|
-
* This removes one strong reference from the object!
|
|
49
|
-
*/
|
|
50
|
-
@inline(__always)
|
|
51
|
-
public static func fromUnsafe(_ pointer: UnsafeMutableRawPointer) -> Func_void_std__optional_BLEDevice__std__optional_std__string_ {
|
|
52
|
-
return Unmanaged<Func_void_std__optional_BLEDevice__std__optional_std__string_>.fromOpaque(pointer).takeRetainedValue()
|
|
53
|
-
}
|
|
54
|
-
}
|