ilabs-flir 2.0.4 → 2.0.6

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.
Files changed (35) hide show
  1. package/Flir.podspec +139 -139
  2. package/README.md +1066 -1066
  3. package/android/Flir/build.gradle.kts +72 -72
  4. package/android/Flir/src/main/AndroidManifest.xml +45 -45
  5. package/android/Flir/src/main/java/flir/android/FlirCommands.java +136 -136
  6. package/android/Flir/src/main/java/flir/android/FlirFrameCache.kt +6 -6
  7. package/android/Flir/src/main/java/flir/android/FlirManager.kt +476 -476
  8. package/android/Flir/src/main/java/flir/android/FlirModule.kt +257 -257
  9. package/android/Flir/src/main/java/flir/android/FlirPackage.kt +18 -18
  10. package/android/Flir/src/main/java/flir/android/FlirSDKLoader.kt +74 -74
  11. package/android/Flir/src/main/java/flir/android/FlirSdkManager.java +583 -583
  12. package/android/Flir/src/main/java/flir/android/FlirStatus.kt +12 -12
  13. package/android/Flir/src/main/java/flir/android/FlirView.kt +48 -48
  14. package/android/Flir/src/main/java/flir/android/FlirViewManager.kt +13 -13
  15. package/app.plugin.js +381 -381
  16. package/expo-module.config.json +5 -5
  17. package/ios/Flir/src/Flir-Bridging-Header.h +34 -34
  18. package/ios/Flir/src/FlirEventEmitter.h +25 -25
  19. package/ios/Flir/src/FlirEventEmitter.m +63 -63
  20. package/ios/Flir/src/FlirManager.swift +599 -599
  21. package/ios/Flir/src/FlirModule.h +17 -17
  22. package/ios/Flir/src/FlirModule.m +713 -713
  23. package/ios/Flir/src/FlirPreviewView.h +13 -13
  24. package/ios/Flir/src/FlirPreviewView.m +171 -171
  25. package/ios/Flir/src/FlirState.h +68 -68
  26. package/ios/Flir/src/FlirState.m +135 -135
  27. package/ios/Flir/src/FlirViewManager.h +16 -16
  28. package/ios/Flir/src/FlirViewManager.m +27 -27
  29. package/package.json +70 -71
  30. package/react-native.config.js +14 -14
  31. package/scripts/fetch-binaries.js +103 -17
  32. package/sdk-manifest.json +50 -50
  33. package/src/index.d.ts +63 -63
  34. package/src/index.js +7 -7
  35. package/src/index.ts +6 -6
package/Flir.podspec CHANGED
@@ -1,139 +1,139 @@
1
- Pod::Spec.new do |s|
2
- s.name = 'Flir'
3
- s.version = '2.0.0'
4
- s.summary = 'FLIR Thermal SDK React Native - Bundled via postinstall'
5
- s.description = <<-DESC
6
- A React Native wrapper for the FLIR Thermal SDK, providing thermal imaging
7
- capabilities for iOS applications. Supports discovery, connection, and
8
- streaming from FLIR ONE and other FLIR thermal cameras.
9
-
10
- Can be built with or without the FLIR SDK using the FLIR_ENABLED flag.
11
- DESC
12
- s.homepage = 'https://github.com/PraveenOjha/Flir'
13
- s.license = { :type => 'MIT' }
14
- s.author = { 'Praveen Ojha' => 'https://github.com/PraveenOjha' }
15
- s.source = { :git => 'https://github.com/PraveenOjha/Flir.git', :tag => s.version.to_s }
16
- s.platform = :ios, '13.0'
17
- s.swift_version = '5.0'
18
-
19
- # Source files
20
- s.source_files = [
21
- 'ios/Flir/src/**/*.{h,m,mm,swift}',
22
- 'ios/Flir/SDKLoader/**/*.{h,m,swift}'
23
- ]
24
- s.public_header_files = 'ios/Flir/src/**/*.h'
25
-
26
- # Resource bundles for SDK manifest
27
- s.resource_bundles = {
28
- 'FlirSDKResources' => ['sdk-manifest.json']
29
- }
30
-
31
- # System frameworks
32
- s.frameworks = 'ExternalAccessory', 'Foundation', 'UIKit', 'Metal', 'MetalKit'
33
-
34
- # React Native dependency
35
- s.dependency 'React-Core'
36
-
37
- # ==========================================================================
38
- # FLIR SDK CONFIGURATION
39
- # ==========================================================================
40
- #
41
- # By default, this pod builds WITH FLIR SDK support. To build WITHOUT the
42
- # FLIR SDK (for development on machines without paid developer license):
43
- #
44
- # Option 1: Environment variable
45
- # FLIR_DISABLED=1 pod install
46
- #
47
- # Option 2: In your app's Podfile, before `use_native_modules!`:
48
- # ENV['FLIR_DISABLED'] = '1'
49
- #
50
- # When FLIR is disabled, the module provides fallback stub implementations
51
- # that return placeholder images and mock temperature data.
52
- # ==========================================================================
53
-
54
- flir_disabled = ENV['FLIR_DISABLED'] == '1' || ENV['FLIR_DISABLED'] == 'true'
55
-
56
- if flir_disabled
57
- puts "[Flir.podspec] ⚠️ Building WITHOUT FLIR SDK (FLIR_DISABLED=1)"
58
-
59
- s.pod_target_xcconfig = {
60
- 'ENABLE_BITCODE' => 'NO',
61
- 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) FLIR_DISABLED=1',
62
- 'SWIFT_ACTIVE_COMPILATION_CONDITIONS' => '$(inherited)',
63
- 'OTHER_SWIFT_FLAGS' => '$(inherited)'
64
- }
65
- else
66
- puts "[Flir.podspec] ✅ Building WITH FLIR SDK support"
67
-
68
- # Check if ThermalSDK.xcframework exists in the SDK folder
69
- sdk_framework_path = File.join(__dir__, 'ios', 'Flir', 'Frameworks', 'ThermalSDK.xcframework')
70
- sdk_available = File.exist?(sdk_framework_path)
71
-
72
- if sdk_available
73
- puts "[Flir.podspec] ✅ ThermalSDK.xcframework found"
74
-
75
- # Vendored frameworks - the actual SDK
76
- s.vendored_frameworks = [
77
- 'ios/Flir/Frameworks/ThermalSDK.xcframework',
78
- 'ios/Flir/Frameworks/libavcodec.61.dylib.xcframework',
79
- 'ios/Flir/Frameworks/libavdevice.61.dylib.xcframework',
80
- 'ios/Flir/Frameworks/libavfilter.10.dylib.xcframework',
81
- 'ios/Flir/Frameworks/libavformat.61.dylib.xcframework',
82
- 'ios/Flir/Frameworks/libavutil.59.dylib.xcframework',
83
- 'ios/Flir/Frameworks/liblive666.dylib.xcframework',
84
- 'ios/Flir/Frameworks/libswresample.5.dylib.xcframework',
85
- 'ios/Flir/Frameworks/libswscale.8.dylib.xcframework'
86
- ].select { |f| File.exist?(File.join(__dir__, f)) }
87
-
88
- s.pod_target_xcconfig = {
89
- 'ENABLE_BITCODE' => 'NO',
90
- 'ENABLE_LIBRARY_VALIDATION' => 'NO',
91
- 'LD_RUNPATH_SEARCH_PATHS' => '$(inherited) @executable_path/Frameworks @loader_path/Frameworks',
92
- 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) FLIR_SDK_AVAILABLE=1',
93
- 'SWIFT_ACTIVE_COMPILATION_CONDITIONS' => '$(inherited) FLIR_ENABLED',
94
- 'OTHER_SWIFT_FLAGS' => '$(inherited) -DFLIR_ENABLED',
95
- 'HEADER_SEARCH_PATHS' => '$(inherited) "$(PODS_TARGET_SRCROOT)/ios/Flir/Framework"'
96
- }
97
- else
98
- puts "[Flir.podspec] ⚠️ ThermalSDK.xcframework NOT found - using header stubs only"
99
- puts "[Flir.podspec] To enable full SDK, copy FLIR SDK xcframeworks to ios/Flir/Frameworks/"
100
-
101
- # Use weak linking to allow compilation without actual framework
102
- s.pod_target_xcconfig = {
103
- 'ENABLE_BITCODE' => 'NO',
104
- 'OTHER_LDFLAGS' => '-weak_framework ThermalSDK',
105
- 'HEADER_SEARCH_PATHS' => '$(inherited) "$(PODS_TARGET_SRCROOT)/ios/Flir/Framework"',
106
- 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited)',
107
- 'SWIFT_ACTIVE_COMPILATION_CONDITIONS' => '$(inherited)',
108
- 'OTHER_SWIFT_FLAGS' => '$(inherited)'
109
- }
110
- end
111
- end
112
-
113
- # User target configuration
114
- s.user_target_xcconfig = {
115
- 'ENABLE_BITCODE' => 'NO'
116
- }
117
-
118
- # Additional notes for integrating the SDK
119
- s.description = <<-DESC
120
- FLIR Thermal SDK React Native wrapper for iOS.
121
-
122
- INSTALLATION:
123
- 1. Install via npm: npm install ilabs-flir
124
- 2. Run pod install in your iOS directory
125
-
126
- SDK SETUP:
127
- The FLIR ThermalSDK is not included in the repo due to licensing, but this package
128
- provides a `postinstall` script that can download official release artifacts and
129
- place them into `ios/Flir/Frameworks/` and `android/Flir/libs/` during npm install.
130
- To enable full functionality manually:
131
- 1. Download ThermalSDK.xcframework from FLIR
132
- 2. Copy to node_modules/ilabs-flir/ios/Flir/Frameworks/
133
- 3. Run pod install again
134
-
135
- BUILDING WITHOUT SDK:
136
- Set FLIR_DISABLED=1 before pod install to build without SDK.
137
- This enables development without a paid FLIR developer license.
138
- DESC
139
- end
1
+ Pod::Spec.new do |s|
2
+ s.name = 'Flir'
3
+ s.version = '2.0.0'
4
+ s.summary = 'FLIR Thermal SDK React Native - Bundled via postinstall'
5
+ s.description = <<-DESC
6
+ A React Native wrapper for the FLIR Thermal SDK, providing thermal imaging
7
+ capabilities for iOS applications. Supports discovery, connection, and
8
+ streaming from FLIR ONE and other FLIR thermal cameras.
9
+
10
+ Can be built with or without the FLIR SDK using the FLIR_ENABLED flag.
11
+ DESC
12
+ s.homepage = 'https://github.com/PraveenOjha/Flir'
13
+ s.license = { :type => 'MIT' }
14
+ s.author = { 'Praveen Ojha' => 'https://github.com/PraveenOjha' }
15
+ s.source = { :git => 'https://github.com/PraveenOjha/Flir.git', :tag => s.version.to_s }
16
+ s.platform = :ios, '13.0'
17
+ s.swift_version = '5.0'
18
+
19
+ # Source files
20
+ s.source_files = [
21
+ 'ios/Flir/src/**/*.{h,m,mm,swift}',
22
+ 'ios/Flir/SDKLoader/**/*.{h,m,swift}'
23
+ ]
24
+ s.public_header_files = 'ios/Flir/src/**/*.h'
25
+
26
+ # Resource bundles for SDK manifest
27
+ s.resource_bundles = {
28
+ 'FlirSDKResources' => ['sdk-manifest.json']
29
+ }
30
+
31
+ # System frameworks
32
+ s.frameworks = 'ExternalAccessory', 'Foundation', 'UIKit', 'Metal', 'MetalKit'
33
+
34
+ # React Native dependency
35
+ s.dependency 'React-Core'
36
+
37
+ # ==========================================================================
38
+ # FLIR SDK CONFIGURATION
39
+ # ==========================================================================
40
+ #
41
+ # By default, this pod builds WITH FLIR SDK support. To build WITHOUT the
42
+ # FLIR SDK (for development on machines without paid developer license):
43
+ #
44
+ # Option 1: Environment variable
45
+ # FLIR_DISABLED=1 pod install
46
+ #
47
+ # Option 2: In your app's Podfile, before `use_native_modules!`:
48
+ # ENV['FLIR_DISABLED'] = '1'
49
+ #
50
+ # When FLIR is disabled, the module provides fallback stub implementations
51
+ # that return placeholder images and mock temperature data.
52
+ # ==========================================================================
53
+
54
+ flir_disabled = ENV['FLIR_DISABLED'] == '1' || ENV['FLIR_DISABLED'] == 'true'
55
+
56
+ if flir_disabled
57
+ puts "[Flir.podspec] ⚠️ Building WITHOUT FLIR SDK (FLIR_DISABLED=1)"
58
+
59
+ s.pod_target_xcconfig = {
60
+ 'ENABLE_BITCODE' => 'NO',
61
+ 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) FLIR_DISABLED=1',
62
+ 'SWIFT_ACTIVE_COMPILATION_CONDITIONS' => '$(inherited)',
63
+ 'OTHER_SWIFT_FLAGS' => '$(inherited)'
64
+ }
65
+ else
66
+ puts "[Flir.podspec] ✅ Building WITH FLIR SDK support"
67
+
68
+ # Check if ThermalSDK.xcframework exists in the SDK folder
69
+ sdk_framework_path = File.join(__dir__, 'ios', 'Flir', 'Frameworks', 'ThermalSDK.xcframework')
70
+ sdk_available = File.exist?(sdk_framework_path)
71
+
72
+ if sdk_available
73
+ puts "[Flir.podspec] ✅ ThermalSDK.xcframework found"
74
+
75
+ # Vendored frameworks - the actual SDK
76
+ s.vendored_frameworks = [
77
+ 'ios/Flir/Frameworks/ThermalSDK.xcframework',
78
+ 'ios/Flir/Frameworks/libavcodec.61.dylib.xcframework',
79
+ 'ios/Flir/Frameworks/libavdevice.61.dylib.xcframework',
80
+ 'ios/Flir/Frameworks/libavfilter.10.dylib.xcframework',
81
+ 'ios/Flir/Frameworks/libavformat.61.dylib.xcframework',
82
+ 'ios/Flir/Frameworks/libavutil.59.dylib.xcframework',
83
+ 'ios/Flir/Frameworks/liblive666.dylib.xcframework',
84
+ 'ios/Flir/Frameworks/libswresample.5.dylib.xcframework',
85
+ 'ios/Flir/Frameworks/libswscale.8.dylib.xcframework'
86
+ ].select { |f| File.exist?(File.join(__dir__, f)) }
87
+
88
+ s.pod_target_xcconfig = {
89
+ 'ENABLE_BITCODE' => 'NO',
90
+ 'ENABLE_LIBRARY_VALIDATION' => 'NO',
91
+ 'LD_RUNPATH_SEARCH_PATHS' => '$(inherited) @executable_path/Frameworks @loader_path/Frameworks',
92
+ 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) FLIR_SDK_AVAILABLE=1',
93
+ 'SWIFT_ACTIVE_COMPILATION_CONDITIONS' => '$(inherited) FLIR_ENABLED',
94
+ 'OTHER_SWIFT_FLAGS' => '$(inherited) -DFLIR_ENABLED',
95
+ 'HEADER_SEARCH_PATHS' => '$(inherited) "$(PODS_TARGET_SRCROOT)/ios/Flir/Framework"'
96
+ }
97
+ else
98
+ puts "[Flir.podspec] ⚠️ ThermalSDK.xcframework NOT found - using header stubs only"
99
+ puts "[Flir.podspec] To enable full SDK, copy FLIR SDK xcframeworks to ios/Flir/Frameworks/"
100
+
101
+ # Use weak linking to allow compilation without actual framework
102
+ s.pod_target_xcconfig = {
103
+ 'ENABLE_BITCODE' => 'NO',
104
+ 'OTHER_LDFLAGS' => '-weak_framework ThermalSDK',
105
+ 'HEADER_SEARCH_PATHS' => '$(inherited) "$(PODS_TARGET_SRCROOT)/ios/Flir/Framework"',
106
+ 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited)',
107
+ 'SWIFT_ACTIVE_COMPILATION_CONDITIONS' => '$(inherited)',
108
+ 'OTHER_SWIFT_FLAGS' => '$(inherited)'
109
+ }
110
+ end
111
+ end
112
+
113
+ # User target configuration
114
+ s.user_target_xcconfig = {
115
+ 'ENABLE_BITCODE' => 'NO'
116
+ }
117
+
118
+ # Additional notes for integrating the SDK
119
+ s.description = <<-DESC
120
+ FLIR Thermal SDK React Native wrapper for iOS.
121
+
122
+ INSTALLATION:
123
+ 1. Install via npm: npm install ilabs-flir
124
+ 2. Run pod install in your iOS directory
125
+
126
+ SDK SETUP:
127
+ The FLIR ThermalSDK is not included in the repo due to licensing, but this package
128
+ provides a `postinstall` script that can download official release artifacts and
129
+ place them into `ios/Flir/Frameworks/` and `android/Flir/libs/` during npm install.
130
+ To enable full functionality manually:
131
+ 1. Download ThermalSDK.xcframework from FLIR
132
+ 2. Copy to node_modules/ilabs-flir/ios/Flir/Frameworks/
133
+ 3. Run pod install again
134
+
135
+ BUILDING WITHOUT SDK:
136
+ Set FLIR_DISABLED=1 before pod install to build without SDK.
137
+ This enables development without a paid FLIR developer license.
138
+ DESC
139
+ end