@onekeyfe/react-native-range-downloader 3.0.81 → 3.0.82

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 (146) hide show
  1. package/ReactNativeRangeDownloader.podspec +7 -0
  2. package/android/src/main/java/com/margelo/nitro/reactnativerangedownloader/FirmwareArchiveRules.kt +291 -0
  3. package/android/src/main/java/com/margelo/nitro/reactnativerangedownloader/FirmwareArtifactOrphanSweep.kt +111 -0
  4. package/android/src/main/java/com/margelo/nitro/reactnativerangedownloader/FirmwareArtifactStore.kt +822 -0
  5. package/android/src/main/java/com/margelo/nitro/reactnativerangedownloader/ReactNativeRangeDownloader.kt +148 -0
  6. package/android/src/test/java/com/margelo/nitro/reactnativerangedownloader/FirmwareArchiveRulesTest.kt +114 -0
  7. package/android/src/test/java/com/margelo/nitro/reactnativerangedownloader/FirmwareArtifactDeadlineTest.kt +26 -0
  8. package/android/src/test/java/com/margelo/nitro/reactnativerangedownloader/FirmwareArtifactOrphanSweepTest.kt +107 -0
  9. package/ios/FirmwareArchiveMinizipBridge.h +33 -0
  10. package/ios/FirmwareArchiveMinizipBridge.mm +213 -0
  11. package/ios/FirmwareArtifactStore.swift +1508 -0
  12. package/ios/RangeDownloadLogic.swift +317 -0
  13. package/ios/ReactNativeRangeDownloader.swift +214 -6
  14. package/lib/module/index.js +2 -1
  15. package/lib/module/index.js.map +1 -1
  16. package/lib/typescript/src/ReactNativeRangeDownloader.nitro.d.ts +92 -1
  17. package/lib/typescript/src/ReactNativeRangeDownloader.nitro.d.ts.map +1 -1
  18. package/lib/typescript/src/index.d.ts +1 -0
  19. package/lib/typescript/src/index.d.ts.map +1 -1
  20. package/nitrogen/generated/android/c++/JDownloadChannel.hpp +8 -6
  21. package/nitrogen/generated/android/c++/JFirmwareArchiveExpectedEntry.hpp +69 -0
  22. package/nitrogen/generated/android/c++/JFirmwareArchiveMaterializeParams.hpp +87 -0
  23. package/nitrogen/generated/android/c++/JFirmwareArchiveMaterializeResult.hpp +80 -0
  24. package/nitrogen/generated/android/c++/JFirmwareArchiveMaterializedArtifact.hpp +63 -0
  25. package/nitrogen/generated/android/c++/JFirmwareArtifactCancelParams.hpp +57 -0
  26. package/nitrogen/generated/android/c++/JFirmwareArtifactCapabilities.hpp +88 -0
  27. package/nitrogen/generated/android/c++/JFirmwareArtifactDownloadParams.hpp +98 -0
  28. package/nitrogen/generated/android/c++/JFirmwareArtifactLease.hpp +57 -0
  29. package/nitrogen/generated/android/c++/JFirmwareArtifactLeaseCreateParams.hpp +57 -0
  30. package/nitrogen/generated/android/c++/JFirmwareArtifactLeaseReleaseParams.hpp +61 -0
  31. package/nitrogen/generated/android/c++/JFirmwareArtifactLeaseRetainParams.hpp +61 -0
  32. package/nitrogen/generated/android/c++/JFirmwareArtifactReaderCloseParams.hpp +57 -0
  33. package/nitrogen/generated/android/c++/JFirmwareArtifactReaderInfo.hpp +61 -0
  34. package/nitrogen/generated/android/c++/JFirmwareArtifactReaderReadParams.hpp +65 -0
  35. package/nitrogen/generated/android/c++/JFirmwareArtifactReceipt.hpp +69 -0
  36. package/nitrogen/generated/android/c++/JFirmwareArtifactRefParams.hpp +57 -0
  37. package/nitrogen/generated/android/c++/JFirmwareArtifactSweepResult.hpp +61 -0
  38. package/nitrogen/generated/android/c++/JFunc_void_RangeDownloadEvent.hpp +3 -3
  39. package/nitrogen/generated/android/c++/JHybridReactNativeRangeDownloaderSpec.cpp +274 -25
  40. package/nitrogen/generated/android/c++/JHybridReactNativeRangeDownloaderSpec.hpp +32 -22
  41. package/nitrogen/generated/android/c++/JRangeDownloadEvent.hpp +2 -2
  42. package/nitrogen/generated/android/c++/JRangeDownloadOutcome.hpp +6 -7
  43. package/nitrogen/generated/android/c++/JRangeDownloadParams.hpp +2 -2
  44. package/nitrogen/generated/android/c++/JRangeDownloadResult.hpp +2 -2
  45. package/nitrogen/generated/android/c++/JRangeFallbackKind.hpp +12 -13
  46. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/DownloadChannel.kt +5 -2
  47. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/FirmwareArchiveExpectedEntry.kt +47 -0
  48. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/FirmwareArchiveMaterializeParams.kt +44 -0
  49. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/FirmwareArchiveMaterializeResult.kt +38 -0
  50. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/FirmwareArchiveMaterializedArtifact.kt +41 -0
  51. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/FirmwareArtifactCancelParams.kt +38 -0
  52. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/FirmwareArtifactCapabilities.kt +47 -0
  53. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/FirmwareArtifactDownloadParams.kt +68 -0
  54. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/FirmwareArtifactLease.kt +38 -0
  55. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/FirmwareArtifactLeaseCreateParams.kt +38 -0
  56. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/FirmwareArtifactLeaseReleaseParams.kt +41 -0
  57. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/FirmwareArtifactLeaseRetainParams.kt +41 -0
  58. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/FirmwareArtifactReaderCloseParams.kt +38 -0
  59. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/FirmwareArtifactReaderInfo.kt +41 -0
  60. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/FirmwareArtifactReaderReadParams.kt +44 -0
  61. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/FirmwareArtifactReceipt.kt +47 -0
  62. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/FirmwareArtifactRefParams.kt +38 -0
  63. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/FirmwareArtifactSweepResult.kt +41 -0
  64. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/Func_void_RangeDownloadEvent.kt +1 -1
  65. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/HybridReactNativeRangeDownloaderSpec.kt +65 -19
  66. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/RangeDownloadEvent.kt +2 -2
  67. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/RangeDownloadOutcome.kt +3 -1
  68. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/RangeDownloadParams.kt +2 -2
  69. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/RangeDownloadResult.kt +2 -2
  70. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/RangeFallbackKind.kt +3 -1
  71. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/reactnativerangedownloaderOnLoad.kt +1 -1
  72. package/nitrogen/generated/android/reactnativerangedownloader+autolinking.cmake +1 -1
  73. package/nitrogen/generated/android/reactnativerangedownloader+autolinking.gradle +1 -1
  74. package/nitrogen/generated/android/reactnativerangedownloaderOnLoad.cpp +28 -18
  75. package/nitrogen/generated/android/reactnativerangedownloaderOnLoad.hpp +14 -5
  76. package/nitrogen/generated/ios/ReactNativeRangeDownloader+autolinking.rb +2 -2
  77. package/nitrogen/generated/ios/ReactNativeRangeDownloader-Swift-Cxx-Bridge.cpp +49 -1
  78. package/nitrogen/generated/ios/ReactNativeRangeDownloader-Swift-Cxx-Bridge.hpp +348 -4
  79. package/nitrogen/generated/ios/ReactNativeRangeDownloader-Swift-Cxx-Umbrella.hpp +54 -1
  80. package/nitrogen/generated/ios/ReactNativeRangeDownloaderAutolinking.mm +1 -1
  81. package/nitrogen/generated/ios/ReactNativeRangeDownloaderAutolinking.swift +9 -8
  82. package/nitrogen/generated/ios/c++/HybridReactNativeRangeDownloaderSpecSwift.cpp +1 -1
  83. package/nitrogen/generated/ios/c++/HybridReactNativeRangeDownloaderSpecSwift.hpp +159 -1
  84. package/nitrogen/generated/ios/swift/DownloadChannel.swift +5 -1
  85. package/nitrogen/generated/ios/swift/FirmwareArchiveExpectedEntry.swift +44 -0
  86. package/nitrogen/generated/ios/swift/FirmwareArchiveMaterializeParams.swift +58 -0
  87. package/nitrogen/generated/ios/swift/FirmwareArchiveMaterializeResult.swift +35 -0
  88. package/nitrogen/generated/ios/swift/FirmwareArchiveMaterializedArtifact.swift +34 -0
  89. package/nitrogen/generated/ios/swift/FirmwareArtifactCancelParams.swift +29 -0
  90. package/nitrogen/generated/ios/swift/FirmwareArtifactCapabilities.swift +50 -0
  91. package/nitrogen/generated/ios/swift/FirmwareArtifactDownloadParams.swift +131 -0
  92. package/nitrogen/generated/ios/swift/FirmwareArtifactLease.swift +29 -0
  93. package/nitrogen/generated/ios/swift/FirmwareArtifactLeaseCreateParams.swift +29 -0
  94. package/nitrogen/generated/ios/swift/FirmwareArtifactLeaseReleaseParams.swift +34 -0
  95. package/nitrogen/generated/ios/swift/FirmwareArtifactLeaseRetainParams.swift +34 -0
  96. package/nitrogen/generated/ios/swift/FirmwareArtifactReaderCloseParams.swift +29 -0
  97. package/nitrogen/generated/ios/swift/FirmwareArtifactReaderInfo.swift +34 -0
  98. package/nitrogen/generated/ios/swift/FirmwareArtifactReaderReadParams.swift +39 -0
  99. package/nitrogen/generated/ios/swift/FirmwareArtifactReceipt.swift +44 -0
  100. package/nitrogen/generated/ios/swift/FirmwareArtifactRefParams.swift +29 -0
  101. package/nitrogen/generated/ios/swift/FirmwareArtifactSweepResult.swift +34 -0
  102. package/nitrogen/generated/ios/swift/Func_void.swift +1 -2
  103. package/nitrogen/generated/ios/swift/Func_void_FirmwareArchiveMaterializeResult.swift +46 -0
  104. package/nitrogen/generated/ios/swift/Func_void_FirmwareArtifactLease.swift +46 -0
  105. package/nitrogen/generated/ios/swift/Func_void_FirmwareArtifactReaderInfo.swift +46 -0
  106. package/nitrogen/generated/ios/swift/Func_void_FirmwareArtifactReceipt.swift +46 -0
  107. package/nitrogen/generated/ios/swift/Func_void_FirmwareArtifactSweepResult.swift +46 -0
  108. package/nitrogen/generated/ios/swift/Func_void_RangeDownloadEvent.swift +1 -2
  109. package/nitrogen/generated/ios/swift/Func_void_RangeDownloadResult.swift +1 -2
  110. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +1 -2
  111. package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_ArrayBuffer_.swift +46 -0
  112. package/nitrogen/generated/ios/swift/HybridReactNativeRangeDownloaderSpec.swift +15 -4
  113. package/nitrogen/generated/ios/swift/HybridReactNativeRangeDownloaderSpec_cxx.swift +230 -2
  114. package/nitrogen/generated/ios/swift/RangeDownloadEvent.swift +11 -42
  115. package/nitrogen/generated/ios/swift/RangeDownloadOutcome.swift +1 -1
  116. package/nitrogen/generated/ios/swift/RangeDownloadParams.swift +72 -139
  117. package/nitrogen/generated/ios/swift/RangeDownloadResult.swift +16 -53
  118. package/nitrogen/generated/ios/swift/RangeFallbackKind.swift +1 -1
  119. package/nitrogen/generated/shared/c++/DownloadChannel.hpp +5 -1
  120. package/nitrogen/generated/shared/c++/FirmwareArchiveExpectedEntry.hpp +95 -0
  121. package/nitrogen/generated/shared/c++/FirmwareArchiveMaterializeParams.hpp +95 -0
  122. package/nitrogen/generated/shared/c++/FirmwareArchiveMaterializeResult.hpp +85 -0
  123. package/nitrogen/generated/shared/c++/FirmwareArchiveMaterializedArtifact.hpp +89 -0
  124. package/nitrogen/generated/shared/c++/FirmwareArtifactCancelParams.hpp +83 -0
  125. package/nitrogen/generated/shared/c++/FirmwareArtifactCapabilities.hpp +96 -0
  126. package/nitrogen/generated/shared/c++/FirmwareArtifactDownloadParams.hpp +124 -0
  127. package/nitrogen/generated/shared/c++/FirmwareArtifactLease.hpp +83 -0
  128. package/nitrogen/generated/shared/c++/FirmwareArtifactLeaseCreateParams.hpp +83 -0
  129. package/nitrogen/generated/shared/c++/FirmwareArtifactLeaseReleaseParams.hpp +87 -0
  130. package/nitrogen/generated/shared/c++/FirmwareArtifactLeaseRetainParams.hpp +87 -0
  131. package/nitrogen/generated/shared/c++/FirmwareArtifactReaderCloseParams.hpp +83 -0
  132. package/nitrogen/generated/shared/c++/FirmwareArtifactReaderInfo.hpp +87 -0
  133. package/nitrogen/generated/shared/c++/FirmwareArtifactReaderReadParams.hpp +91 -0
  134. package/nitrogen/generated/shared/c++/FirmwareArtifactReceipt.hpp +95 -0
  135. package/nitrogen/generated/shared/c++/FirmwareArtifactRefParams.hpp +83 -0
  136. package/nitrogen/generated/shared/c++/FirmwareArtifactSweepResult.hpp +87 -0
  137. package/nitrogen/generated/shared/c++/HybridReactNativeRangeDownloaderSpec.cpp +13 -1
  138. package/nitrogen/generated/shared/c++/HybridReactNativeRangeDownloaderSpec.hpp +59 -1
  139. package/nitrogen/generated/shared/c++/RangeDownloadEvent.hpp +25 -17
  140. package/nitrogen/generated/shared/c++/RangeDownloadOutcome.hpp +1 -1
  141. package/nitrogen/generated/shared/c++/RangeDownloadParams.hpp +43 -35
  142. package/nitrogen/generated/shared/c++/RangeDownloadResult.hpp +22 -14
  143. package/nitrogen/generated/shared/c++/RangeFallbackKind.hpp +1 -1
  144. package/package.json +4 -4
  145. package/src/ReactNativeRangeDownloader.nitro.ts +130 -1
  146. package/src/index.tsx +3 -1
@@ -2,7 +2,7 @@
2
2
  /// JHybridReactNativeRangeDownloaderSpec.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "JHybridReactNativeRangeDownloaderSpec.hpp"
@@ -13,12 +13,46 @@ namespace margelo::nitro::reactnativerangedownloader { struct RangeDownloadResul
13
13
  namespace margelo::nitro::reactnativerangedownloader { enum class RangeDownloadOutcome; }
14
14
  // Forward declaration of `RangeFallbackKind` to properly resolve imports.
15
15
  namespace margelo::nitro::reactnativerangedownloader { enum class RangeFallbackKind; }
16
+ // Forward declaration of `FirmwareArtifactCapabilities` to properly resolve imports.
17
+ namespace margelo::nitro::reactnativerangedownloader { struct FirmwareArtifactCapabilities; }
18
+ // Forward declaration of `FirmwareArtifactReceipt` to properly resolve imports.
19
+ namespace margelo::nitro::reactnativerangedownloader { struct FirmwareArtifactReceipt; }
20
+ // Forward declaration of `FirmwareArtifactReaderInfo` to properly resolve imports.
21
+ namespace margelo::nitro::reactnativerangedownloader { struct FirmwareArtifactReaderInfo; }
22
+ // Forward declaration of `FirmwareArchiveMaterializeResult` to properly resolve imports.
23
+ namespace margelo::nitro::reactnativerangedownloader { struct FirmwareArchiveMaterializeResult; }
24
+ // Forward declaration of `FirmwareArchiveMaterializedArtifact` to properly resolve imports.
25
+ namespace margelo::nitro::reactnativerangedownloader { struct FirmwareArchiveMaterializedArtifact; }
26
+ // Forward declaration of `FirmwareArtifactLease` to properly resolve imports.
27
+ namespace margelo::nitro::reactnativerangedownloader { struct FirmwareArtifactLease; }
28
+ // Forward declaration of `FirmwareArtifactSweepResult` to properly resolve imports.
29
+ namespace margelo::nitro::reactnativerangedownloader { struct FirmwareArtifactSweepResult; }
16
30
  // Forward declaration of `RangeDownloadParams` to properly resolve imports.
17
31
  namespace margelo::nitro::reactnativerangedownloader { struct RangeDownloadParams; }
18
32
  // Forward declaration of `DownloadChannel` to properly resolve imports.
19
33
  namespace margelo::nitro::reactnativerangedownloader { enum class DownloadChannel; }
20
34
  // Forward declaration of `RangeDownloadEvent` to properly resolve imports.
21
35
  namespace margelo::nitro::reactnativerangedownloader { struct RangeDownloadEvent; }
36
+ // Forward declaration of `FirmwareArtifactDownloadParams` to properly resolve imports.
37
+ namespace margelo::nitro::reactnativerangedownloader { struct FirmwareArtifactDownloadParams; }
38
+ // Forward declaration of `FirmwareArtifactCancelParams` to properly resolve imports.
39
+ namespace margelo::nitro::reactnativerangedownloader { struct FirmwareArtifactCancelParams; }
40
+ // Forward declaration of `FirmwareArtifactRefParams` to properly resolve imports.
41
+ namespace margelo::nitro::reactnativerangedownloader { struct FirmwareArtifactRefParams; }
42
+ // Forward declaration of `FirmwareArtifactReaderReadParams` to properly resolve imports.
43
+ namespace margelo::nitro::reactnativerangedownloader { struct FirmwareArtifactReaderReadParams; }
44
+ // Forward declaration of `FirmwareArtifactReaderCloseParams` to properly resolve imports.
45
+ namespace margelo::nitro::reactnativerangedownloader { struct FirmwareArtifactReaderCloseParams; }
46
+ // Forward declaration of `FirmwareArchiveMaterializeParams` to properly resolve imports.
47
+ namespace margelo::nitro::reactnativerangedownloader { struct FirmwareArchiveMaterializeParams; }
48
+ // Forward declaration of `FirmwareArchiveExpectedEntry` to properly resolve imports.
49
+ namespace margelo::nitro::reactnativerangedownloader { struct FirmwareArchiveExpectedEntry; }
50
+ // Forward declaration of `FirmwareArtifactLeaseCreateParams` to properly resolve imports.
51
+ namespace margelo::nitro::reactnativerangedownloader { struct FirmwareArtifactLeaseCreateParams; }
52
+ // Forward declaration of `FirmwareArtifactLeaseRetainParams` to properly resolve imports.
53
+ namespace margelo::nitro::reactnativerangedownloader { struct FirmwareArtifactLeaseRetainParams; }
54
+ // Forward declaration of `FirmwareArtifactLeaseReleaseParams` to properly resolve imports.
55
+ namespace margelo::nitro::reactnativerangedownloader { struct FirmwareArtifactLeaseReleaseParams; }
22
56
 
23
57
  #include "RangeDownloadResult.hpp"
24
58
  #include <NitroModules/Promise.hpp>
@@ -30,6 +64,24 @@ namespace margelo::nitro::reactnativerangedownloader { struct RangeDownloadEvent
30
64
  #include <optional>
31
65
  #include "RangeFallbackKind.hpp"
32
66
  #include "JRangeFallbackKind.hpp"
67
+ #include <NitroModules/JUnit.hpp>
68
+ #include "FirmwareArtifactCapabilities.hpp"
69
+ #include "JFirmwareArtifactCapabilities.hpp"
70
+ #include <vector>
71
+ #include "FirmwareArtifactReceipt.hpp"
72
+ #include "JFirmwareArtifactReceipt.hpp"
73
+ #include "FirmwareArtifactReaderInfo.hpp"
74
+ #include "JFirmwareArtifactReaderInfo.hpp"
75
+ #include <NitroModules/ArrayBuffer.hpp>
76
+ #include <NitroModules/JArrayBuffer.hpp>
77
+ #include "FirmwareArchiveMaterializeResult.hpp"
78
+ #include "JFirmwareArchiveMaterializeResult.hpp"
79
+ #include "FirmwareArchiveMaterializedArtifact.hpp"
80
+ #include "JFirmwareArchiveMaterializedArtifact.hpp"
81
+ #include "FirmwareArtifactLease.hpp"
82
+ #include "JFirmwareArtifactLease.hpp"
83
+ #include "FirmwareArtifactSweepResult.hpp"
84
+ #include "JFirmwareArtifactSweepResult.hpp"
33
85
  #include "RangeDownloadParams.hpp"
34
86
  #include "JRangeDownloadParams.hpp"
35
87
  #include "DownloadChannel.hpp"
@@ -39,33 +91,54 @@ namespace margelo::nitro::reactnativerangedownloader { struct RangeDownloadEvent
39
91
  #include "JFunc_void_RangeDownloadEvent.hpp"
40
92
  #include <NitroModules/JNICallable.hpp>
41
93
  #include "JRangeDownloadEvent.hpp"
94
+ #include "FirmwareArtifactDownloadParams.hpp"
95
+ #include "JFirmwareArtifactDownloadParams.hpp"
96
+ #include "FirmwareArtifactCancelParams.hpp"
97
+ #include "JFirmwareArtifactCancelParams.hpp"
98
+ #include "FirmwareArtifactRefParams.hpp"
99
+ #include "JFirmwareArtifactRefParams.hpp"
100
+ #include "FirmwareArtifactReaderReadParams.hpp"
101
+ #include "JFirmwareArtifactReaderReadParams.hpp"
102
+ #include "FirmwareArtifactReaderCloseParams.hpp"
103
+ #include "JFirmwareArtifactReaderCloseParams.hpp"
104
+ #include "FirmwareArchiveMaterializeParams.hpp"
105
+ #include "JFirmwareArchiveMaterializeParams.hpp"
106
+ #include "FirmwareArchiveExpectedEntry.hpp"
107
+ #include "JFirmwareArchiveExpectedEntry.hpp"
108
+ #include "FirmwareArtifactLeaseCreateParams.hpp"
109
+ #include "JFirmwareArtifactLeaseCreateParams.hpp"
110
+ #include "FirmwareArtifactLeaseRetainParams.hpp"
111
+ #include "JFirmwareArtifactLeaseRetainParams.hpp"
112
+ #include "FirmwareArtifactLeaseReleaseParams.hpp"
113
+ #include "JFirmwareArtifactLeaseReleaseParams.hpp"
42
114
 
43
115
  namespace margelo::nitro::reactnativerangedownloader {
44
116
 
45
- jni::local_ref<JHybridReactNativeRangeDownloaderSpec::jhybriddata> JHybridReactNativeRangeDownloaderSpec::initHybrid(jni::alias_ref<jhybridobject> jThis) {
46
- return makeCxxInstance(jThis);
47
- }
48
-
49
- void JHybridReactNativeRangeDownloaderSpec::registerNatives() {
50
- registerHybrid({
51
- makeNativeMethod("initHybrid", JHybridReactNativeRangeDownloaderSpec::initHybrid),
52
- });
117
+ std::shared_ptr<JHybridReactNativeRangeDownloaderSpec> JHybridReactNativeRangeDownloaderSpec::JavaPart::getJHybridReactNativeRangeDownloaderSpec() {
118
+ auto hybridObject = JHybridObject::JavaPart::getJHybridObject();
119
+ auto castHybridObject = std::dynamic_pointer_cast<JHybridReactNativeRangeDownloaderSpec>(hybridObject);
120
+ if (castHybridObject == nullptr) [[unlikely]] {
121
+ throw std::runtime_error("Failed to downcast JHybridObject to JHybridReactNativeRangeDownloaderSpec!");
122
+ }
123
+ return castHybridObject;
53
124
  }
54
125
 
55
- size_t JHybridReactNativeRangeDownloaderSpec::getExternalMemorySize() noexcept {
56
- static const auto method = javaClassStatic()->getMethod<jlong()>("getMemorySize");
57
- return method(_javaPart);
126
+ jni::local_ref<JHybridReactNativeRangeDownloaderSpec::CxxPart::jhybriddata> JHybridReactNativeRangeDownloaderSpec::CxxPart::initHybrid(jni::alias_ref<jhybridobject> jThis) {
127
+ return makeCxxInstance(jThis);
58
128
  }
59
129
 
60
- void JHybridReactNativeRangeDownloaderSpec::dispose() noexcept {
61
- static const auto method = javaClassStatic()->getMethod<void()>("dispose");
62
- method(_javaPart);
130
+ std::shared_ptr<JHybridObject> JHybridReactNativeRangeDownloaderSpec::CxxPart::createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) {
131
+ auto castJavaPart = jni::dynamic_ref_cast<JHybridReactNativeRangeDownloaderSpec::JavaPart>(javaPart);
132
+ if (castJavaPart == nullptr) [[unlikely]] {
133
+ throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridReactNativeRangeDownloaderSpec::JavaPart!");
134
+ }
135
+ return std::make_shared<JHybridReactNativeRangeDownloaderSpec>(castJavaPart);
63
136
  }
64
137
 
65
- std::string JHybridReactNativeRangeDownloaderSpec::toString() {
66
- static const auto method = javaClassStatic()->getMethod<jni::JString()>("toString");
67
- auto javaString = method(_javaPart);
68
- return javaString->toStdString();
138
+ void JHybridReactNativeRangeDownloaderSpec::CxxPart::registerNatives() {
139
+ registerHybrid({
140
+ makeNativeMethod("initHybrid", JHybridReactNativeRangeDownloaderSpec::CxxPart::initHybrid),
141
+ });
69
142
  }
70
143
 
71
144
  // Properties
@@ -73,7 +146,7 @@ namespace margelo::nitro::reactnativerangedownloader {
73
146
 
74
147
  // Methods
75
148
  std::shared_ptr<Promise<RangeDownloadResult>> JHybridReactNativeRangeDownloaderSpec::download(const RangeDownloadParams& params) {
76
- static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JRangeDownloadParams> /* params */)>("download");
149
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JRangeDownloadParams> /* params */)>("download");
77
150
  auto __result = method(_javaPart, JRangeDownloadParams::fromCpp(params));
78
151
  return [&]() {
79
152
  auto __promise = Promise<RangeDownloadResult>::create();
@@ -89,7 +162,7 @@ namespace margelo::nitro::reactnativerangedownloader {
89
162
  }();
90
163
  }
91
164
  std::shared_ptr<Promise<void>> JHybridReactNativeRangeDownloaderSpec::discardArtifacts(DownloadChannel channel, const std::string& taskId, const std::string& destFilePath) {
92
- static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JDownloadChannel> /* channel */, jni::alias_ref<jni::JString> /* taskId */, jni::alias_ref<jni::JString> /* destFilePath */)>("discardArtifacts");
165
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JDownloadChannel> /* channel */, jni::alias_ref<jni::JString> /* taskId */, jni::alias_ref<jni::JString> /* destFilePath */)>("discardArtifacts");
93
166
  auto __result = method(_javaPart, JDownloadChannel::fromCpp(channel), jni::make_jstring(taskId), jni::make_jstring(destFilePath));
94
167
  return [&]() {
95
168
  auto __promise = Promise<void>::create();
@@ -104,7 +177,7 @@ namespace margelo::nitro::reactnativerangedownloader {
104
177
  }();
105
178
  }
106
179
  std::shared_ptr<Promise<void>> JHybridReactNativeRangeDownloaderSpec::cancel(DownloadChannel channel, const std::string& taskId, const std::string& destFilePath) {
107
- static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JDownloadChannel> /* channel */, jni::alias_ref<jni::JString> /* taskId */, jni::alias_ref<jni::JString> /* destFilePath */)>("cancel");
180
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JDownloadChannel> /* channel */, jni::alias_ref<jni::JString> /* taskId */, jni::alias_ref<jni::JString> /* destFilePath */)>("cancel");
108
181
  auto __result = method(_javaPart, JDownloadChannel::fromCpp(channel), jni::make_jstring(taskId), jni::make_jstring(destFilePath));
109
182
  return [&]() {
110
183
  auto __promise = Promise<void>::create();
@@ -119,18 +192,194 @@ namespace margelo::nitro::reactnativerangedownloader {
119
192
  }();
120
193
  }
121
194
  double JHybridReactNativeRangeDownloaderSpec::addDownloadListener(const std::function<void(const RangeDownloadEvent& /* event */)>& callback) {
122
- static const auto method = javaClassStatic()->getMethod<double(jni::alias_ref<JFunc_void_RangeDownloadEvent::javaobject> /* callback */)>("addDownloadListener_cxx");
195
+ static const auto method = _javaPart->javaClassStatic()->getMethod<double(jni::alias_ref<JFunc_void_RangeDownloadEvent::javaobject> /* callback */)>("addDownloadListener_cxx");
123
196
  auto __result = method(_javaPart, JFunc_void_RangeDownloadEvent_cxx::fromCpp(callback));
124
197
  return __result;
125
198
  }
126
199
  void JHybridReactNativeRangeDownloaderSpec::removeDownloadListener(double id) {
127
- static const auto method = javaClassStatic()->getMethod<void(double /* id */)>("removeDownloadListener");
200
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void(double /* id */)>("removeDownloadListener");
128
201
  method(_javaPart, id);
129
202
  }
130
203
  std::string JHybridReactNativeRangeDownloaderSpec::getDownloadsDir() {
131
- static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getDownloadsDir");
204
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getDownloadsDir");
132
205
  auto __result = method(_javaPart);
133
206
  return __result->toStdString();
134
207
  }
208
+ FirmwareArtifactCapabilities JHybridReactNativeRangeDownloaderSpec::getFirmwareArtifactCapabilities() {
209
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JFirmwareArtifactCapabilities>()>("getFirmwareArtifactCapabilities");
210
+ auto __result = method(_javaPart);
211
+ return __result->toCpp();
212
+ }
213
+ std::shared_ptr<Promise<FirmwareArtifactReceipt>> JHybridReactNativeRangeDownloaderSpec::downloadFirmwareArtifact(const FirmwareArtifactDownloadParams& params) {
214
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JFirmwareArtifactDownloadParams> /* params */)>("downloadFirmwareArtifact");
215
+ auto __result = method(_javaPart, JFirmwareArtifactDownloadParams::fromCpp(params));
216
+ return [&]() {
217
+ auto __promise = Promise<FirmwareArtifactReceipt>::create();
218
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
219
+ auto __result = jni::static_ref_cast<JFirmwareArtifactReceipt>(__boxedResult);
220
+ __promise->resolve(__result->toCpp());
221
+ });
222
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
223
+ jni::JniException __jniError(__throwable);
224
+ __promise->reject(std::make_exception_ptr(__jniError));
225
+ });
226
+ return __promise;
227
+ }();
228
+ }
229
+ std::shared_ptr<Promise<void>> JHybridReactNativeRangeDownloaderSpec::cancelFirmwareArtifactDownloads(const FirmwareArtifactCancelParams& params) {
230
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JFirmwareArtifactCancelParams> /* params */)>("cancelFirmwareArtifactDownloads");
231
+ auto __result = method(_javaPart, JFirmwareArtifactCancelParams::fromCpp(params));
232
+ return [&]() {
233
+ auto __promise = Promise<void>::create();
234
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
235
+ __promise->resolve();
236
+ });
237
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
238
+ jni::JniException __jniError(__throwable);
239
+ __promise->reject(std::make_exception_ptr(__jniError));
240
+ });
241
+ return __promise;
242
+ }();
243
+ }
244
+ std::shared_ptr<Promise<void>> JHybridReactNativeRangeDownloaderSpec::discardFirmwareArtifact(const FirmwareArtifactRefParams& params) {
245
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JFirmwareArtifactRefParams> /* params */)>("discardFirmwareArtifact");
246
+ auto __result = method(_javaPart, JFirmwareArtifactRefParams::fromCpp(params));
247
+ return [&]() {
248
+ auto __promise = Promise<void>::create();
249
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
250
+ __promise->resolve();
251
+ });
252
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
253
+ jni::JniException __jniError(__throwable);
254
+ __promise->reject(std::make_exception_ptr(__jniError));
255
+ });
256
+ return __promise;
257
+ }();
258
+ }
259
+ std::shared_ptr<Promise<FirmwareArtifactReaderInfo>> JHybridReactNativeRangeDownloaderSpec::openFirmwareArtifact(const FirmwareArtifactRefParams& params) {
260
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JFirmwareArtifactRefParams> /* params */)>("openFirmwareArtifact");
261
+ auto __result = method(_javaPart, JFirmwareArtifactRefParams::fromCpp(params));
262
+ return [&]() {
263
+ auto __promise = Promise<FirmwareArtifactReaderInfo>::create();
264
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
265
+ auto __result = jni::static_ref_cast<JFirmwareArtifactReaderInfo>(__boxedResult);
266
+ __promise->resolve(__result->toCpp());
267
+ });
268
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
269
+ jni::JniException __jniError(__throwable);
270
+ __promise->reject(std::make_exception_ptr(__jniError));
271
+ });
272
+ return __promise;
273
+ }();
274
+ }
275
+ std::shared_ptr<Promise<std::shared_ptr<ArrayBuffer>>> JHybridReactNativeRangeDownloaderSpec::readFirmwareArtifact(const FirmwareArtifactReaderReadParams& params) {
276
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JFirmwareArtifactReaderReadParams> /* params */)>("readFirmwareArtifact");
277
+ auto __result = method(_javaPart, JFirmwareArtifactReaderReadParams::fromCpp(params));
278
+ return [&]() {
279
+ auto __promise = Promise<std::shared_ptr<ArrayBuffer>>::create();
280
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
281
+ auto __result = jni::static_ref_cast<JArrayBuffer::javaobject>(__boxedResult);
282
+ __promise->resolve(__result->cthis()->getArrayBuffer());
283
+ });
284
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
285
+ jni::JniException __jniError(__throwable);
286
+ __promise->reject(std::make_exception_ptr(__jniError));
287
+ });
288
+ return __promise;
289
+ }();
290
+ }
291
+ std::shared_ptr<Promise<void>> JHybridReactNativeRangeDownloaderSpec::closeFirmwareArtifact(const FirmwareArtifactReaderCloseParams& params) {
292
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JFirmwareArtifactReaderCloseParams> /* params */)>("closeFirmwareArtifact");
293
+ auto __result = method(_javaPart, JFirmwareArtifactReaderCloseParams::fromCpp(params));
294
+ return [&]() {
295
+ auto __promise = Promise<void>::create();
296
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
297
+ __promise->resolve();
298
+ });
299
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
300
+ jni::JniException __jniError(__throwable);
301
+ __promise->reject(std::make_exception_ptr(__jniError));
302
+ });
303
+ return __promise;
304
+ }();
305
+ }
306
+ std::shared_ptr<Promise<FirmwareArchiveMaterializeResult>> JHybridReactNativeRangeDownloaderSpec::materializeFirmwareArchive(const FirmwareArchiveMaterializeParams& params) {
307
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JFirmwareArchiveMaterializeParams> /* params */)>("materializeFirmwareArchive");
308
+ auto __result = method(_javaPart, JFirmwareArchiveMaterializeParams::fromCpp(params));
309
+ return [&]() {
310
+ auto __promise = Promise<FirmwareArchiveMaterializeResult>::create();
311
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
312
+ auto __result = jni::static_ref_cast<JFirmwareArchiveMaterializeResult>(__boxedResult);
313
+ __promise->resolve(__result->toCpp());
314
+ });
315
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
316
+ jni::JniException __jniError(__throwable);
317
+ __promise->reject(std::make_exception_ptr(__jniError));
318
+ });
319
+ return __promise;
320
+ }();
321
+ }
322
+ std::shared_ptr<Promise<FirmwareArtifactLease>> JHybridReactNativeRangeDownloaderSpec::createFirmwareArtifactLease(const FirmwareArtifactLeaseCreateParams& params) {
323
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JFirmwareArtifactLeaseCreateParams> /* params */)>("createFirmwareArtifactLease");
324
+ auto __result = method(_javaPart, JFirmwareArtifactLeaseCreateParams::fromCpp(params));
325
+ return [&]() {
326
+ auto __promise = Promise<FirmwareArtifactLease>::create();
327
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
328
+ auto __result = jni::static_ref_cast<JFirmwareArtifactLease>(__boxedResult);
329
+ __promise->resolve(__result->toCpp());
330
+ });
331
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
332
+ jni::JniException __jniError(__throwable);
333
+ __promise->reject(std::make_exception_ptr(__jniError));
334
+ });
335
+ return __promise;
336
+ }();
337
+ }
338
+ std::shared_ptr<Promise<void>> JHybridReactNativeRangeDownloaderSpec::retainFirmwareArtifact(const FirmwareArtifactLeaseRetainParams& params) {
339
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JFirmwareArtifactLeaseRetainParams> /* params */)>("retainFirmwareArtifact");
340
+ auto __result = method(_javaPart, JFirmwareArtifactLeaseRetainParams::fromCpp(params));
341
+ return [&]() {
342
+ auto __promise = Promise<void>::create();
343
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
344
+ __promise->resolve();
345
+ });
346
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
347
+ jni::JniException __jniError(__throwable);
348
+ __promise->reject(std::make_exception_ptr(__jniError));
349
+ });
350
+ return __promise;
351
+ }();
352
+ }
353
+ std::shared_ptr<Promise<void>> JHybridReactNativeRangeDownloaderSpec::releaseFirmwareArtifactLease(const FirmwareArtifactLeaseReleaseParams& params) {
354
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JFirmwareArtifactLeaseReleaseParams> /* params */)>("releaseFirmwareArtifactLease");
355
+ auto __result = method(_javaPart, JFirmwareArtifactLeaseReleaseParams::fromCpp(params));
356
+ return [&]() {
357
+ auto __promise = Promise<void>::create();
358
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
359
+ __promise->resolve();
360
+ });
361
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
362
+ jni::JniException __jniError(__throwable);
363
+ __promise->reject(std::make_exception_ptr(__jniError));
364
+ });
365
+ return __promise;
366
+ }();
367
+ }
368
+ std::shared_ptr<Promise<FirmwareArtifactSweepResult>> JHybridReactNativeRangeDownloaderSpec::sweepFirmwareArtifactOrphans() {
369
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("sweepFirmwareArtifactOrphans");
370
+ auto __result = method(_javaPart);
371
+ return [&]() {
372
+ auto __promise = Promise<FirmwareArtifactSweepResult>::create();
373
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
374
+ auto __result = jni::static_ref_cast<JFirmwareArtifactSweepResult>(__boxedResult);
375
+ __promise->resolve(__result->toCpp());
376
+ });
377
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
378
+ jni::JniException __jniError(__throwable);
379
+ __promise->reject(std::make_exception_ptr(__jniError));
380
+ });
381
+ return __promise;
382
+ }();
383
+ }
135
384
 
136
385
  } // namespace margelo::nitro::reactnativerangedownloader
@@ -2,7 +2,7 @@
2
2
  /// HybridReactNativeRangeDownloaderSpec.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -18,33 +18,33 @@ namespace margelo::nitro::reactnativerangedownloader {
18
18
 
19
19
  using namespace facebook;
20
20
 
21
- class JHybridReactNativeRangeDownloaderSpec: public jni::HybridClass<JHybridReactNativeRangeDownloaderSpec, JHybridObject>,
22
- public virtual HybridReactNativeRangeDownloaderSpec {
21
+ class JHybridReactNativeRangeDownloaderSpec: public virtual HybridReactNativeRangeDownloaderSpec, public virtual JHybridObject {
23
22
  public:
24
- static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/reactnativerangedownloader/HybridReactNativeRangeDownloaderSpec;";
25
- static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject> jThis);
26
- static void registerNatives();
27
-
28
- protected:
29
- // C++ constructor (called from Java via `initHybrid()`)
30
- explicit JHybridReactNativeRangeDownloaderSpec(jni::alias_ref<jhybridobject> jThis) :
31
- HybridObject(HybridReactNativeRangeDownloaderSpec::TAG),
32
- HybridBase(jThis),
33
- _javaPart(jni::make_global(jThis)) {}
23
+ struct JavaPart: public jni::JavaClass<JavaPart, JHybridObject::JavaPart> {
24
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/reactnativerangedownloader/HybridReactNativeRangeDownloaderSpec;";
25
+ std::shared_ptr<JHybridReactNativeRangeDownloaderSpec> getJHybridReactNativeRangeDownloaderSpec();
26
+ };
27
+ struct CxxPart: public jni::HybridClass<CxxPart, JHybridObject::CxxPart> {
28
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/reactnativerangedownloader/HybridReactNativeRangeDownloaderSpec$CxxPart;";
29
+ static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject> jThis);
30
+ static void registerNatives();
31
+ using HybridBase::HybridBase;
32
+ protected:
33
+ std::shared_ptr<JHybridObject> createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) override;
34
+ };
34
35
 
35
36
  public:
37
+ explicit JHybridReactNativeRangeDownloaderSpec(const jni::local_ref<JHybridReactNativeRangeDownloaderSpec::JavaPart>& javaPart):
38
+ HybridObject(HybridReactNativeRangeDownloaderSpec::TAG),
39
+ JHybridObject(javaPart),
40
+ _javaPart(jni::make_global(javaPart)) {}
36
41
  ~JHybridReactNativeRangeDownloaderSpec() override {
37
42
  // Hermes GC can destroy JS objects on a non-JNI Thread.
38
43
  jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); });
39
44
  }
40
45
 
41
46
  public:
42
- size_t getExternalMemorySize() noexcept override;
43
- void dispose() noexcept override;
44
- std::string toString() override;
45
-
46
- public:
47
- inline const jni::global_ref<JHybridReactNativeRangeDownloaderSpec::javaobject>& getJavaPart() const noexcept {
47
+ inline const jni::global_ref<JHybridReactNativeRangeDownloaderSpec::JavaPart>& getJavaPart() const noexcept {
48
48
  return _javaPart;
49
49
  }
50
50
 
@@ -60,11 +60,21 @@ namespace margelo::nitro::reactnativerangedownloader {
60
60
  double addDownloadListener(const std::function<void(const RangeDownloadEvent& /* event */)>& callback) override;
61
61
  void removeDownloadListener(double id) override;
62
62
  std::string getDownloadsDir() override;
63
+ FirmwareArtifactCapabilities getFirmwareArtifactCapabilities() override;
64
+ std::shared_ptr<Promise<FirmwareArtifactReceipt>> downloadFirmwareArtifact(const FirmwareArtifactDownloadParams& params) override;
65
+ std::shared_ptr<Promise<void>> cancelFirmwareArtifactDownloads(const FirmwareArtifactCancelParams& params) override;
66
+ std::shared_ptr<Promise<void>> discardFirmwareArtifact(const FirmwareArtifactRefParams& params) override;
67
+ std::shared_ptr<Promise<FirmwareArtifactReaderInfo>> openFirmwareArtifact(const FirmwareArtifactRefParams& params) override;
68
+ std::shared_ptr<Promise<std::shared_ptr<ArrayBuffer>>> readFirmwareArtifact(const FirmwareArtifactReaderReadParams& params) override;
69
+ std::shared_ptr<Promise<void>> closeFirmwareArtifact(const FirmwareArtifactReaderCloseParams& params) override;
70
+ std::shared_ptr<Promise<FirmwareArchiveMaterializeResult>> materializeFirmwareArchive(const FirmwareArchiveMaterializeParams& params) override;
71
+ std::shared_ptr<Promise<FirmwareArtifactLease>> createFirmwareArtifactLease(const FirmwareArtifactLeaseCreateParams& params) override;
72
+ std::shared_ptr<Promise<void>> retainFirmwareArtifact(const FirmwareArtifactLeaseRetainParams& params) override;
73
+ std::shared_ptr<Promise<void>> releaseFirmwareArtifactLease(const FirmwareArtifactLeaseReleaseParams& params) override;
74
+ std::shared_ptr<Promise<FirmwareArtifactSweepResult>> sweepFirmwareArtifactOrphans() override;
63
75
 
64
76
  private:
65
- friend HybridBase;
66
- using HybridBase::HybridBase;
67
- jni::global_ref<JHybridReactNativeRangeDownloaderSpec::javaobject> _javaPart;
77
+ jni::global_ref<JHybridReactNativeRangeDownloaderSpec::JavaPart> _javaPart;
68
78
  };
69
79
 
70
80
  } // namespace margelo::nitro::reactnativerangedownloader
@@ -2,7 +2,7 @@
2
2
  /// JRangeDownloadEvent.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -23,7 +23,7 @@ namespace margelo::nitro::reactnativerangedownloader {
23
23
  */
24
24
  struct JRangeDownloadEvent final: public jni::JavaClass<JRangeDownloadEvent> {
25
25
  public:
26
- static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/reactnativerangedownloader/RangeDownloadEvent;";
26
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/reactnativerangedownloader/RangeDownloadEvent;";
27
27
 
28
28
  public:
29
29
  /**
@@ -2,7 +2,7 @@
2
2
  /// JRangeDownloadOutcome.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -19,7 +19,7 @@ namespace margelo::nitro::reactnativerangedownloader {
19
19
  */
20
20
  struct JRangeDownloadOutcome final: public jni::JavaClass<JRangeDownloadOutcome> {
21
21
  public:
22
- static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/reactnativerangedownloader/RangeDownloadOutcome;";
22
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/reactnativerangedownloader/RangeDownloadOutcome;";
23
23
 
24
24
  public:
25
25
  /**
@@ -41,19 +41,18 @@ namespace margelo::nitro::reactnativerangedownloader {
41
41
  [[maybe_unused]]
42
42
  static jni::alias_ref<JRangeDownloadOutcome> fromCpp(RangeDownloadOutcome value) {
43
43
  static const auto clazz = javaClassStatic();
44
- static const auto fieldCOMPLETED = clazz->getStaticField<JRangeDownloadOutcome>("COMPLETED");
45
- static const auto fieldFALLBACKTRANSIENT = clazz->getStaticField<JRangeDownloadOutcome>("FALLBACKTRANSIENT");
46
- static const auto fieldFALLBACKPERMANENT = clazz->getStaticField<JRangeDownloadOutcome>("FALLBACKPERMANENT");
47
- static const auto fieldFALLBACK = clazz->getStaticField<JRangeDownloadOutcome>("FALLBACK");
48
-
49
44
  switch (value) {
50
45
  case RangeDownloadOutcome::COMPLETED:
46
+ static const auto fieldCOMPLETED = clazz->getStaticField<JRangeDownloadOutcome>("COMPLETED");
51
47
  return clazz->getStaticFieldValue(fieldCOMPLETED);
52
48
  case RangeDownloadOutcome::FALLBACKTRANSIENT:
49
+ static const auto fieldFALLBACKTRANSIENT = clazz->getStaticField<JRangeDownloadOutcome>("FALLBACKTRANSIENT");
53
50
  return clazz->getStaticFieldValue(fieldFALLBACKTRANSIENT);
54
51
  case RangeDownloadOutcome::FALLBACKPERMANENT:
52
+ static const auto fieldFALLBACKPERMANENT = clazz->getStaticField<JRangeDownloadOutcome>("FALLBACKPERMANENT");
55
53
  return clazz->getStaticFieldValue(fieldFALLBACKPERMANENT);
56
54
  case RangeDownloadOutcome::FALLBACK:
55
+ static const auto fieldFALLBACK = clazz->getStaticField<JRangeDownloadOutcome>("FALLBACK");
57
56
  return clazz->getStaticFieldValue(fieldFALLBACK);
58
57
  default:
59
58
  std::string stringValue = std::to_string(static_cast<int>(value));
@@ -2,7 +2,7 @@
2
2
  /// JRangeDownloadParams.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -24,7 +24,7 @@ namespace margelo::nitro::reactnativerangedownloader {
24
24
  */
25
25
  struct JRangeDownloadParams final: public jni::JavaClass<JRangeDownloadParams> {
26
26
  public:
27
- static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/reactnativerangedownloader/RangeDownloadParams;";
27
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/reactnativerangedownloader/RangeDownloadParams;";
28
28
 
29
29
  public:
30
30
  /**
@@ -2,7 +2,7 @@
2
2
  /// JRangeDownloadResult.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -26,7 +26,7 @@ namespace margelo::nitro::reactnativerangedownloader {
26
26
  */
27
27
  struct JRangeDownloadResult final: public jni::JavaClass<JRangeDownloadResult> {
28
28
  public:
29
- static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/reactnativerangedownloader/RangeDownloadResult;";
29
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/reactnativerangedownloader/RangeDownloadResult;";
30
30
 
31
31
  public:
32
32
  /**
@@ -2,7 +2,7 @@
2
2
  /// JRangeFallbackKind.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -19,7 +19,7 @@ namespace margelo::nitro::reactnativerangedownloader {
19
19
  */
20
20
  struct JRangeFallbackKind final: public jni::JavaClass<JRangeFallbackKind> {
21
21
  public:
22
- static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/reactnativerangedownloader/RangeFallbackKind;";
22
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/reactnativerangedownloader/RangeFallbackKind;";
23
23
 
24
24
  public:
25
25
  /**
@@ -41,37 +41,36 @@ namespace margelo::nitro::reactnativerangedownloader {
41
41
  [[maybe_unused]]
42
42
  static jni::alias_ref<JRangeFallbackKind> fromCpp(RangeFallbackKind value) {
43
43
  static const auto clazz = javaClassStatic();
44
- static const auto fieldSERVERIGNOREDRANGE = clazz->getStaticField<JRangeFallbackKind>("SERVERIGNOREDRANGE");
45
- static const auto fieldRANGEUNSUPPORTED = clazz->getStaticField<JRangeFallbackKind>("RANGEUNSUPPORTED");
46
- static const auto fieldAUTHEXPIRED = clazz->getStaticField<JRangeFallbackKind>("AUTHEXPIRED");
47
- static const auto fieldNOTFOUND = clazz->getStaticField<JRangeFallbackKind>("NOTFOUND");
48
- static const auto fieldREDIRECTREJECTED = clazz->getStaticField<JRangeFallbackKind>("REDIRECTREJECTED");
49
- static const auto fieldCHECKSUMMISMATCH = clazz->getStaticField<JRangeFallbackKind>("CHECKSUMMISMATCH");
50
- static const auto fieldMULTIPARTORBADTOTAL = clazz->getStaticField<JRangeFallbackKind>("MULTIPARTORBADTOTAL");
51
- static const auto fieldTRANSIENTNETWORK = clazz->getStaticField<JRangeFallbackKind>("TRANSIENTNETWORK");
52
- static const auto fieldTHROTTLED = clazz->getStaticField<JRangeFallbackKind>("THROTTLED");
53
- static const auto fieldBUDGETEXHAUSTED = clazz->getStaticField<JRangeFallbackKind>("BUDGETEXHAUSTED");
54
-
55
44
  switch (value) {
56
45
  case RangeFallbackKind::SERVERIGNOREDRANGE:
46
+ static const auto fieldSERVERIGNOREDRANGE = clazz->getStaticField<JRangeFallbackKind>("SERVERIGNOREDRANGE");
57
47
  return clazz->getStaticFieldValue(fieldSERVERIGNOREDRANGE);
58
48
  case RangeFallbackKind::RANGEUNSUPPORTED:
49
+ static const auto fieldRANGEUNSUPPORTED = clazz->getStaticField<JRangeFallbackKind>("RANGEUNSUPPORTED");
59
50
  return clazz->getStaticFieldValue(fieldRANGEUNSUPPORTED);
60
51
  case RangeFallbackKind::AUTHEXPIRED:
52
+ static const auto fieldAUTHEXPIRED = clazz->getStaticField<JRangeFallbackKind>("AUTHEXPIRED");
61
53
  return clazz->getStaticFieldValue(fieldAUTHEXPIRED);
62
54
  case RangeFallbackKind::NOTFOUND:
55
+ static const auto fieldNOTFOUND = clazz->getStaticField<JRangeFallbackKind>("NOTFOUND");
63
56
  return clazz->getStaticFieldValue(fieldNOTFOUND);
64
57
  case RangeFallbackKind::REDIRECTREJECTED:
58
+ static const auto fieldREDIRECTREJECTED = clazz->getStaticField<JRangeFallbackKind>("REDIRECTREJECTED");
65
59
  return clazz->getStaticFieldValue(fieldREDIRECTREJECTED);
66
60
  case RangeFallbackKind::CHECKSUMMISMATCH:
61
+ static const auto fieldCHECKSUMMISMATCH = clazz->getStaticField<JRangeFallbackKind>("CHECKSUMMISMATCH");
67
62
  return clazz->getStaticFieldValue(fieldCHECKSUMMISMATCH);
68
63
  case RangeFallbackKind::MULTIPARTORBADTOTAL:
64
+ static const auto fieldMULTIPARTORBADTOTAL = clazz->getStaticField<JRangeFallbackKind>("MULTIPARTORBADTOTAL");
69
65
  return clazz->getStaticFieldValue(fieldMULTIPARTORBADTOTAL);
70
66
  case RangeFallbackKind::TRANSIENTNETWORK:
67
+ static const auto fieldTRANSIENTNETWORK = clazz->getStaticField<JRangeFallbackKind>("TRANSIENTNETWORK");
71
68
  return clazz->getStaticFieldValue(fieldTRANSIENTNETWORK);
72
69
  case RangeFallbackKind::THROTTLED:
70
+ static const auto fieldTHROTTLED = clazz->getStaticField<JRangeFallbackKind>("THROTTLED");
73
71
  return clazz->getStaticFieldValue(fieldTHROTTLED);
74
72
  case RangeFallbackKind::BUDGETEXHAUSTED:
73
+ static const auto fieldBUDGETEXHAUSTED = clazz->getStaticField<JRangeFallbackKind>("BUDGETEXHAUSTED");
75
74
  return clazz->getStaticFieldValue(fieldBUDGETEXHAUSTED);
76
75
  default:
77
76
  std::string stringValue = std::to_string(static_cast<int>(value));