munim-bluetooth 0.3.23 → 0.3.25
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/AndroidManifest.xml +10 -0
- package/android/src/main/java/com/munimbluetooth/HybridMunimBluetooth.kt +87 -0
- package/android/src/main/java/com/munimbluetooth/MunimBluetoothBackgroundService.kt +344 -0
- package/ios/HybridMunimBluetooth.swift +361 -47
- package/lib/commonjs/index.js +21 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +19 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/index.d.ts +15 -2
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/munim-bluetooth.nitro.d.ts +25 -3
- package/lib/typescript/src/specs/munim-bluetooth.nitro.d.ts.map +1 -1
- package/nitrogen/generated/android/c++/JBackgroundSessionOptions.hpp +107 -0
- package/nitrogen/generated/android/c++/JHybridMunimBluetoothSpec.cpp +12 -0
- package/nitrogen/generated/android/c++/JHybridMunimBluetoothSpec.hpp +2 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimbluetooth/BackgroundSessionOptions.kt +59 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimbluetooth/HybridMunimBluetoothSpec.kt +28 -20
- package/nitrogen/generated/ios/MunimBluetooth-Swift-Cxx-Umbrella.hpp +3 -0
- package/nitrogen/generated/ios/c++/HybridMunimBluetoothSpecSwift.hpp +15 -0
- package/nitrogen/generated/ios/swift/BackgroundSessionOptions.swift +154 -0
- package/nitrogen/generated/ios/swift/HybridMunimBluetoothSpec.swift +2 -0
- package/nitrogen/generated/ios/swift/HybridMunimBluetoothSpec_cxx.swift +43 -21
- package/nitrogen/generated/shared/c++/BackgroundSessionOptions.hpp +115 -0
- package/nitrogen/generated/shared/c++/HybridMunimBluetoothSpec.cpp +2 -0
- package/nitrogen/generated/shared/c++/HybridMunimBluetoothSpec.hpp +5 -0
- package/package.json +1 -1
- package/src/index.ts +23 -0
- package/src/specs/munim-bluetooth.nitro.ts +28 -3
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NitroModules","DeviceEventEmitter","NativeEventEmitter","NativeModules","Platform","MunimBluetooth","createHybridObject","nativeEventModule","OS","MunimBluetoothEventEmitter","console","log","Object","keys","filter","key","includes","eventEmitter","error","warn","startAdvertising","options","updateAdvertisingData","advertisingData","getAdvertisingData","stopAdvertising","setServices","services","isBluetoothEnabled","requestBluetoothPermission","startScan","stopScan","connect","deviceId","disconnect","discoverServices","readCharacteristic","serviceUUID","characteristicUUID","writeCharacteristic","value","writeType","subscribeToCharacteristic","unsubscribeFromCharacteristic","getConnectedDevices","readRSSI","addDeviceFoundListener","callback","subscription","addListener","remove","addEventListener","eventName","removeListeners","count"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,4BAA4B;AACzD,SACEC,kBAAkB,EAClBC,kBAAkB,EAClBC,aAAa,EACbC,QAAQ,QACH,cAAc;
|
|
1
|
+
{"version":3,"names":["NitroModules","DeviceEventEmitter","NativeEventEmitter","NativeModules","Platform","MunimBluetooth","createHybridObject","nativeEventModule","OS","MunimBluetoothEventEmitter","console","log","Object","keys","filter","key","includes","eventEmitter","error","warn","startAdvertising","options","updateAdvertisingData","advertisingData","getAdvertisingData","stopAdvertising","setServices","services","isBluetoothEnabled","requestBluetoothPermission","startScan","stopScan","connect","deviceId","disconnect","discoverServices","readCharacteristic","serviceUUID","characteristicUUID","writeCharacteristic","value","writeType","subscribeToCharacteristic","unsubscribeFromCharacteristic","getConnectedDevices","readRSSI","startBackgroundSession","stopBackgroundSession","addDeviceFoundListener","callback","subscription","addListener","remove","addEventListener","eventName","removeListeners","count"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AdvertisingDataTypes, BLEDevice, ScanOptions, GATTService, CharacteristicValue } from './specs/munim-bluetooth.nitro';
|
|
1
|
+
import type { AdvertisingDataTypes, BLEDevice, BackgroundSessionOptions, ScanOptions, GATTService, CharacteristicValue } from './specs/munim-bluetooth.nitro';
|
|
2
2
|
/**
|
|
3
3
|
* Start advertising as a Bluetooth peripheral with supported advertising data.
|
|
4
4
|
*
|
|
@@ -123,6 +123,17 @@ export declare function getConnectedDevices(): Promise<string[]>;
|
|
|
123
123
|
* @returns Promise resolving to RSSI value in dBm.
|
|
124
124
|
*/
|
|
125
125
|
export declare function readRSSI(deviceId: string): Promise<number>;
|
|
126
|
+
/**
|
|
127
|
+
* Start a best-effort background BLE session.
|
|
128
|
+
*
|
|
129
|
+
* Android uses a foreground service. iOS relies on the host app's Bluetooth
|
|
130
|
+
* background modes and state restoration.
|
|
131
|
+
*/
|
|
132
|
+
export declare function startBackgroundSession(options: BackgroundSessionOptions): void;
|
|
133
|
+
/**
|
|
134
|
+
* Stop the active background BLE session.
|
|
135
|
+
*/
|
|
136
|
+
export declare function stopBackgroundSession(): void;
|
|
126
137
|
/**
|
|
127
138
|
* Add a device found event listener (for scanning).
|
|
128
139
|
*
|
|
@@ -150,7 +161,7 @@ export declare function addListener(eventName: string): void;
|
|
|
150
161
|
* @param count - Number of listeners to remove.
|
|
151
162
|
*/
|
|
152
163
|
export declare function removeListeners(count: number): void;
|
|
153
|
-
export type { AdvertisingDataTypes, BLEDevice, ScanOptions, GATTService, CharacteristicValue, };
|
|
164
|
+
export type { AdvertisingDataTypes, BLEDevice, BackgroundSessionOptions, ScanOptions, GATTService, CharacteristicValue, };
|
|
154
165
|
declare const _default: {
|
|
155
166
|
startAdvertising: typeof startAdvertising;
|
|
156
167
|
stopAdvertising: typeof stopAdvertising;
|
|
@@ -170,6 +181,8 @@ declare const _default: {
|
|
|
170
181
|
unsubscribeFromCharacteristic: typeof unsubscribeFromCharacteristic;
|
|
171
182
|
getConnectedDevices: typeof getConnectedDevices;
|
|
172
183
|
readRSSI: typeof readRSSI;
|
|
184
|
+
startBackgroundSession: typeof startBackgroundSession;
|
|
185
|
+
stopBackgroundSession: typeof stopBackgroundSession;
|
|
173
186
|
addDeviceFoundListener: typeof addDeviceFoundListener;
|
|
174
187
|
addEventListener: typeof addEventListener;
|
|
175
188
|
addListener: typeof addListener;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,6 +58,16 @@ export interface AdvertisingOptions {
|
|
|
58
58
|
manufacturerData?: string;
|
|
59
59
|
advertisingData?: AdvertisingDataTypes;
|
|
60
60
|
}
|
|
61
|
+
export interface BackgroundSessionOptions {
|
|
62
|
+
serviceUUIDs: string[];
|
|
63
|
+
localName?: string;
|
|
64
|
+
allowDuplicates?: boolean;
|
|
65
|
+
scanMode?: ScanMode;
|
|
66
|
+
androidNotificationChannelId?: string;
|
|
67
|
+
androidNotificationChannelName?: string;
|
|
68
|
+
androidNotificationTitle?: string;
|
|
69
|
+
androidNotificationText?: string;
|
|
70
|
+
}
|
|
61
71
|
export interface MunimBluetooth extends HybridObject<{
|
|
62
72
|
ios: 'swift';
|
|
63
73
|
android: 'kotlin';
|
|
@@ -179,10 +189,22 @@ export interface MunimBluetooth extends HybridObject<{
|
|
|
179
189
|
/**
|
|
180
190
|
* Read RSSI (signal strength) for a connected device.
|
|
181
191
|
*
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
192
|
+
* @param deviceId - The unique identifier of the connected device.
|
|
193
|
+
* @returns Promise resolving to RSSI value in dBm.
|
|
194
|
+
*/
|
|
185
195
|
readRSSI(deviceId: string): Promise<number>;
|
|
196
|
+
/**
|
|
197
|
+
* Start a best-effort background BLE session.
|
|
198
|
+
*
|
|
199
|
+
* Android uses a foreground service so BLE can continue after the app leaves the foreground.
|
|
200
|
+
* iOS keeps the central/peripheral managers running and relies on the host app's Bluetooth
|
|
201
|
+
* background modes for best-effort background operation.
|
|
202
|
+
*/
|
|
203
|
+
startBackgroundSession(options: BackgroundSessionOptions): void;
|
|
204
|
+
/**
|
|
205
|
+
* Stop the active background BLE session.
|
|
206
|
+
*/
|
|
207
|
+
stopBackgroundSession(): void;
|
|
186
208
|
/**
|
|
187
209
|
* Add an event listener.
|
|
188
210
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"munim-bluetooth.nitro.d.ts","sourceRoot":"","sources":["../../../../src/specs/munim-bluetooth.nitro.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"munim-bluetooth.nitro.d.ts","sourceRoot":"","sources":["../../../../src/specs/munim-bluetooth.nitro.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JBackgroundSessionOptions.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "BackgroundSessionOptions.hpp"
|
|
12
|
+
|
|
13
|
+
#include "JScanMode.hpp"
|
|
14
|
+
#include "ScanMode.hpp"
|
|
15
|
+
#include <optional>
|
|
16
|
+
#include <string>
|
|
17
|
+
#include <vector>
|
|
18
|
+
|
|
19
|
+
namespace margelo::nitro::munimbluetooth {
|
|
20
|
+
|
|
21
|
+
using namespace facebook;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* The C++ JNI bridge between the C++ struct "BackgroundSessionOptions" and the the Kotlin data class "BackgroundSessionOptions".
|
|
25
|
+
*/
|
|
26
|
+
struct JBackgroundSessionOptions final: public jni::JavaClass<JBackgroundSessionOptions> {
|
|
27
|
+
public:
|
|
28
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/munimbluetooth/BackgroundSessionOptions;";
|
|
29
|
+
|
|
30
|
+
public:
|
|
31
|
+
/**
|
|
32
|
+
* Convert this Java/Kotlin-based struct to the C++ struct BackgroundSessionOptions by copying all values to C++.
|
|
33
|
+
*/
|
|
34
|
+
[[maybe_unused]]
|
|
35
|
+
[[nodiscard]]
|
|
36
|
+
BackgroundSessionOptions toCpp() const {
|
|
37
|
+
static const auto clazz = javaClassStatic();
|
|
38
|
+
static const auto fieldServiceUUIDs = clazz->getField<jni::JArrayClass<jni::JString>>("serviceUUIDs");
|
|
39
|
+
jni::local_ref<jni::JArrayClass<jni::JString>> serviceUUIDs = this->getFieldValue(fieldServiceUUIDs);
|
|
40
|
+
static const auto fieldLocalName = clazz->getField<jni::JString>("localName");
|
|
41
|
+
jni::local_ref<jni::JString> localName = this->getFieldValue(fieldLocalName);
|
|
42
|
+
static const auto fieldAllowDuplicates = clazz->getField<jni::JBoolean>("allowDuplicates");
|
|
43
|
+
jni::local_ref<jni::JBoolean> allowDuplicates = this->getFieldValue(fieldAllowDuplicates);
|
|
44
|
+
static const auto fieldScanMode = clazz->getField<JScanMode>("scanMode");
|
|
45
|
+
jni::local_ref<JScanMode> scanMode = this->getFieldValue(fieldScanMode);
|
|
46
|
+
static const auto fieldAndroidNotificationChannelId = clazz->getField<jni::JString>("androidNotificationChannelId");
|
|
47
|
+
jni::local_ref<jni::JString> androidNotificationChannelId = this->getFieldValue(fieldAndroidNotificationChannelId);
|
|
48
|
+
static const auto fieldAndroidNotificationChannelName = clazz->getField<jni::JString>("androidNotificationChannelName");
|
|
49
|
+
jni::local_ref<jni::JString> androidNotificationChannelName = this->getFieldValue(fieldAndroidNotificationChannelName);
|
|
50
|
+
static const auto fieldAndroidNotificationTitle = clazz->getField<jni::JString>("androidNotificationTitle");
|
|
51
|
+
jni::local_ref<jni::JString> androidNotificationTitle = this->getFieldValue(fieldAndroidNotificationTitle);
|
|
52
|
+
static const auto fieldAndroidNotificationText = clazz->getField<jni::JString>("androidNotificationText");
|
|
53
|
+
jni::local_ref<jni::JString> androidNotificationText = this->getFieldValue(fieldAndroidNotificationText);
|
|
54
|
+
return BackgroundSessionOptions(
|
|
55
|
+
[&]() {
|
|
56
|
+
size_t __size = serviceUUIDs->size();
|
|
57
|
+
std::vector<std::string> __vector;
|
|
58
|
+
__vector.reserve(__size);
|
|
59
|
+
for (size_t __i = 0; __i < __size; __i++) {
|
|
60
|
+
auto __element = serviceUUIDs->getElement(__i);
|
|
61
|
+
__vector.push_back(__element->toStdString());
|
|
62
|
+
}
|
|
63
|
+
return __vector;
|
|
64
|
+
}(),
|
|
65
|
+
localName != nullptr ? std::make_optional(localName->toStdString()) : std::nullopt,
|
|
66
|
+
allowDuplicates != nullptr ? std::make_optional(static_cast<bool>(allowDuplicates->value())) : std::nullopt,
|
|
67
|
+
scanMode != nullptr ? std::make_optional(scanMode->toCpp()) : std::nullopt,
|
|
68
|
+
androidNotificationChannelId != nullptr ? std::make_optional(androidNotificationChannelId->toStdString()) : std::nullopt,
|
|
69
|
+
androidNotificationChannelName != nullptr ? std::make_optional(androidNotificationChannelName->toStdString()) : std::nullopt,
|
|
70
|
+
androidNotificationTitle != nullptr ? std::make_optional(androidNotificationTitle->toStdString()) : std::nullopt,
|
|
71
|
+
androidNotificationText != nullptr ? std::make_optional(androidNotificationText->toStdString()) : std::nullopt
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
public:
|
|
76
|
+
/**
|
|
77
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
78
|
+
*/
|
|
79
|
+
[[maybe_unused]]
|
|
80
|
+
static jni::local_ref<JBackgroundSessionOptions::javaobject> fromCpp(const BackgroundSessionOptions& value) {
|
|
81
|
+
using JSignature = JBackgroundSessionOptions(jni::alias_ref<jni::JArrayClass<jni::JString>>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<JScanMode>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>);
|
|
82
|
+
static const auto clazz = javaClassStatic();
|
|
83
|
+
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
84
|
+
return create(
|
|
85
|
+
clazz,
|
|
86
|
+
[&]() {
|
|
87
|
+
size_t __size = value.serviceUUIDs.size();
|
|
88
|
+
jni::local_ref<jni::JArrayClass<jni::JString>> __array = jni::JArrayClass<jni::JString>::newArray(__size);
|
|
89
|
+
for (size_t __i = 0; __i < __size; __i++) {
|
|
90
|
+
const auto& __element = value.serviceUUIDs[__i];
|
|
91
|
+
auto __elementJni = jni::make_jstring(__element);
|
|
92
|
+
__array->setElement(__i, *__elementJni);
|
|
93
|
+
}
|
|
94
|
+
return __array;
|
|
95
|
+
}(),
|
|
96
|
+
value.localName.has_value() ? jni::make_jstring(value.localName.value()) : nullptr,
|
|
97
|
+
value.allowDuplicates.has_value() ? jni::JBoolean::valueOf(value.allowDuplicates.value()) : nullptr,
|
|
98
|
+
value.scanMode.has_value() ? JScanMode::fromCpp(value.scanMode.value()) : nullptr,
|
|
99
|
+
value.androidNotificationChannelId.has_value() ? jni::make_jstring(value.androidNotificationChannelId.value()) : nullptr,
|
|
100
|
+
value.androidNotificationChannelName.has_value() ? jni::make_jstring(value.androidNotificationChannelName.value()) : nullptr,
|
|
101
|
+
value.androidNotificationTitle.has_value() ? jni::make_jstring(value.androidNotificationTitle.value()) : nullptr,
|
|
102
|
+
value.androidNotificationText.has_value() ? jni::make_jstring(value.androidNotificationText.value()) : nullptr
|
|
103
|
+
);
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
} // namespace margelo::nitro::munimbluetooth
|
|
@@ -25,6 +25,8 @@ namespace margelo::nitro::munimbluetooth { struct ScanOptions; }
|
|
|
25
25
|
namespace margelo::nitro::munimbluetooth { enum class ScanMode; }
|
|
26
26
|
// Forward declaration of `WriteType` to properly resolve imports.
|
|
27
27
|
namespace margelo::nitro::munimbluetooth { enum class WriteType; }
|
|
28
|
+
// Forward declaration of `BackgroundSessionOptions` to properly resolve imports.
|
|
29
|
+
namespace margelo::nitro::munimbluetooth { struct BackgroundSessionOptions; }
|
|
28
30
|
|
|
29
31
|
#include "AdvertisingDataTypes.hpp"
|
|
30
32
|
#include <NitroModules/Promise.hpp>
|
|
@@ -50,6 +52,8 @@ namespace margelo::nitro::munimbluetooth { enum class WriteType; }
|
|
|
50
52
|
#include "JScanMode.hpp"
|
|
51
53
|
#include "WriteType.hpp"
|
|
52
54
|
#include "JWriteType.hpp"
|
|
55
|
+
#include "BackgroundSessionOptions.hpp"
|
|
56
|
+
#include "JBackgroundSessionOptions.hpp"
|
|
53
57
|
|
|
54
58
|
namespace margelo::nitro::munimbluetooth {
|
|
55
59
|
|
|
@@ -289,6 +293,14 @@ namespace margelo::nitro::munimbluetooth {
|
|
|
289
293
|
return __promise;
|
|
290
294
|
}();
|
|
291
295
|
}
|
|
296
|
+
void JHybridMunimBluetoothSpec::startBackgroundSession(const BackgroundSessionOptions& options) {
|
|
297
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JBackgroundSessionOptions> /* options */)>("startBackgroundSession");
|
|
298
|
+
method(_javaPart, JBackgroundSessionOptions::fromCpp(options));
|
|
299
|
+
}
|
|
300
|
+
void JHybridMunimBluetoothSpec::stopBackgroundSession() {
|
|
301
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void()>("stopBackgroundSession");
|
|
302
|
+
method(_javaPart);
|
|
303
|
+
}
|
|
292
304
|
void JHybridMunimBluetoothSpec::addListener(const std::string& eventName) {
|
|
293
305
|
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* eventName */)>("addListener");
|
|
294
306
|
method(_javaPart, jni::make_jstring(eventName));
|
|
@@ -72,6 +72,8 @@ namespace margelo::nitro::munimbluetooth {
|
|
|
72
72
|
void unsubscribeFromCharacteristic(const std::string& deviceId, const std::string& serviceUUID, const std::string& characteristicUUID) override;
|
|
73
73
|
std::shared_ptr<Promise<std::vector<std::string>>> getConnectedDevices() override;
|
|
74
74
|
std::shared_ptr<Promise<double>> readRSSI(const std::string& deviceId) override;
|
|
75
|
+
void startBackgroundSession(const BackgroundSessionOptions& options) override;
|
|
76
|
+
void stopBackgroundSession() override;
|
|
75
77
|
void addListener(const std::string& eventName) override;
|
|
76
78
|
void removeListeners(double count) override;
|
|
77
79
|
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// BackgroundSessionOptions.kt
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
package com.margelo.nitro.munimbluetooth
|
|
9
|
+
|
|
10
|
+
import androidx.annotation.Keep
|
|
11
|
+
import com.facebook.proguard.annotations.DoNotStrip
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Represents the JavaScript object/struct "BackgroundSessionOptions".
|
|
16
|
+
*/
|
|
17
|
+
@DoNotStrip
|
|
18
|
+
@Keep
|
|
19
|
+
data class BackgroundSessionOptions(
|
|
20
|
+
@DoNotStrip
|
|
21
|
+
@Keep
|
|
22
|
+
val serviceUUIDs: Array<String>,
|
|
23
|
+
@DoNotStrip
|
|
24
|
+
@Keep
|
|
25
|
+
val localName: String?,
|
|
26
|
+
@DoNotStrip
|
|
27
|
+
@Keep
|
|
28
|
+
val allowDuplicates: Boolean?,
|
|
29
|
+
@DoNotStrip
|
|
30
|
+
@Keep
|
|
31
|
+
val scanMode: ScanMode?,
|
|
32
|
+
@DoNotStrip
|
|
33
|
+
@Keep
|
|
34
|
+
val androidNotificationChannelId: String?,
|
|
35
|
+
@DoNotStrip
|
|
36
|
+
@Keep
|
|
37
|
+
val androidNotificationChannelName: String?,
|
|
38
|
+
@DoNotStrip
|
|
39
|
+
@Keep
|
|
40
|
+
val androidNotificationTitle: String?,
|
|
41
|
+
@DoNotStrip
|
|
42
|
+
@Keep
|
|
43
|
+
val androidNotificationText: String?
|
|
44
|
+
) {
|
|
45
|
+
/* primary constructor */
|
|
46
|
+
|
|
47
|
+
companion object {
|
|
48
|
+
/**
|
|
49
|
+
* Constructor called from C++
|
|
50
|
+
*/
|
|
51
|
+
@DoNotStrip
|
|
52
|
+
@Keep
|
|
53
|
+
@Suppress("unused")
|
|
54
|
+
@JvmStatic
|
|
55
|
+
private fun fromCpp(serviceUUIDs: Array<String>, localName: String?, allowDuplicates: Boolean?, scanMode: ScanMode?, androidNotificationChannelId: String?, androidNotificationChannelName: String?, androidNotificationTitle: String?, androidNotificationText: String?): BackgroundSessionOptions {
|
|
56
|
+
return BackgroundSessionOptions(serviceUUIDs, localName, allowDuplicates, scanMode, androidNotificationChannelId, androidNotificationChannelName, androidNotificationTitle, androidNotificationText)
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -26,85 +26,93 @@ import com.margelo.nitro.core.HybridObject
|
|
|
26
26
|
)
|
|
27
27
|
abstract class HybridMunimBluetoothSpec: HybridObject() {
|
|
28
28
|
// Properties
|
|
29
|
-
|
|
29
|
+
|
|
30
30
|
|
|
31
31
|
// Methods
|
|
32
32
|
@DoNotStrip
|
|
33
33
|
@Keep
|
|
34
34
|
abstract fun startAdvertising(options: AdvertisingOptions): Unit
|
|
35
|
-
|
|
35
|
+
|
|
36
36
|
@DoNotStrip
|
|
37
37
|
@Keep
|
|
38
38
|
abstract fun updateAdvertisingData(advertisingData: AdvertisingDataTypes): Unit
|
|
39
|
-
|
|
39
|
+
|
|
40
40
|
@DoNotStrip
|
|
41
41
|
@Keep
|
|
42
42
|
abstract fun getAdvertisingData(): Promise<AdvertisingDataTypes>
|
|
43
|
-
|
|
43
|
+
|
|
44
44
|
@DoNotStrip
|
|
45
45
|
@Keep
|
|
46
46
|
abstract fun stopAdvertising(): Unit
|
|
47
|
-
|
|
47
|
+
|
|
48
48
|
@DoNotStrip
|
|
49
49
|
@Keep
|
|
50
50
|
abstract fun setServices(services: Array<GATTService>): Unit
|
|
51
|
-
|
|
51
|
+
|
|
52
52
|
@DoNotStrip
|
|
53
53
|
@Keep
|
|
54
54
|
abstract fun isBluetoothEnabled(): Promise<Boolean>
|
|
55
|
-
|
|
55
|
+
|
|
56
56
|
@DoNotStrip
|
|
57
57
|
@Keep
|
|
58
58
|
abstract fun requestBluetoothPermission(): Promise<Boolean>
|
|
59
|
-
|
|
59
|
+
|
|
60
60
|
@DoNotStrip
|
|
61
61
|
@Keep
|
|
62
62
|
abstract fun startScan(options: ScanOptions?): Unit
|
|
63
|
-
|
|
63
|
+
|
|
64
64
|
@DoNotStrip
|
|
65
65
|
@Keep
|
|
66
66
|
abstract fun stopScan(): Unit
|
|
67
|
-
|
|
67
|
+
|
|
68
68
|
@DoNotStrip
|
|
69
69
|
@Keep
|
|
70
70
|
abstract fun connect(deviceId: String): Promise<Unit>
|
|
71
|
-
|
|
71
|
+
|
|
72
72
|
@DoNotStrip
|
|
73
73
|
@Keep
|
|
74
74
|
abstract fun disconnect(deviceId: String): Unit
|
|
75
|
-
|
|
75
|
+
|
|
76
76
|
@DoNotStrip
|
|
77
77
|
@Keep
|
|
78
78
|
abstract fun discoverServices(deviceId: String): Promise<Array<GATTService>>
|
|
79
|
-
|
|
79
|
+
|
|
80
80
|
@DoNotStrip
|
|
81
81
|
@Keep
|
|
82
82
|
abstract fun readCharacteristic(deviceId: String, serviceUUID: String, characteristicUUID: String): Promise<CharacteristicValue>
|
|
83
|
-
|
|
83
|
+
|
|
84
84
|
@DoNotStrip
|
|
85
85
|
@Keep
|
|
86
86
|
abstract fun writeCharacteristic(deviceId: String, serviceUUID: String, characteristicUUID: String, value: String, writeType: WriteType?): Promise<Unit>
|
|
87
|
-
|
|
87
|
+
|
|
88
88
|
@DoNotStrip
|
|
89
89
|
@Keep
|
|
90
90
|
abstract fun subscribeToCharacteristic(deviceId: String, serviceUUID: String, characteristicUUID: String): Unit
|
|
91
|
-
|
|
91
|
+
|
|
92
92
|
@DoNotStrip
|
|
93
93
|
@Keep
|
|
94
94
|
abstract fun unsubscribeFromCharacteristic(deviceId: String, serviceUUID: String, characteristicUUID: String): Unit
|
|
95
|
-
|
|
95
|
+
|
|
96
96
|
@DoNotStrip
|
|
97
97
|
@Keep
|
|
98
98
|
abstract fun getConnectedDevices(): Promise<Array<String>>
|
|
99
|
-
|
|
99
|
+
|
|
100
100
|
@DoNotStrip
|
|
101
101
|
@Keep
|
|
102
102
|
abstract fun readRSSI(deviceId: String): Promise<Double>
|
|
103
|
-
|
|
103
|
+
|
|
104
|
+
@DoNotStrip
|
|
105
|
+
@Keep
|
|
106
|
+
abstract fun startBackgroundSession(options: BackgroundSessionOptions): Unit
|
|
107
|
+
|
|
108
|
+
@DoNotStrip
|
|
109
|
+
@Keep
|
|
110
|
+
abstract fun stopBackgroundSession(): Unit
|
|
111
|
+
|
|
104
112
|
@DoNotStrip
|
|
105
113
|
@Keep
|
|
106
114
|
abstract fun addListener(eventName: String): Unit
|
|
107
|
-
|
|
115
|
+
|
|
108
116
|
@DoNotStrip
|
|
109
117
|
@Keep
|
|
110
118
|
abstract fun removeListeners(count: Double): Unit
|
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
namespace margelo::nitro::munimbluetooth { struct AdvertisingDataTypes; }
|
|
13
13
|
// Forward declaration of `AdvertisingOptions` to properly resolve imports.
|
|
14
14
|
namespace margelo::nitro::munimbluetooth { struct AdvertisingOptions; }
|
|
15
|
+
// Forward declaration of `BackgroundSessionOptions` to properly resolve imports.
|
|
16
|
+
namespace margelo::nitro::munimbluetooth { struct BackgroundSessionOptions; }
|
|
15
17
|
// Forward declaration of `CharacteristicValue` to properly resolve imports.
|
|
16
18
|
namespace margelo::nitro::munimbluetooth { struct CharacteristicValue; }
|
|
17
19
|
// Forward declaration of `GATTCharacteristic` to properly resolve imports.
|
|
@@ -32,6 +34,7 @@ namespace margelo::nitro::munimbluetooth { enum class WriteType; }
|
|
|
32
34
|
// Include C++ defined types
|
|
33
35
|
#include "AdvertisingDataTypes.hpp"
|
|
34
36
|
#include "AdvertisingOptions.hpp"
|
|
37
|
+
#include "BackgroundSessionOptions.hpp"
|
|
35
38
|
#include "CharacteristicValue.hpp"
|
|
36
39
|
#include "GATTCharacteristic.hpp"
|
|
37
40
|
#include "GATTService.hpp"
|
|
@@ -30,6 +30,8 @@ namespace margelo::nitro::munimbluetooth { enum class ScanMode; }
|
|
|
30
30
|
namespace margelo::nitro::munimbluetooth { struct CharacteristicValue; }
|
|
31
31
|
// Forward declaration of `WriteType` to properly resolve imports.
|
|
32
32
|
namespace margelo::nitro::munimbluetooth { enum class WriteType; }
|
|
33
|
+
// Forward declaration of `BackgroundSessionOptions` to properly resolve imports.
|
|
34
|
+
namespace margelo::nitro::munimbluetooth { struct BackgroundSessionOptions; }
|
|
33
35
|
|
|
34
36
|
#include "AdvertisingOptions.hpp"
|
|
35
37
|
#include <string>
|
|
@@ -44,6 +46,7 @@ namespace margelo::nitro::munimbluetooth { enum class WriteType; }
|
|
|
44
46
|
#include "ScanMode.hpp"
|
|
45
47
|
#include "CharacteristicValue.hpp"
|
|
46
48
|
#include "WriteType.hpp"
|
|
49
|
+
#include "BackgroundSessionOptions.hpp"
|
|
47
50
|
|
|
48
51
|
#include "MunimBluetooth-Swift-Cxx-Umbrella.hpp"
|
|
49
52
|
|
|
@@ -221,6 +224,18 @@ namespace margelo::nitro::munimbluetooth {
|
|
|
221
224
|
auto __value = std::move(__result.value());
|
|
222
225
|
return __value;
|
|
223
226
|
}
|
|
227
|
+
inline void startBackgroundSession(const BackgroundSessionOptions& options) override {
|
|
228
|
+
auto __result = _swiftPart.startBackgroundSession(std::forward<decltype(options)>(options));
|
|
229
|
+
if (__result.hasError()) [[unlikely]] {
|
|
230
|
+
std::rethrow_exception(__result.error());
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
inline void stopBackgroundSession() override {
|
|
234
|
+
auto __result = _swiftPart.stopBackgroundSession();
|
|
235
|
+
if (__result.hasError()) [[unlikely]] {
|
|
236
|
+
std::rethrow_exception(__result.error());
|
|
237
|
+
}
|
|
238
|
+
}
|
|
224
239
|
inline void addListener(const std::string& eventName) override {
|
|
225
240
|
auto __result = _swiftPart.addListener(eventName);
|
|
226
241
|
if (__result.hasError()) [[unlikely]] {
|