ilabs-flir 2.2.16 → 2.2.18

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.
@@ -54,8 +54,6 @@ import ThermalSDK
54
54
 
55
55
  // MARK: - Singleton
56
56
 
57
- @objc public static let shared = FlirManager()
58
-
59
57
  // MARK: - Properties
60
58
  @objc public weak var delegate: FlirManagerDelegate?
61
59
 
@@ -326,9 +324,7 @@ import ThermalSDK
326
324
  #endif
327
325
  }
328
326
 
329
- @objc public func getTemperatureAtPoint(_ x: Int, y: Int) -> Double {
330
- return getTemperatureAt(x: x, y: y)
331
- }
327
+
332
328
 
333
329
  @objc public func getTemperatureAtNormalized(_ nx: Double, y: Double) -> Double {
334
330
  guard let img = latestImage else { return Double.nan }
@@ -310,8 +310,12 @@ RCT_EXPORT_METHOD(getTemperatureAt : (nonnull NSNumber *)x y : (
310
310
  nonnull NSNumber *)y resolver : (RCTPromiseResolveBlock)
311
311
  resolve rejecter : (RCTPromiseRejectBlock)reject) {
312
312
  dispatch_async(dispatch_get_main_queue(), ^{
313
- double temp = [[FLIRManager shared] getTemperatureAtPoint:[x intValue]
314
- y:[y intValue]];
313
+ id manager = flir_manager_shared();
314
+ double temp = NAN;
315
+ if (manager && [manager respondsToSelector:sel_registerName("getTemperatureAtPoint:y:")]) {
316
+ temp = ((double (*)(id, SEL, int, int))objc_msgSend)(
317
+ manager, sel_registerName("getTemperatureAtPoint:y:"), [x intValue], [y intValue]);
318
+ }
315
319
  if (isnan(temp)) {
316
320
  resolve([NSNull null]);
317
321
  } else {
@@ -406,7 +410,11 @@ RCT_EXPORT_METHOD(getSDKStatus : (RCTPromiseResolveBlock)
406
410
  RCT_EXPORT_METHOD(getBatteryLevel : (RCTPromiseResolveBlock)
407
411
  resolve rejecter : (RCTPromiseRejectBlock)reject) {
408
412
  dispatch_async(dispatch_get_main_queue(), ^{
409
- int level = [[FLIRManager shared] getBatteryLevel];
413
+ id manager = flir_manager_shared();
414
+ int level = -1;
415
+ if (manager && [manager respondsToSelector:sel_registerName("getBatteryLevel")]) {
416
+ level = ((int (*)(id, SEL))objc_msgSend)(manager, sel_registerName("getBatteryLevel"));
417
+ }
410
418
  resolve(@(level));
411
419
  });
412
420
  }
@@ -414,7 +422,11 @@ RCT_EXPORT_METHOD(getBatteryLevel : (RCTPromiseResolveBlock)
414
422
  RCT_EXPORT_METHOD(isBatteryCharging : (RCTPromiseResolveBlock)
415
423
  resolve rejecter : (RCTPromiseRejectBlock)reject) {
416
424
  dispatch_async(dispatch_get_main_queue(), ^{
417
- BOOL ch = [[FLIRManager shared] isBatteryCharging];
425
+ id manager = flir_manager_shared();
426
+ BOOL ch = NO;
427
+ if (manager && [manager respondsToSelector:sel_registerName("isBatteryCharging")]) {
428
+ ch = ((BOOL (*)(id, SEL))objc_msgSend)(manager, sel_registerName("isBatteryCharging"));
429
+ }
418
430
  resolve(@(ch));
419
431
  });
420
432
  }
@@ -422,7 +434,10 @@ RCT_EXPORT_METHOD(isBatteryCharging : (RCTPromiseResolveBlock)
422
434
  RCT_EXPORT_METHOD(setPreferSdkRotation : (BOOL)prefer resolver : (
423
435
  RCTPromiseResolveBlock)resolve rejecter : (RCTPromiseRejectBlock)reject) {
424
436
  dispatch_async(dispatch_get_main_queue(), ^{
425
- [[FLIRManager shared] setPreferSdkRotation:prefer];
437
+ id manager = flir_manager_shared();
438
+ if (manager && [manager respondsToSelector:sel_registerName("setPreferSdkRotation:")]) {
439
+ ((void (*)(id, SEL, BOOL))objc_msgSend)(manager, sel_registerName("setPreferSdkRotation:"), prefer);
440
+ }
426
441
  resolve(@(YES));
427
442
  });
428
443
  }
@@ -430,7 +445,11 @@ RCT_EXPORT_METHOD(setPreferSdkRotation : (BOOL)prefer resolver : (
430
445
  RCT_EXPORT_METHOD(isPreferSdkRotation : (RCTPromiseResolveBlock)
431
446
  resolve rejecter : (RCTPromiseRejectBlock)reject) {
432
447
  dispatch_async(dispatch_get_main_queue(), ^{
433
- BOOL v = [[FLIRManager shared] isPreferSdkRotation];
448
+ id manager = flir_manager_shared();
449
+ BOOL v = NO;
450
+ if (manager && [manager respondsToSelector:sel_registerName("isPreferSdkRotation")]) {
451
+ v = ((BOOL (*)(id, SEL))objc_msgSend)(manager, sel_registerName("isPreferSdkRotation"));
452
+ }
434
453
  resolve(@(v));
435
454
  });
436
455
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ilabs-flir",
3
- "version": "2.2.16",
3
+ "version": "2.2.18",
4
4
  "description": "FLIR Thermal SDK for React Native - iOS & Android (bundled at compile time via postinstall)",
5
5
  "main": "src/index.js",
6
6
  "types": "src/index.d.ts",
@@ -1,104 +0,0 @@
1
- import Foundation
2
- import UIKit
3
-
4
- /// ObjC-compatible shim that forwards to FlirManager
5
- /// This provides a clean API for native consumers (FilterDataProvider, etc.)
6
- @objc public class FLIRManager: NSObject {
7
- @objc public static let shared = FLIRManager()
8
-
9
- private override init() {
10
- super.init()
11
- }
12
-
13
- // MARK: - SDK Availability
14
-
15
- @objc public func isAvailable() -> Bool {
16
- return FlirManager.isSDKAvailable
17
- }
18
-
19
- @objc public static var isSDKAvailable: Bool {
20
- return FlirManager.isSDKAvailable
21
- }
22
-
23
- // MARK: - Temperature APIs
24
-
25
- @objc public func getTemperatureAtPoint(x: Int, y: Int) -> Double {
26
- return FlirManager.shared.getTemperatureAtPoint(x, y: y)
27
- }
28
-
29
- @objc public func getTemperatureAtNormalized(_ nx: Double, y: Double) -> Double {
30
- return FlirManager.shared.getTemperatureAtNormalized(nx, y: y)
31
- }
32
-
33
- // MARK: - Battery APIs
34
-
35
- @objc public func getBatteryLevel() -> Int {
36
- return FlirManager.shared.getBatteryLevel()
37
- }
38
-
39
- @objc public func isBatteryCharging() -> Bool {
40
- return FlirManager.shared.isBatteryCharging()
41
- }
42
-
43
- // MARK: - Rotation Preference
44
-
45
- @objc public func setPreferSdkRotation(_ prefer: Bool) {
46
- FlirManager.shared.setPreferSdkRotation(prefer)
47
- }
48
-
49
- @objc public func isPreferSdkRotation() -> Bool {
50
- return FlirManager.shared.isPreferSdkRotation()
51
- }
52
-
53
- // MARK: - Frame Access
54
-
55
- @objc public func latestFrameImage() -> UIImage? {
56
- return FlirManager.shared.latestImage
57
- }
58
-
59
- @objc public var latestImage: UIImage? {
60
- return FlirManager.shared.latestImage
61
- }
62
-
63
- // MARK: - Discovery & Connection
64
-
65
- @objc public func startDiscovery() {
66
- FlirManager.shared.startDiscovery()
67
- }
68
-
69
- @objc public func stopDiscovery() {
70
- FlirManager.shared.stopDiscovery()
71
- }
72
-
73
- @objc public var isConnected: Bool {
74
- return FlirManager.shared.isConnected
75
- }
76
-
77
- @objc public var isStreaming: Bool {
78
- return FlirManager.shared.isStreaming
79
- }
80
-
81
- @objc public var isEmulator: Bool {
82
- return FlirManager.shared.isEmulator
83
- }
84
-
85
- // MARK: - Palette Control
86
-
87
- @objc public func setPalette(_ name: String) {
88
- FlirManager.shared.setPalette(name)
89
- }
90
-
91
- @objc public func setPaletteFromAcol(_ acol: Float) {
92
- FlirManager.shared.setPaletteFromAcol(acol)
93
- }
94
-
95
- // MARK: - Client Lifecycle
96
-
97
- @objc public func retainClient(_ clientId: String) {
98
- FlirManager.shared.retainClient(clientId)
99
- }
100
-
101
- @objc public func releaseClient(_ clientId: String) {
102
- FlirManager.shared.releaseClient(clientId)
103
- }
104
- }