ilabs-flir 2.2.20 → 2.2.23

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/Flir.podspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Pod::Spec.new do |s|
2
2
  s.name = 'Flir'
3
- s.version = '2.0.0'
3
+ s.version = '2.2.21'
4
4
  s.summary = 'FLIR Thermal SDK React Native - Bundled via postinstall'
5
5
  s.description = <<-DESC
6
6
  A React Native wrapper for the FLIR Thermal SDK, providing thermal imaging
@@ -46,9 +46,8 @@ dependencies {
46
46
  // FLIR SDK - Use the actual AAR files from libs folder
47
47
  // Using 'api' to expose SDK classes to consumers and Java source files
48
48
  // flatDir must be configured in settings.gradle or root build.gradle
49
- api(files("libs/androidsdk-release.aar"))
50
- api(files("libs/thermalsdk-release.aar"))
51
-
49
+ compileOnly(files("libs/androidsdk-release.aar"))
50
+ compileOnly(files("libs/thermalsdk-release.aar"))
52
51
  // Minimal compile deps to satisfy source references
53
52
  implementation("androidx.annotation:annotation:1.5.0")
54
53
 
@@ -115,7 +115,9 @@ public class FlirSdkManager {
115
115
  DiscoveryFactory.getInstance().scan(
116
116
  discoveryListener,
117
117
  CommunicationInterface.EMULATOR,
118
- CommunicationInterface.USB);
118
+ CommunicationInterface.USB,
119
+ CommunicationInterface.NETWORK,
120
+ CommunicationInterface.FLIR_ONE_WIRELESS);
119
121
  } catch (Exception e) {
120
122
  Log.e(TAG, "Scan failed", e);
121
123
  isScanning = false;
@@ -129,7 +131,9 @@ public class FlirSdkManager {
129
131
  try {
130
132
  DiscoveryFactory.getInstance().stop(
131
133
  CommunicationInterface.EMULATOR,
132
- CommunicationInterface.USB);
134
+ CommunicationInterface.USB,
135
+ CommunicationInterface.NETWORK,
136
+ CommunicationInterface.FLIR_ONE_WIRELESS);
133
137
  } catch (Exception e) {
134
138
  Log.e(TAG, "Stop scan failed", e);
135
139
  }
package/app.plugin.js CHANGED
@@ -48,8 +48,7 @@ const EXTERNAL_ACCESSORY_PROTOCOLS = [
48
48
 
49
49
  // Bonjour services for FLIR network discovery
50
50
  const BONJOUR_SERVICES = [
51
- '_flir._tcp',
52
- '_http._tcp',
51
+ '_flir-ircam._tcp',
53
52
  ];
54
53
 
55
54
  // Default permission descriptions
@@ -182,7 +181,8 @@ const withFlirInfoPlist = (config, props = {}) => {
182
181
  */
183
182
  const withFlirEntitlements = (config) => {
184
183
  return withEntitlementsPlist(config, (config) => {
185
- // Currently no special entitlements needed
184
+ // Required to read current WiFi SSID for direct connections
185
+ config.modResults['com.apple.developer.networking.wifi-info'] = true;
186
186
  return config;
187
187
  });
188
188
  };
@@ -252,6 +252,10 @@ const withFlirAndroidManifest = (config, props = {}) => {
252
252
  addPermission('android.permission.INTERNET');
253
253
  addPermission('android.permission.ACCESS_NETWORK_STATE');
254
254
  addPermission('android.permission.ACCESS_WIFI_STATE');
255
+ addPermission('android.permission.CHANGE_WIFI_STATE');
256
+ addPermission('android.permission.CHANGE_NETWORK_STATE');
257
+ addPermission('android.permission.CHANGE_WIFI_MULTICAST_STATE');
258
+ addPermission('android.permission.NEARBY_WIFI_DEVICES');
255
259
  addPermission('android.permission.BLUETOOTH');
256
260
  addPermission('android.permission.BLUETOOTH_ADMIN');
257
261
  addPermission('android.permission.BLUETOOTH_CONNECT');
@@ -1,19 +1,22 @@
1
1
  // FlirPublic.h
2
2
  // Public C/ObjC API for the Flir library
3
+ //
4
+ // NOTE: FlirDeviceInfo and FlirManager are defined in FlirManager.swift.
5
+ // The Swift compiler generates Flir-Swift.h which exports these classes to Objective-C.
6
+ // Do NOT define duplicate @interface declarations here to avoid "Duplicate interface" errors.
3
7
 
4
8
  #import <Foundation/Foundation.h>
5
9
  #import <UIKit/UIKit.h>
6
10
 
7
11
  NS_ASSUME_NONNULL_BEGIN
8
12
 
9
- @interface FlirDeviceInfo : NSObject
10
- @property (nonatomic, readonly) NSString *deviceId;
11
- @property (nonatomic, readonly) NSString *name;
12
- @property (nonatomic, readonly) NSString *communicationType;
13
- @property (nonatomic, readonly) BOOL isEmulator;
14
- - (NSDictionary *)toDictionary;
15
- @end
13
+ // Forward declarations for Swift classes (defined in FlirManager.swift)
14
+ // Use the Flir-Swift.h import in implementation files to access these.
15
+ @class FlirDeviceInfo;
16
+ @class FlirManager;
16
17
 
18
+ /// Protocol for receiving FLIR events from FlirManager
19
+ /// Implemented by FlirModule.m to bridge events to React Native
17
20
  @protocol FlirPublicDelegate <NSObject>
18
21
  - (void)onDevicesFound:(NSArray<FlirDeviceInfo *> *)devices;
19
22
  - (void)onDeviceConnected:(FlirDeviceInfo *)device;
@@ -25,26 +28,5 @@ NS_ASSUME_NONNULL_BEGIN
25
28
  - (void)onStateChanged:(NSString *)state isConnected:(BOOL)isConnected isStreaming:(BOOL)isStreaming isEmulator:(BOOL)isEmulator;
26
29
  @end
27
30
 
28
- @interface FlirManager : NSObject
29
- + (instancetype)shared NS_SWIFT_NAME(shared);
30
-
31
- @property (nonatomic, weak, nullable) id<FlirPublicDelegate> delegate;
32
-
33
- // Lifecycle
34
- - (void)startDiscovery;
35
- - (void)stopDiscovery;
36
- - (void)connectToDevice:(NSString *)deviceId;
37
- - (void)disconnect;
38
- - (void)stop;
39
-
40
- // Frame accessors
41
- - (nullable NSDictionary *)latestFrameBitmapBase64; // { width, height, bytesPerRow, dataBase64 }
42
- - (nullable NSString *)latestFrameBase64;
43
-
44
- // Utilities
45
- - (NSInteger)getBatteryLevel;
46
- - (BOOL)isBatteryCharging;
47
-
48
- @end
49
-
50
31
  NS_ASSUME_NONNULL_END
32
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ilabs-flir",
3
- "version": "2.2.20",
3
+ "version": "2.2.23",
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",