ilabs-flir 1.0.2 → 1.0.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.
Files changed (126) hide show
  1. package/Flir.podspec +31 -31
  2. package/README.md +1271 -1271
  3. package/android/Flir/build.gradle.kts +85 -80
  4. package/android/Flir/libs/flir-stubs.jar +0 -0
  5. package/android/Flir/src/main/AndroidManifest.xml +31 -31
  6. package/android/Flir/src/main/java/com/flir/thermalsdk/ErrorCode.java +13 -0
  7. package/android/Flir/src/main/java/com/flir/thermalsdk/ErrorCodeException.java +14 -0
  8. package/android/Flir/src/main/java/com/flir/thermalsdk/ThermalSdkAndroid.java +16 -0
  9. package/android/Flir/src/main/java/com/flir/thermalsdk/androidsdk/image/BitmapAndroid.java +20 -0
  10. package/android/Flir/src/main/java/com/flir/thermalsdk/image/ImageBuffer.java +11 -0
  11. package/android/Flir/src/main/java/com/flir/thermalsdk/image/JavaImageBuffer.java +35 -0
  12. package/android/Flir/src/main/java/com/flir/thermalsdk/image/Palette.java +15 -0
  13. package/android/Flir/src/main/java/com/flir/thermalsdk/image/PaletteManager.java +16 -0
  14. package/android/Flir/src/main/java/com/flir/thermalsdk/image/Point.java +11 -0
  15. package/android/Flir/src/main/java/com/flir/thermalsdk/image/ThermalImage.java +23 -0
  16. package/android/Flir/src/main/java/com/flir/thermalsdk/image/ThermalValue.java +9 -0
  17. package/android/Flir/src/main/java/com/flir/thermalsdk/live/Camera.java +26 -0
  18. package/android/Flir/src/main/java/com/flir/thermalsdk/live/CameraType.java +8 -0
  19. package/android/Flir/src/main/java/com/flir/thermalsdk/live/CommunicationInterface.java +16 -0
  20. package/android/Flir/src/main/java/com/flir/thermalsdk/live/ConnectParameters.java +16 -0
  21. package/android/Flir/src/main/java/com/flir/thermalsdk/live/Identity.java +23 -0
  22. package/android/Flir/src/main/java/com/flir/thermalsdk/live/IpSettings.java +9 -0
  23. package/android/Flir/src/main/java/com/flir/thermalsdk/live/RemoteControl.java +16 -0
  24. package/android/Flir/src/main/java/com/flir/thermalsdk/live/connectivity/ConnectionStatusListener.java +7 -0
  25. package/android/Flir/src/main/java/com/flir/thermalsdk/live/discovery/DiscoveryEventListener.java +14 -0
  26. package/android/Flir/src/main/java/com/flir/thermalsdk/live/discovery/DiscoveryFactory.java +33 -0
  27. package/android/Flir/src/main/java/com/flir/thermalsdk/live/remote/OnReceived.java +5 -0
  28. package/android/Flir/src/main/java/com/flir/thermalsdk/live/remote/OnRemoteError.java +7 -0
  29. package/android/Flir/src/main/java/com/flir/thermalsdk/live/streaming/Stream.java +8 -0
  30. package/android/Flir/src/main/java/com/flir/thermalsdk/live/streaming/ThermalStreamer.java +28 -0
  31. package/android/Flir/src/main/java/com/flir/thermalsdk/live/streaming/VisualStreamer.java +18 -0
  32. package/android/Flir/src/main/java/flir/android/FlirCommands.java +136 -0
  33. package/android/Flir/src/main/java/flir/android/FlirDownloadManager.kt +76 -75
  34. package/android/Flir/src/main/java/flir/android/FlirDownloadPackage.kt +16 -16
  35. package/android/Flir/src/main/java/flir/android/FlirFrameCache.kt +6 -6
  36. package/android/Flir/src/main/java/flir/android/FlirManager.kt +477 -248
  37. package/android/Flir/src/main/java/flir/android/FlirModule.kt +74 -74
  38. package/android/Flir/src/main/java/flir/android/FlirPackage.kt +19 -19
  39. package/android/Flir/src/main/java/flir/android/FlirSDKLoader.kt +165 -117
  40. package/android/Flir/src/main/java/flir/android/FlirSdkManager.java +1511 -0
  41. package/android/Flir/src/main/java/flir/android/FlirStatus.kt +12 -12
  42. package/android/Flir/src/main/java/flir/android/FlirView.kt +48 -48
  43. package/android/Flir/src/main/java/flir/android/FlirViewManager.kt +13 -13
  44. package/app.plugin.js +264 -264
  45. package/expo-module.config.json +5 -5
  46. package/ios/Flir/Framework/ThermalSDK/FLIRBattery.h +76 -76
  47. package/ios/Flir/Framework/ThermalSDK/FLIRCalibration.h +108 -108
  48. package/ios/Flir/Framework/ThermalSDK/FLIRCamera.h +156 -156
  49. package/ios/Flir/Framework/ThermalSDK/FLIRCameraDeviceInfo.h +53 -53
  50. package/ios/Flir/Framework/ThermalSDK/FLIRCameraEvent.h +132 -132
  51. package/ios/Flir/Framework/ThermalSDK/FLIRCameraImport.h +204 -204
  52. package/ios/Flir/Framework/ThermalSDK/FLIRColorDistributionSettings.h +204 -204
  53. package/ios/Flir/Framework/ThermalSDK/FLIRColorizer.h +82 -82
  54. package/ios/Flir/Framework/ThermalSDK/FLIRDiscoveredCamera.h +44 -44
  55. package/ios/Flir/Framework/ThermalSDK/FLIRDiscovery.h +132 -132
  56. package/ios/Flir/Framework/ThermalSDK/FLIRDisplaySettings.h +29 -29
  57. package/ios/Flir/Framework/ThermalSDK/FLIRFocus.h +70 -70
  58. package/ios/Flir/Framework/ThermalSDK/FLIRFusion.h +192 -192
  59. package/ios/Flir/Framework/ThermalSDK/FLIRFusionController.h +136 -136
  60. package/ios/Flir/Framework/ThermalSDK/FLIRFusionTransformation.h +35 -35
  61. package/ios/Flir/Framework/ThermalSDK/FLIRIdentity.h +264 -264
  62. package/ios/Flir/Framework/ThermalSDK/FLIRImageBase.h +196 -196
  63. package/ios/Flir/Framework/ThermalSDK/FLIRImageColorizer.h +26 -26
  64. package/ios/Flir/Framework/ThermalSDK/FLIRImageStatistics.h +61 -61
  65. package/ios/Flir/Framework/ThermalSDK/FLIRIsotherms.h +208 -208
  66. package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementArea.h +38 -38
  67. package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementCollection.h +147 -147
  68. package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementDelta.h +62 -62
  69. package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementDimensions.h +33 -33
  70. package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementEllipse.h +49 -49
  71. package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementLine.h +66 -66
  72. package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementMarker.h +69 -69
  73. package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementParameters.h +41 -41
  74. package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementRectangle.h +36 -36
  75. package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementReference.h +27 -27
  76. package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementShape.h +46 -46
  77. package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementSpot.h +33 -33
  78. package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementsController.h +160 -160
  79. package/ios/Flir/Framework/ThermalSDK/FLIRMeterLinkSensorPoll.h +247 -247
  80. package/ios/Flir/Framework/ThermalSDK/FLIROverlayController.h +27 -27
  81. package/ios/Flir/Framework/ThermalSDK/FLIRPalette.h +60 -60
  82. package/ios/Flir/Framework/ThermalSDK/FLIRPaletteController.h +36 -36
  83. package/ios/Flir/Framework/ThermalSDK/FLIRPaletteManager.h +97 -97
  84. package/ios/Flir/Framework/ThermalSDK/FLIRQuantification.h +55 -55
  85. package/ios/Flir/Framework/ThermalSDK/FLIRRemoteControl.h +393 -393
  86. package/ios/Flir/Framework/ThermalSDK/FLIRRenderer.h +35 -35
  87. package/ios/Flir/Framework/ThermalSDK/FLIRRendererImpl.h +17 -17
  88. package/ios/Flir/Framework/ThermalSDK/FLIRScale.h +99 -99
  89. package/ios/Flir/Framework/ThermalSDK/FLIRScaleController.h +44 -44
  90. package/ios/Flir/Framework/ThermalSDK/FLIRStream.h +109 -109
  91. package/ios/Flir/Framework/ThermalSDK/FLIRStreamer.h +124 -124
  92. package/ios/Flir/Framework/ThermalSDK/FLIRSystem.h +40 -40
  93. package/ios/Flir/Framework/ThermalSDK/FLIRTemperatureRange.h +43 -43
  94. package/ios/Flir/Framework/ThermalSDK/FLIRThermalDelta.h +77 -77
  95. package/ios/Flir/Framework/ThermalSDK/FLIRThermalImage.h +331 -331
  96. package/ios/Flir/Framework/ThermalSDK/FLIRThermalImageFile.h +56 -56
  97. package/ios/Flir/Framework/ThermalSDK/FLIRThermalParameters.h +31 -31
  98. package/ios/Flir/Framework/ThermalSDK/FLIRThermalValue.h +92 -92
  99. package/ios/Flir/Framework/ThermalSDK/FLIRWirelessCameraDetails.h +88 -88
  100. package/ios/Flir/Framework/ThermalSDK/ThermalSDK.h +73 -73
  101. package/ios/Flir/SDKLoader/FlirSDKLoader.m +13 -13
  102. package/ios/Flir/SDKLoader/FlirSDKLoader.swift +175 -175
  103. package/ios/Flir/src/FlirEventEmitter.h +12 -12
  104. package/ios/Flir/src/FlirEventEmitter.m +33 -33
  105. package/ios/Flir/src/FlirModule.h +10 -10
  106. package/ios/Flir/src/FlirModule.m +381 -381
  107. package/ios/Flir/src/FlirPreviewView.h +13 -13
  108. package/ios/Flir/src/FlirPreviewView.m +24 -24
  109. package/ios/Flir/src/FlirState.h +20 -20
  110. package/ios/Flir/src/FlirState.m +79 -79
  111. package/ios/Flir/src/FlirViewManager.h +9 -9
  112. package/ios/Flir/src/FlirViewManager.m +16 -16
  113. package/package.json +60 -60
  114. package/react-native.config.js +14 -14
  115. package/scripts/copy_ios_libs.sh +32 -32
  116. package/scripts/create_stubs.py +174 -174
  117. package/scripts/download-sdk.js +62 -62
  118. package/scripts/prepare-binaries.sh +171 -171
  119. package/sdk-manifest.json +37 -30
  120. package/src/FlirDownload.ts +78 -78
  121. package/src/index.d.ts +17 -17
  122. package/src/index.js +7 -7
  123. package/src/index.ts +7 -7
  124. package/android/Flir/src/main/java/flir/android/CameraHandler.java +0 -194
  125. package/android/Flir/src/main/java/flir/android/FlirController.kt +0 -11
  126. package/android/Flir/src/main/java/flir/android/FrameDataHolder.java +0 -14
@@ -1,80 +1,85 @@
1
- plugins {
2
- id("com.android.library")
3
- id("org.jetbrains.kotlin.android")
4
- id("maven-publish")
5
- }
6
-
7
- android {
8
- namespace = "flir.android"
9
- compileSdk = 34
10
-
11
- defaultConfig {
12
- minSdk = 24
13
- targetSdk = 34
14
- testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
15
- }
16
-
17
- compileOptions {
18
- sourceCompatibility = JavaVersion.VERSION_17
19
- targetCompatibility = JavaVersion.VERSION_17
20
- }
21
-
22
- kotlinOptions {
23
- jvmTarget = "17"
24
- }
25
-
26
- publishing {
27
- singleVariant("release") {
28
- withJavadocJar()
29
- withSourcesJar()
30
- }
31
- }
32
- }
33
-
34
- repositories {
35
- google()
36
- mavenCentral()
37
- // Resolve local AARs which will be installed into mavenLocal by CI (JitPack)
38
- mavenLocal()
39
- flatDir { dirs("libs") }
40
- }
41
-
42
- dependencies {
43
- // React Native
44
- implementation("com.facebook.react:react-native:+")
45
-
46
- // Kotlin coroutines for async downloads
47
- implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3")
48
-
49
- // Play Feature Delivery (optional - for Play Store SDK delivery)
50
- implementation("com.google.android.play:feature-delivery:2.1.0")
51
- implementation("com.google.android.play:feature-delivery-ktx:2.1.0")
52
-
53
- // FLIR SDK binary artifacts - compileOnly since they're downloaded on-demand at runtime
54
- // These are needed for compilation but NOT bundled with the app
55
- // Users download them at runtime via FlirDownload.download()
56
- compileOnly(fileTree(mapOf("dir" to "libs", "include" to listOf("*.aar", "*.jar"))))
57
-
58
- // Minimal compile deps to satisfy source references
59
- implementation("androidx.annotation:annotation:1.5.0")
60
-
61
-
62
- // Prevent duplicate SLF4J classes when a consumer also brings `org.slf4j:slf4j-api`
63
- // The vendor AAR may embed slf4j classes; exclude the API from being pulled transitively
64
- configurations.all {
65
- exclude(group = "org.slf4j", module = "slf4j-api")
66
- }
67
- }
68
-
69
- publishing {
70
- publications {
71
- create<MavenPublication>("release") {
72
- afterEvaluate {
73
- from(components["release"])
74
- groupId = "com.github.PraveenOjha"
75
- artifactId = "Flir"
76
- version = project.version.toString().ifEmpty { "unspecified" }
77
- }
78
- }
79
- }
80
- }
1
+ plugins {
2
+ id("com.android.library")
3
+ id("org.jetbrains.kotlin.android")
4
+ id("maven-publish")
5
+ }
6
+
7
+ android {
8
+ namespace = "flir.android"
9
+ compileSdk = 34
10
+
11
+ defaultConfig {
12
+ minSdk = 24
13
+ targetSdk = 34
14
+ testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
15
+ }
16
+
17
+ compileOptions {
18
+ sourceCompatibility = JavaVersion.VERSION_17
19
+ targetCompatibility = JavaVersion.VERSION_17
20
+ }
21
+
22
+ kotlinOptions {
23
+ jvmTarget = "17"
24
+ }
25
+
26
+ java {
27
+ toolchain {
28
+ languageVersion.set(JavaLanguageVersion.of(21))
29
+ }
30
+ }
31
+
32
+ publishing {
33
+ singleVariant("release") {
34
+ withJavadocJar()
35
+ withSourcesJar()
36
+ }
37
+ }
38
+ }
39
+
40
+ repositories {
41
+ google()
42
+ mavenCentral()
43
+ // Resolve local AARs which will be installed into mavenLocal by CI (JitPack)
44
+ mavenLocal()
45
+ flatDir { dirs("libs") }
46
+ }
47
+
48
+ dependencies {
49
+ // React Native
50
+ implementation("com.facebook.react:react-native:+")
51
+
52
+ // Kotlin coroutines for async downloads
53
+ implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3")
54
+
55
+ // Play Feature Delivery (optional - for Play Store SDK delivery)
56
+ implementation("com.google.android.play:feature-delivery:2.1.0")
57
+ implementation("com.google.android.play:feature-delivery-ktx:2.1.0")
58
+
59
+ // FLIR SDK - Use stub JAR for compilation (AARs are Java 21, stubs work with Java 17)
60
+ // The actual SDK AARs are downloaded on-demand at runtime via FlirDownload.download()
61
+ compileOnly(files("libs/flir-stubs.jar"))
62
+
63
+ // Minimal compile deps to satisfy source references
64
+ implementation("androidx.annotation:annotation:1.5.0")
65
+
66
+
67
+ // Prevent duplicate SLF4J classes when a consumer also brings `org.slf4j:slf4j-api`
68
+ // The vendor AAR may embed slf4j classes; exclude the API from being pulled transitively
69
+ configurations.all {
70
+ exclude(group = "org.slf4j", module = "slf4j-api")
71
+ }
72
+ }
73
+
74
+ publishing {
75
+ publications {
76
+ create<MavenPublication>("release") {
77
+ afterEvaluate {
78
+ from(components["release"])
79
+ groupId = "com.github.PraveenOjha"
80
+ artifactId = "Flir"
81
+ version = project.version.toString().ifEmpty { "unspecified" }
82
+ }
83
+ }
84
+ }
85
+ }
Binary file
@@ -1,31 +1,31 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <manifest xmlns:android="http://schemas.android.com/apk/res/android">
3
-
4
- <!-- ============================================ -->
5
- <!-- FLIR Thermal SDK Required Permissions -->
6
- <!-- These will auto-merge into your app -->
7
- <!-- ============================================ -->
8
-
9
- <!-- USB Host feature for FLIR ONE USB devices -->
10
- <!-- This is the primary interface for FLIR ONE cameras -->
11
- <uses-feature
12
- android:name="android.hardware.usb.host"
13
- android:required="false" />
14
-
15
- <!-- Camera support for network-based FLIR cameras (ACE series) -->
16
- <!-- Set to false so app can still install on devices without cameras -->
17
- <uses-feature
18
- android:name="android.hardware.camera"
19
- android:required="false" />
20
-
21
- <!-- Camera permission for ACE cameras that use device camera -->
22
- <uses-permission android:name="android.permission.CAMERA"/>
23
-
24
- <!-- Internet permission for ACE camera internal communication -->
25
- <!-- Required by ACE SDK architecture for local network communication -->
26
- <uses-permission android:name="android.permission.INTERNET" />
27
-
28
- <!-- Note: USB permissions are handled at runtime via UsbPermissionHandler -->
29
- <!-- No additional USB permissions needed in manifest -->
30
-
31
- </manifest>
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <manifest xmlns:android="http://schemas.android.com/apk/res/android">
3
+
4
+ <!-- ============================================ -->
5
+ <!-- FLIR Thermal SDK Required Permissions -->
6
+ <!-- These will auto-merge into your app -->
7
+ <!-- ============================================ -->
8
+
9
+ <!-- USB Host feature for FLIR ONE USB devices -->
10
+ <!-- This is the primary interface for FLIR ONE cameras -->
11
+ <uses-feature
12
+ android:name="android.hardware.usb.host"
13
+ android:required="false" />
14
+
15
+ <!-- Camera support for network-based FLIR cameras (ACE series) -->
16
+ <!-- Set to false so app can still install on devices without cameras -->
17
+ <uses-feature
18
+ android:name="android.hardware.camera"
19
+ android:required="false" />
20
+
21
+ <!-- Camera permission for ACE cameras that use device camera -->
22
+ <uses-permission android:name="android.permission.CAMERA"/>
23
+
24
+ <!-- Internet permission for ACE camera internal communication -->
25
+ <!-- Required by ACE SDK architecture for local network communication -->
26
+ <uses-permission android:name="android.permission.INTERNET" />
27
+
28
+ <!-- Note: USB permissions are handled at runtime via UsbPermissionHandler -->
29
+ <!-- No additional USB permissions needed in manifest -->
30
+
31
+ </manifest>
@@ -0,0 +1,13 @@
1
+ package com.flir.thermalsdk;
2
+
3
+ /**
4
+ * Stub enum for FLIR SDK ErrorCode - compile-time only.
5
+ */
6
+ public enum ErrorCode {
7
+ OK,
8
+ GENERIC_ERROR,
9
+ CAMERA_ERROR,
10
+ CONNECTION_ERROR,
11
+ TIMEOUT,
12
+ CANCELLED
13
+ }
@@ -0,0 +1,14 @@
1
+ package com.flir.thermalsdk;
2
+
3
+ public class ErrorCodeException extends Exception {
4
+ private final ErrorCode errorCode;
5
+
6
+ public ErrorCodeException(ErrorCode errorCode) {
7
+ super(errorCode.toString());
8
+ this.errorCode = errorCode;
9
+ }
10
+
11
+ public ErrorCode getErrorCode() {
12
+ return errorCode;
13
+ }
14
+ }
@@ -0,0 +1,16 @@
1
+ package com.flir.thermalsdk;
2
+
3
+ import android.content.Context;
4
+
5
+ /**
6
+ * Stub class for FLIR SDK ThermalSdkAndroid - compile-time only.
7
+ */
8
+ public class ThermalSdkAndroid {
9
+ public static void init(Context context) {
10
+ throw new UnsupportedOperationException("Stub!");
11
+ }
12
+
13
+ public static void init(Context context, Object licenseCallback) {
14
+ throw new UnsupportedOperationException("Stub!");
15
+ }
16
+ }
@@ -0,0 +1,20 @@
1
+ package com.flir.thermalsdk.androidsdk.image;
2
+
3
+ import android.graphics.Bitmap;
4
+ import com.flir.thermalsdk.image.JavaImageBuffer;
5
+
6
+ /**
7
+ * Stub class for FLIR SDK BitmapAndroid - compile-time only.
8
+ * The actual implementation is loaded at runtime from the FLIR SDK AAR.
9
+ */
10
+ public class BitmapAndroid {
11
+ private Bitmap bitMap;
12
+
13
+ public static BitmapAndroid createBitmap(JavaImageBuffer buffer) {
14
+ throw new UnsupportedOperationException("Stub!");
15
+ }
16
+
17
+ public Bitmap getBitMap() {
18
+ throw new UnsupportedOperationException("Stub!");
19
+ }
20
+ }
@@ -0,0 +1,11 @@
1
+ package com.flir.thermalsdk.image;
2
+
3
+ public interface ImageBuffer {
4
+ int getWidth();
5
+
6
+ int getHeight();
7
+
8
+ int getStride();
9
+
10
+ byte[] getPixelBuffer();
11
+ }
@@ -0,0 +1,35 @@
1
+ package com.flir.thermalsdk.image;
2
+
3
+ public class JavaImageBuffer implements ImageBuffer {
4
+ public final byte[] pixelBuffer;
5
+ public final int height;
6
+ public final int width;
7
+ public final int stride;
8
+
9
+ public JavaImageBuffer(byte[] pixelBuffer, int width, int height, int stride) {
10
+ this.pixelBuffer = pixelBuffer;
11
+ this.width = width;
12
+ this.height = height;
13
+ this.stride = stride;
14
+ }
15
+
16
+ @Override
17
+ public int getWidth() {
18
+ return width;
19
+ }
20
+
21
+ @Override
22
+ public int getHeight() {
23
+ return height;
24
+ }
25
+
26
+ @Override
27
+ public int getStride() {
28
+ return stride;
29
+ }
30
+
31
+ @Override
32
+ public byte[] getPixelBuffer() {
33
+ return pixelBuffer;
34
+ }
35
+ }
@@ -0,0 +1,15 @@
1
+ package com.flir.thermalsdk.image;
2
+
3
+ public class Palette {
4
+ public final String name;
5
+ public final boolean inverted;
6
+
7
+ public Palette(String name, boolean inverted) {
8
+ this.name = name;
9
+ this.inverted = inverted;
10
+ }
11
+
12
+ public Palette getInverted() {
13
+ return new Palette(name, !inverted);
14
+ }
15
+ }
@@ -0,0 +1,16 @@
1
+ package com.flir.thermalsdk.image;
2
+
3
+ import java.util.ArrayList;
4
+ import java.util.List;
5
+
6
+ public class PaletteManager {
7
+ public static List<Palette> getDefaultPalettes() {
8
+ List<Palette> palettes = new ArrayList<>();
9
+ palettes.add(new Palette("iron", false));
10
+ palettes.add(new Palette("rainbow", false));
11
+ palettes.add(new Palette("arctic", false));
12
+ palettes.add(new Palette("lava", false));
13
+ palettes.add(new Palette("grayscale", false));
14
+ return palettes;
15
+ }
16
+ }
@@ -0,0 +1,11 @@
1
+ package com.flir.thermalsdk.image;
2
+
3
+ public class Point {
4
+ public final int x;
5
+ public final int y;
6
+
7
+ public Point(int x, int y) {
8
+ this.x = x;
9
+ this.y = y;
10
+ }
11
+ }
@@ -0,0 +1,23 @@
1
+ package com.flir.thermalsdk.image;
2
+
3
+ public class ThermalImage {
4
+ public void setPalette(Palette palette) {
5
+ // Stub implementation
6
+ }
7
+
8
+ public Palette getPalette() {
9
+ return null;
10
+ }
11
+
12
+ public int getWidth() {
13
+ return 0;
14
+ }
15
+
16
+ public int getHeight() {
17
+ return 0;
18
+ }
19
+
20
+ public ThermalValue getValueAt(Point point) {
21
+ return new ThermalValue(0.0);
22
+ }
23
+ }
@@ -0,0 +1,9 @@
1
+ package com.flir.thermalsdk.image;
2
+
3
+ public class ThermalValue {
4
+ public final double value;
5
+
6
+ public ThermalValue(double value) {
7
+ this.value = value;
8
+ }
9
+ }
@@ -0,0 +1,26 @@
1
+ package com.flir.thermalsdk.live;
2
+
3
+ import com.flir.thermalsdk.live.connectivity.ConnectionStatusListener;
4
+ import com.flir.thermalsdk.live.streaming.Stream;
5
+ import java.util.List;
6
+
7
+ /**
8
+ * Stub class for FLIR SDK Camera - compile-time only.
9
+ */
10
+ public class Camera {
11
+ public void connect(ConnectParameters params, ConnectionStatusListener listener) {
12
+ throw new UnsupportedOperationException("Stub!");
13
+ }
14
+
15
+ public void disconnect() {
16
+ throw new UnsupportedOperationException("Stub!");
17
+ }
18
+
19
+ public List<Stream> getStreams() {
20
+ throw new UnsupportedOperationException("Stub!");
21
+ }
22
+
23
+ public RemoteControl getRemoteControl() {
24
+ throw new UnsupportedOperationException("Stub!");
25
+ }
26
+ }
@@ -0,0 +1,8 @@
1
+ package com.flir.thermalsdk.live;
2
+
3
+ public enum CameraType {
4
+ FLIR_ONE,
5
+ FLIR_ONE_PRO,
6
+ FLIR_ONE_EDGE,
7
+ GENERIC
8
+ }
@@ -0,0 +1,16 @@
1
+ package com.flir.thermalsdk.live;
2
+
3
+ public enum CommunicationInterface {
4
+ USB,
5
+ NETWORK,
6
+ FIREWIRE,
7
+ EMULATOR,
8
+ BLUETOOTH,
9
+ EBUS,
10
+ USBHSI,
11
+ LIGHTNING,
12
+ INTEGRATED,
13
+ FLIR_ONE_WIRELESS,
14
+ ACE,
15
+ CUSTOM
16
+ }
@@ -0,0 +1,16 @@
1
+ package com.flir.thermalsdk.live;
2
+
3
+ import com.flir.thermalsdk.live.Identity;
4
+
5
+ /**
6
+ * Stub class for FLIR SDK ConnectParameters - compile-time only.
7
+ */
8
+ public class ConnectParameters {
9
+ public ConnectParameters() {
10
+ throw new UnsupportedOperationException("Stub!");
11
+ }
12
+
13
+ public ConnectParameters(Identity identity) {
14
+ throw new UnsupportedOperationException("Stub!");
15
+ }
16
+ }
@@ -0,0 +1,23 @@
1
+ package com.flir.thermalsdk.live;
2
+
3
+ public class Identity {
4
+ public final CommunicationInterface communicationInterface;
5
+ public final CameraType cameraType;
6
+ public final IpSettings ipSettings;
7
+ public final String deviceId;
8
+
9
+ public Identity() {
10
+ this.communicationInterface = null;
11
+ this.cameraType = null;
12
+ this.ipSettings = null;
13
+ this.deviceId = null;
14
+ }
15
+
16
+ public Identity(CommunicationInterface communicationInterface, CameraType cameraType, String deviceId,
17
+ IpSettings ipSettings) {
18
+ this.communicationInterface = communicationInterface;
19
+ this.cameraType = cameraType;
20
+ this.deviceId = deviceId;
21
+ this.ipSettings = ipSettings;
22
+ }
23
+ }
@@ -0,0 +1,9 @@
1
+ package com.flir.thermalsdk.live;
2
+
3
+ public class IpSettings {
4
+ public final String ipAddress;
5
+
6
+ public IpSettings(String ipAddress) {
7
+ this.ipAddress = ipAddress;
8
+ }
9
+ }
@@ -0,0 +1,16 @@
1
+ package com.flir.thermalsdk.live;
2
+
3
+ /**
4
+ * Stub class for FLIR SDK RemoteControl - compile-time only.
5
+ */
6
+ public class RemoteControl {
7
+ public void subscribeStream(com.flir.thermalsdk.live.streaming.Stream stream,
8
+ com.flir.thermalsdk.live.remote.OnReceived callback,
9
+ com.flir.thermalsdk.live.remote.OnRemoteError errorCallback) {
10
+ throw new UnsupportedOperationException("Stub!");
11
+ }
12
+
13
+ public void unsubscribeStream(com.flir.thermalsdk.live.streaming.Stream stream) {
14
+ throw new UnsupportedOperationException("Stub!");
15
+ }
16
+ }
@@ -0,0 +1,7 @@
1
+ package com.flir.thermalsdk.live.connectivity;
2
+
3
+ import com.flir.thermalsdk.ErrorCode;
4
+
5
+ public interface ConnectionStatusListener {
6
+ void onDisconnected(ErrorCode errorCode);
7
+ }
@@ -0,0 +1,14 @@
1
+ package com.flir.thermalsdk.live.discovery;
2
+
3
+ import com.flir.thermalsdk.live.CommunicationInterface;
4
+ import com.flir.thermalsdk.live.Identity;
5
+
6
+ /**
7
+ * Stub interface for FLIR SDK DiscoveryEventListener - compile-time only.
8
+ */
9
+ public interface DiscoveryEventListener {
10
+ void onCameraFound(Identity identity);
11
+ void onCameraLost(Identity identity);
12
+ void onDiscoveryError(CommunicationInterface iface, String errorMessage);
13
+ void onDiscoveryFinished(CommunicationInterface iface);
14
+ }
@@ -0,0 +1,33 @@
1
+ package com.flir.thermalsdk.live.discovery;
2
+
3
+ import com.flir.thermalsdk.live.CommunicationInterface;
4
+
5
+ /**
6
+ * Stub class for FLIR SDK DiscoveryFactory - compile-time only.
7
+ * The real SDK uses instance methods via getInstance().
8
+ */
9
+ public class DiscoveryFactory {
10
+
11
+ private static DiscoveryFactory instance;
12
+
13
+ private DiscoveryFactory() {}
14
+
15
+ public static DiscoveryFactory getInstance() {
16
+ if (instance == null) {
17
+ instance = new DiscoveryFactory();
18
+ }
19
+ return instance;
20
+ }
21
+
22
+ public void scan(DiscoveryEventListener listener, CommunicationInterface... interfaces) {
23
+ throw new UnsupportedOperationException("Stub!");
24
+ }
25
+
26
+ public void stop(CommunicationInterface... interfaces) {
27
+ throw new UnsupportedOperationException("Stub!");
28
+ }
29
+
30
+ public void stop() {
31
+ throw new UnsupportedOperationException("Stub!");
32
+ }
33
+ }
@@ -0,0 +1,5 @@
1
+ package com.flir.thermalsdk.live.remote;
2
+
3
+ public interface OnReceived<T> {
4
+ void onReceived(T data);
5
+ }
@@ -0,0 +1,7 @@
1
+ package com.flir.thermalsdk.live.remote;
2
+
3
+ import com.flir.thermalsdk.ErrorCode;
4
+
5
+ public interface OnRemoteError {
6
+ void onRemoteError(ErrorCode error);
7
+ }
@@ -0,0 +1,8 @@
1
+ package com.flir.thermalsdk.live.streaming;
2
+
3
+ /**
4
+ * Stub interface for FLIR SDK Stream - compile-time only.
5
+ */
6
+ public interface Stream {
7
+ // Marker interface for stream types
8
+ }