react-native-nitro-unzip 0.1.0

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 (93) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +107 -0
  3. package/android/CMakeLists.txt +16 -0
  4. package/android/build.gradle +70 -0
  5. package/android/src/main/cpp/cpp-adapter.cpp +6 -0
  6. package/android/src/main/java/com/margelo/nitro/unzip/HybridUnzip.kt +29 -0
  7. package/android/src/main/java/com/margelo/nitro/unzip/HybridUnzipTask.kt +256 -0
  8. package/android/src/main/java/com/margelo/nitro/unzip/HybridZipTask.kt +157 -0
  9. package/ios/HybridUnzip.swift +33 -0
  10. package/ios/HybridUnzipTask.swift +238 -0
  11. package/ios/HybridZipTask.swift +266 -0
  12. package/lib/commonjs/index.js +31 -0
  13. package/lib/commonjs/index.js.map +1 -0
  14. package/lib/commonjs/specs/Unzip.nitro.js +6 -0
  15. package/lib/commonjs/specs/Unzip.nitro.js.map +1 -0
  16. package/lib/module/index.js +27 -0
  17. package/lib/module/index.js.map +1 -0
  18. package/lib/module/package.json +1 -0
  19. package/lib/module/specs/Unzip.nitro.js +4 -0
  20. package/lib/module/specs/Unzip.nitro.js.map +1 -0
  21. package/lib/typescript/index.d.ts +24 -0
  22. package/lib/typescript/index.d.ts.map +1 -0
  23. package/lib/typescript/specs/Unzip.nitro.d.ts +170 -0
  24. package/lib/typescript/specs/Unzip.nitro.d.ts.map +1 -0
  25. package/nitro.json +26 -0
  26. package/nitrogen/generated/.gitattributes +1 -0
  27. package/nitrogen/generated/android/NitroUnzip+autolinking.cmake +85 -0
  28. package/nitrogen/generated/android/NitroUnzip+autolinking.gradle +27 -0
  29. package/nitrogen/generated/android/NitroUnzipOnLoad.cpp +71 -0
  30. package/nitrogen/generated/android/NitroUnzipOnLoad.hpp +34 -0
  31. package/nitrogen/generated/android/c++/JFunc_void_UnzipProgress.hpp +77 -0
  32. package/nitrogen/generated/android/c++/JFunc_void_ZipProgress.hpp +77 -0
  33. package/nitrogen/generated/android/c++/JHybridUnzipSpec.cpp +82 -0
  34. package/nitrogen/generated/android/c++/JHybridUnzipSpec.hpp +69 -0
  35. package/nitrogen/generated/android/c++/JHybridUnzipTaskSpec.cpp +94 -0
  36. package/nitrogen/generated/android/c++/JHybridUnzipTaskSpec.hpp +68 -0
  37. package/nitrogen/generated/android/c++/JHybridZipTaskSpec.cpp +94 -0
  38. package/nitrogen/generated/android/c++/JHybridZipTaskSpec.hpp +68 -0
  39. package/nitrogen/generated/android/c++/JUnzipProgress.hpp +73 -0
  40. package/nitrogen/generated/android/c++/JUnzipResult.hpp +73 -0
  41. package/nitrogen/generated/android/c++/JZipProgress.hpp +69 -0
  42. package/nitrogen/generated/android/c++/JZipResult.hpp +73 -0
  43. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unzip/Func_void_UnzipProgress.kt +80 -0
  44. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unzip/Func_void_ZipProgress.kt +80 -0
  45. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unzip/HybridUnzipSpec.kt +69 -0
  46. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unzip/HybridUnzipTaskSpec.kt +73 -0
  47. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unzip/HybridZipTaskSpec.kt +73 -0
  48. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unzip/NitroUnzipOnLoad.kt +35 -0
  49. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unzip/UnzipProgress.kt +50 -0
  50. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unzip/UnzipResult.kt +50 -0
  51. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unzip/ZipProgress.kt +47 -0
  52. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unzip/ZipResult.kt +50 -0
  53. package/nitrogen/generated/ios/NitroUnzip+autolinking.rb +60 -0
  54. package/nitrogen/generated/ios/NitroUnzip-Swift-Cxx-Bridge.cpp +107 -0
  55. package/nitrogen/generated/ios/NitroUnzip-Swift-Cxx-Bridge.hpp +270 -0
  56. package/nitrogen/generated/ios/NitroUnzip-Swift-Cxx-Umbrella.hpp +68 -0
  57. package/nitrogen/generated/ios/NitroUnzipAutolinking.mm +49 -0
  58. package/nitrogen/generated/ios/NitroUnzipAutolinking.swift +50 -0
  59. package/nitrogen/generated/ios/c++/HybridUnzipSpecSwift.cpp +11 -0
  60. package/nitrogen/generated/ios/c++/HybridUnzipSpecSwift.hpp +112 -0
  61. package/nitrogen/generated/ios/c++/HybridUnzipTaskSpecSwift.cpp +11 -0
  62. package/nitrogen/generated/ios/c++/HybridUnzipTaskSpecSwift.hpp +104 -0
  63. package/nitrogen/generated/ios/c++/HybridZipTaskSpecSwift.cpp +11 -0
  64. package/nitrogen/generated/ios/c++/HybridZipTaskSpecSwift.hpp +104 -0
  65. package/nitrogen/generated/ios/swift/Func_void_UnzipProgress.swift +46 -0
  66. package/nitrogen/generated/ios/swift/Func_void_UnzipResult.swift +46 -0
  67. package/nitrogen/generated/ios/swift/Func_void_ZipProgress.swift +46 -0
  68. package/nitrogen/generated/ios/swift/Func_void_ZipResult.swift +46 -0
  69. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +46 -0
  70. package/nitrogen/generated/ios/swift/HybridUnzipSpec.swift +58 -0
  71. package/nitrogen/generated/ios/swift/HybridUnzipSpec_cxx.swift +186 -0
  72. package/nitrogen/generated/ios/swift/HybridUnzipTaskSpec.swift +57 -0
  73. package/nitrogen/generated/ios/swift/HybridUnzipTaskSpec_cxx.swift +177 -0
  74. package/nitrogen/generated/ios/swift/HybridZipTaskSpec.swift +57 -0
  75. package/nitrogen/generated/ios/swift/HybridZipTaskSpec_cxx.swift +177 -0
  76. package/nitrogen/generated/ios/swift/UnzipProgress.swift +49 -0
  77. package/nitrogen/generated/ios/swift/UnzipResult.swift +49 -0
  78. package/nitrogen/generated/ios/swift/ZipProgress.swift +44 -0
  79. package/nitrogen/generated/ios/swift/ZipResult.swift +49 -0
  80. package/nitrogen/generated/shared/c++/HybridUnzipSpec.cpp +24 -0
  81. package/nitrogen/generated/shared/c++/HybridUnzipSpec.hpp +71 -0
  82. package/nitrogen/generated/shared/c++/HybridUnzipTaskSpec.cpp +24 -0
  83. package/nitrogen/generated/shared/c++/HybridUnzipTaskSpec.hpp +71 -0
  84. package/nitrogen/generated/shared/c++/HybridZipTaskSpec.cpp +24 -0
  85. package/nitrogen/generated/shared/c++/HybridZipTaskSpec.hpp +71 -0
  86. package/nitrogen/generated/shared/c++/UnzipProgress.hpp +99 -0
  87. package/nitrogen/generated/shared/c++/UnzipResult.hpp +99 -0
  88. package/nitrogen/generated/shared/c++/ZipProgress.hpp +95 -0
  89. package/nitrogen/generated/shared/c++/ZipResult.hpp +99 -0
  90. package/package.json +165 -0
  91. package/react-native-nitro-unzip.podspec +24 -0
  92. package/src/index.ts +36 -0
  93. package/src/specs/Unzip.nitro.ts +193 -0
@@ -0,0 +1,69 @@
1
+ ///
2
+ /// HybridUnzipSpec.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <NitroModules/JHybridObject.hpp>
11
+ #include <fbjni/fbjni.h>
12
+ #include "HybridUnzipSpec.hpp"
13
+
14
+
15
+
16
+
17
+ namespace margelo::nitro::unzip {
18
+
19
+ using namespace facebook;
20
+
21
+ class JHybridUnzipSpec: public jni::HybridClass<JHybridUnzipSpec, JHybridObject>,
22
+ public virtual HybridUnzipSpec {
23
+ public:
24
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/unzip/HybridUnzipSpec;";
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 JHybridUnzipSpec(jni::alias_ref<jhybridobject> jThis) :
31
+ HybridObject(HybridUnzipSpec::TAG),
32
+ HybridBase(jThis),
33
+ _javaPart(jni::make_global(jThis)) {}
34
+
35
+ public:
36
+ ~JHybridUnzipSpec() override {
37
+ // Hermes GC can destroy JS objects on a non-JNI Thread.
38
+ jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); });
39
+ }
40
+
41
+ public:
42
+ size_t getExternalMemorySize() noexcept override;
43
+ bool equals(const std::shared_ptr<HybridObject>& other) override;
44
+ void dispose() noexcept override;
45
+ std::string toString() override;
46
+
47
+ public:
48
+ inline const jni::global_ref<JHybridUnzipSpec::javaobject>& getJavaPart() const noexcept {
49
+ return _javaPart;
50
+ }
51
+
52
+ public:
53
+ // Properties
54
+
55
+
56
+ public:
57
+ // Methods
58
+ std::shared_ptr<HybridUnzipTaskSpec> extract(const std::string& zipPath, const std::string& destinationPath) override;
59
+ std::shared_ptr<HybridUnzipTaskSpec> extractWithPassword(const std::string& zipPath, const std::string& destinationPath, const std::string& password) override;
60
+ std::shared_ptr<HybridZipTaskSpec> zip(const std::string& sourcePath, const std::string& destinationZipPath) override;
61
+ std::shared_ptr<HybridZipTaskSpec> zipWithPassword(const std::string& sourcePath, const std::string& destinationZipPath, const std::string& password) override;
62
+
63
+ private:
64
+ friend HybridBase;
65
+ using HybridBase::HybridBase;
66
+ jni::global_ref<JHybridUnzipSpec::javaobject> _javaPart;
67
+ };
68
+
69
+ } // namespace margelo::nitro::unzip
@@ -0,0 +1,94 @@
1
+ ///
2
+ /// JHybridUnzipTaskSpec.cpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #include "JHybridUnzipTaskSpec.hpp"
9
+
10
+ // Forward declaration of `UnzipResult` to properly resolve imports.
11
+ namespace margelo::nitro::unzip { struct UnzipResult; }
12
+ // Forward declaration of `UnzipProgress` to properly resolve imports.
13
+ namespace margelo::nitro::unzip { struct UnzipProgress; }
14
+
15
+ #include <string>
16
+ #include "UnzipResult.hpp"
17
+ #include <NitroModules/Promise.hpp>
18
+ #include <NitroModules/JPromise.hpp>
19
+ #include "JUnzipResult.hpp"
20
+ #include "UnzipProgress.hpp"
21
+ #include <functional>
22
+ #include "JFunc_void_UnzipProgress.hpp"
23
+ #include <NitroModules/JNICallable.hpp>
24
+ #include "JUnzipProgress.hpp"
25
+
26
+ namespace margelo::nitro::unzip {
27
+
28
+ jni::local_ref<JHybridUnzipTaskSpec::jhybriddata> JHybridUnzipTaskSpec::initHybrid(jni::alias_ref<jhybridobject> jThis) {
29
+ return makeCxxInstance(jThis);
30
+ }
31
+
32
+ void JHybridUnzipTaskSpec::registerNatives() {
33
+ registerHybrid({
34
+ makeNativeMethod("initHybrid", JHybridUnzipTaskSpec::initHybrid),
35
+ });
36
+ }
37
+
38
+ size_t JHybridUnzipTaskSpec::getExternalMemorySize() noexcept {
39
+ static const auto method = javaClassStatic()->getMethod<jlong()>("getMemorySize");
40
+ return method(_javaPart);
41
+ }
42
+
43
+ bool JHybridUnzipTaskSpec::equals(const std::shared_ptr<HybridObject>& other) {
44
+ if (auto otherCast = std::dynamic_pointer_cast<JHybridUnzipTaskSpec>(other)) {
45
+ return _javaPart == otherCast->_javaPart;
46
+ }
47
+ return false;
48
+ }
49
+
50
+ void JHybridUnzipTaskSpec::dispose() noexcept {
51
+ static const auto method = javaClassStatic()->getMethod<void()>("dispose");
52
+ method(_javaPart);
53
+ }
54
+
55
+ std::string JHybridUnzipTaskSpec::toString() {
56
+ static const auto method = javaClassStatic()->getMethod<jni::JString()>("toString");
57
+ auto javaString = method(_javaPart);
58
+ return javaString->toStdString();
59
+ }
60
+
61
+ // Properties
62
+ std::string JHybridUnzipTaskSpec::getTaskId() {
63
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getTaskId");
64
+ auto __result = method(_javaPart);
65
+ return __result->toStdString();
66
+ }
67
+
68
+ // Methods
69
+ void JHybridUnzipTaskSpec::onProgress(const std::function<void(const UnzipProgress& /* progress */)>& callback) {
70
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_UnzipProgress::javaobject> /* callback */)>("onProgress_cxx");
71
+ method(_javaPart, JFunc_void_UnzipProgress_cxx::fromCpp(callback));
72
+ }
73
+ void JHybridUnzipTaskSpec::cancel() {
74
+ static const auto method = javaClassStatic()->getMethod<void()>("cancel");
75
+ method(_javaPart);
76
+ }
77
+ std::shared_ptr<Promise<UnzipResult>> JHybridUnzipTaskSpec::await() {
78
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("await");
79
+ auto __result = method(_javaPart);
80
+ return [&]() {
81
+ auto __promise = Promise<UnzipResult>::create();
82
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
83
+ auto __result = jni::static_ref_cast<JUnzipResult>(__boxedResult);
84
+ __promise->resolve(__result->toCpp());
85
+ });
86
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
87
+ jni::JniException __jniError(__throwable);
88
+ __promise->reject(std::make_exception_ptr(__jniError));
89
+ });
90
+ return __promise;
91
+ }();
92
+ }
93
+
94
+ } // namespace margelo::nitro::unzip
@@ -0,0 +1,68 @@
1
+ ///
2
+ /// HybridUnzipTaskSpec.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <NitroModules/JHybridObject.hpp>
11
+ #include <fbjni/fbjni.h>
12
+ #include "HybridUnzipTaskSpec.hpp"
13
+
14
+
15
+
16
+
17
+ namespace margelo::nitro::unzip {
18
+
19
+ using namespace facebook;
20
+
21
+ class JHybridUnzipTaskSpec: public jni::HybridClass<JHybridUnzipTaskSpec, JHybridObject>,
22
+ public virtual HybridUnzipTaskSpec {
23
+ public:
24
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/unzip/HybridUnzipTaskSpec;";
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 JHybridUnzipTaskSpec(jni::alias_ref<jhybridobject> jThis) :
31
+ HybridObject(HybridUnzipTaskSpec::TAG),
32
+ HybridBase(jThis),
33
+ _javaPart(jni::make_global(jThis)) {}
34
+
35
+ public:
36
+ ~JHybridUnzipTaskSpec() override {
37
+ // Hermes GC can destroy JS objects on a non-JNI Thread.
38
+ jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); });
39
+ }
40
+
41
+ public:
42
+ size_t getExternalMemorySize() noexcept override;
43
+ bool equals(const std::shared_ptr<HybridObject>& other) override;
44
+ void dispose() noexcept override;
45
+ std::string toString() override;
46
+
47
+ public:
48
+ inline const jni::global_ref<JHybridUnzipTaskSpec::javaobject>& getJavaPart() const noexcept {
49
+ return _javaPart;
50
+ }
51
+
52
+ public:
53
+ // Properties
54
+ std::string getTaskId() override;
55
+
56
+ public:
57
+ // Methods
58
+ void onProgress(const std::function<void(const UnzipProgress& /* progress */)>& callback) override;
59
+ void cancel() override;
60
+ std::shared_ptr<Promise<UnzipResult>> await() override;
61
+
62
+ private:
63
+ friend HybridBase;
64
+ using HybridBase::HybridBase;
65
+ jni::global_ref<JHybridUnzipTaskSpec::javaobject> _javaPart;
66
+ };
67
+
68
+ } // namespace margelo::nitro::unzip
@@ -0,0 +1,94 @@
1
+ ///
2
+ /// JHybridZipTaskSpec.cpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #include "JHybridZipTaskSpec.hpp"
9
+
10
+ // Forward declaration of `ZipResult` to properly resolve imports.
11
+ namespace margelo::nitro::unzip { struct ZipResult; }
12
+ // Forward declaration of `ZipProgress` to properly resolve imports.
13
+ namespace margelo::nitro::unzip { struct ZipProgress; }
14
+
15
+ #include <string>
16
+ #include "ZipResult.hpp"
17
+ #include <NitroModules/Promise.hpp>
18
+ #include <NitroModules/JPromise.hpp>
19
+ #include "JZipResult.hpp"
20
+ #include "ZipProgress.hpp"
21
+ #include <functional>
22
+ #include "JFunc_void_ZipProgress.hpp"
23
+ #include <NitroModules/JNICallable.hpp>
24
+ #include "JZipProgress.hpp"
25
+
26
+ namespace margelo::nitro::unzip {
27
+
28
+ jni::local_ref<JHybridZipTaskSpec::jhybriddata> JHybridZipTaskSpec::initHybrid(jni::alias_ref<jhybridobject> jThis) {
29
+ return makeCxxInstance(jThis);
30
+ }
31
+
32
+ void JHybridZipTaskSpec::registerNatives() {
33
+ registerHybrid({
34
+ makeNativeMethod("initHybrid", JHybridZipTaskSpec::initHybrid),
35
+ });
36
+ }
37
+
38
+ size_t JHybridZipTaskSpec::getExternalMemorySize() noexcept {
39
+ static const auto method = javaClassStatic()->getMethod<jlong()>("getMemorySize");
40
+ return method(_javaPart);
41
+ }
42
+
43
+ bool JHybridZipTaskSpec::equals(const std::shared_ptr<HybridObject>& other) {
44
+ if (auto otherCast = std::dynamic_pointer_cast<JHybridZipTaskSpec>(other)) {
45
+ return _javaPart == otherCast->_javaPart;
46
+ }
47
+ return false;
48
+ }
49
+
50
+ void JHybridZipTaskSpec::dispose() noexcept {
51
+ static const auto method = javaClassStatic()->getMethod<void()>("dispose");
52
+ method(_javaPart);
53
+ }
54
+
55
+ std::string JHybridZipTaskSpec::toString() {
56
+ static const auto method = javaClassStatic()->getMethod<jni::JString()>("toString");
57
+ auto javaString = method(_javaPart);
58
+ return javaString->toStdString();
59
+ }
60
+
61
+ // Properties
62
+ std::string JHybridZipTaskSpec::getTaskId() {
63
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getTaskId");
64
+ auto __result = method(_javaPart);
65
+ return __result->toStdString();
66
+ }
67
+
68
+ // Methods
69
+ void JHybridZipTaskSpec::onProgress(const std::function<void(const ZipProgress& /* progress */)>& callback) {
70
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_ZipProgress::javaobject> /* callback */)>("onProgress_cxx");
71
+ method(_javaPart, JFunc_void_ZipProgress_cxx::fromCpp(callback));
72
+ }
73
+ void JHybridZipTaskSpec::cancel() {
74
+ static const auto method = javaClassStatic()->getMethod<void()>("cancel");
75
+ method(_javaPart);
76
+ }
77
+ std::shared_ptr<Promise<ZipResult>> JHybridZipTaskSpec::await() {
78
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("await");
79
+ auto __result = method(_javaPart);
80
+ return [&]() {
81
+ auto __promise = Promise<ZipResult>::create();
82
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
83
+ auto __result = jni::static_ref_cast<JZipResult>(__boxedResult);
84
+ __promise->resolve(__result->toCpp());
85
+ });
86
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
87
+ jni::JniException __jniError(__throwable);
88
+ __promise->reject(std::make_exception_ptr(__jniError));
89
+ });
90
+ return __promise;
91
+ }();
92
+ }
93
+
94
+ } // namespace margelo::nitro::unzip
@@ -0,0 +1,68 @@
1
+ ///
2
+ /// HybridZipTaskSpec.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <NitroModules/JHybridObject.hpp>
11
+ #include <fbjni/fbjni.h>
12
+ #include "HybridZipTaskSpec.hpp"
13
+
14
+
15
+
16
+
17
+ namespace margelo::nitro::unzip {
18
+
19
+ using namespace facebook;
20
+
21
+ class JHybridZipTaskSpec: public jni::HybridClass<JHybridZipTaskSpec, JHybridObject>,
22
+ public virtual HybridZipTaskSpec {
23
+ public:
24
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/unzip/HybridZipTaskSpec;";
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 JHybridZipTaskSpec(jni::alias_ref<jhybridobject> jThis) :
31
+ HybridObject(HybridZipTaskSpec::TAG),
32
+ HybridBase(jThis),
33
+ _javaPart(jni::make_global(jThis)) {}
34
+
35
+ public:
36
+ ~JHybridZipTaskSpec() override {
37
+ // Hermes GC can destroy JS objects on a non-JNI Thread.
38
+ jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); });
39
+ }
40
+
41
+ public:
42
+ size_t getExternalMemorySize() noexcept override;
43
+ bool equals(const std::shared_ptr<HybridObject>& other) override;
44
+ void dispose() noexcept override;
45
+ std::string toString() override;
46
+
47
+ public:
48
+ inline const jni::global_ref<JHybridZipTaskSpec::javaobject>& getJavaPart() const noexcept {
49
+ return _javaPart;
50
+ }
51
+
52
+ public:
53
+ // Properties
54
+ std::string getTaskId() override;
55
+
56
+ public:
57
+ // Methods
58
+ void onProgress(const std::function<void(const ZipProgress& /* progress */)>& callback) override;
59
+ void cancel() override;
60
+ std::shared_ptr<Promise<ZipResult>> await() override;
61
+
62
+ private:
63
+ friend HybridBase;
64
+ using HybridBase::HybridBase;
65
+ jni::global_ref<JHybridZipTaskSpec::javaobject> _javaPart;
66
+ };
67
+
68
+ } // namespace margelo::nitro::unzip
@@ -0,0 +1,73 @@
1
+ ///
2
+ /// JUnzipProgress.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "UnzipProgress.hpp"
12
+
13
+
14
+
15
+ namespace margelo::nitro::unzip {
16
+
17
+ using namespace facebook;
18
+
19
+ /**
20
+ * The C++ JNI bridge between the C++ struct "UnzipProgress" and the the Kotlin data class "UnzipProgress".
21
+ */
22
+ struct JUnzipProgress final: public jni::JavaClass<JUnzipProgress> {
23
+ public:
24
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/unzip/UnzipProgress;";
25
+
26
+ public:
27
+ /**
28
+ * Convert this Java/Kotlin-based struct to the C++ struct UnzipProgress by copying all values to C++.
29
+ */
30
+ [[maybe_unused]]
31
+ [[nodiscard]]
32
+ UnzipProgress toCpp() const {
33
+ static const auto clazz = javaClassStatic();
34
+ static const auto fieldExtractedFiles = clazz->getField<double>("extractedFiles");
35
+ double extractedFiles = this->getFieldValue(fieldExtractedFiles);
36
+ static const auto fieldTotalFiles = clazz->getField<double>("totalFiles");
37
+ double totalFiles = this->getFieldValue(fieldTotalFiles);
38
+ static const auto fieldProgress = clazz->getField<double>("progress");
39
+ double progress = this->getFieldValue(fieldProgress);
40
+ static const auto fieldSpeed = clazz->getField<double>("speed");
41
+ double speed = this->getFieldValue(fieldSpeed);
42
+ static const auto fieldProcessedBytes = clazz->getField<double>("processedBytes");
43
+ double processedBytes = this->getFieldValue(fieldProcessedBytes);
44
+ return UnzipProgress(
45
+ extractedFiles,
46
+ totalFiles,
47
+ progress,
48
+ speed,
49
+ processedBytes
50
+ );
51
+ }
52
+
53
+ public:
54
+ /**
55
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
56
+ */
57
+ [[maybe_unused]]
58
+ static jni::local_ref<JUnzipProgress::javaobject> fromCpp(const UnzipProgress& value) {
59
+ using JSignature = JUnzipProgress(double, double, double, double, double);
60
+ static const auto clazz = javaClassStatic();
61
+ static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
62
+ return create(
63
+ clazz,
64
+ value.extractedFiles,
65
+ value.totalFiles,
66
+ value.progress,
67
+ value.speed,
68
+ value.processedBytes
69
+ );
70
+ }
71
+ };
72
+
73
+ } // namespace margelo::nitro::unzip
@@ -0,0 +1,73 @@
1
+ ///
2
+ /// JUnzipResult.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "UnzipResult.hpp"
12
+
13
+
14
+
15
+ namespace margelo::nitro::unzip {
16
+
17
+ using namespace facebook;
18
+
19
+ /**
20
+ * The C++ JNI bridge between the C++ struct "UnzipResult" and the the Kotlin data class "UnzipResult".
21
+ */
22
+ struct JUnzipResult final: public jni::JavaClass<JUnzipResult> {
23
+ public:
24
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/unzip/UnzipResult;";
25
+
26
+ public:
27
+ /**
28
+ * Convert this Java/Kotlin-based struct to the C++ struct UnzipResult by copying all values to C++.
29
+ */
30
+ [[maybe_unused]]
31
+ [[nodiscard]]
32
+ UnzipResult toCpp() const {
33
+ static const auto clazz = javaClassStatic();
34
+ static const auto fieldSuccess = clazz->getField<jboolean>("success");
35
+ jboolean success = this->getFieldValue(fieldSuccess);
36
+ static const auto fieldExtractedFiles = clazz->getField<double>("extractedFiles");
37
+ double extractedFiles = this->getFieldValue(fieldExtractedFiles);
38
+ static const auto fieldDuration = clazz->getField<double>("duration");
39
+ double duration = this->getFieldValue(fieldDuration);
40
+ static const auto fieldAverageSpeed = clazz->getField<double>("averageSpeed");
41
+ double averageSpeed = this->getFieldValue(fieldAverageSpeed);
42
+ static const auto fieldTotalBytes = clazz->getField<double>("totalBytes");
43
+ double totalBytes = this->getFieldValue(fieldTotalBytes);
44
+ return UnzipResult(
45
+ static_cast<bool>(success),
46
+ extractedFiles,
47
+ duration,
48
+ averageSpeed,
49
+ totalBytes
50
+ );
51
+ }
52
+
53
+ public:
54
+ /**
55
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
56
+ */
57
+ [[maybe_unused]]
58
+ static jni::local_ref<JUnzipResult::javaobject> fromCpp(const UnzipResult& value) {
59
+ using JSignature = JUnzipResult(jboolean, double, double, double, double);
60
+ static const auto clazz = javaClassStatic();
61
+ static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
62
+ return create(
63
+ clazz,
64
+ value.success,
65
+ value.extractedFiles,
66
+ value.duration,
67
+ value.averageSpeed,
68
+ value.totalBytes
69
+ );
70
+ }
71
+ };
72
+
73
+ } // namespace margelo::nitro::unzip
@@ -0,0 +1,69 @@
1
+ ///
2
+ /// JZipProgress.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "ZipProgress.hpp"
12
+
13
+
14
+
15
+ namespace margelo::nitro::unzip {
16
+
17
+ using namespace facebook;
18
+
19
+ /**
20
+ * The C++ JNI bridge between the C++ struct "ZipProgress" and the the Kotlin data class "ZipProgress".
21
+ */
22
+ struct JZipProgress final: public jni::JavaClass<JZipProgress> {
23
+ public:
24
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/unzip/ZipProgress;";
25
+
26
+ public:
27
+ /**
28
+ * Convert this Java/Kotlin-based struct to the C++ struct ZipProgress by copying all values to C++.
29
+ */
30
+ [[maybe_unused]]
31
+ [[nodiscard]]
32
+ ZipProgress toCpp() const {
33
+ static const auto clazz = javaClassStatic();
34
+ static const auto fieldCompressedFiles = clazz->getField<double>("compressedFiles");
35
+ double compressedFiles = this->getFieldValue(fieldCompressedFiles);
36
+ static const auto fieldTotalFiles = clazz->getField<double>("totalFiles");
37
+ double totalFiles = this->getFieldValue(fieldTotalFiles);
38
+ static const auto fieldProgress = clazz->getField<double>("progress");
39
+ double progress = this->getFieldValue(fieldProgress);
40
+ static const auto fieldSpeed = clazz->getField<double>("speed");
41
+ double speed = this->getFieldValue(fieldSpeed);
42
+ return ZipProgress(
43
+ compressedFiles,
44
+ totalFiles,
45
+ progress,
46
+ speed
47
+ );
48
+ }
49
+
50
+ public:
51
+ /**
52
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
53
+ */
54
+ [[maybe_unused]]
55
+ static jni::local_ref<JZipProgress::javaobject> fromCpp(const ZipProgress& value) {
56
+ using JSignature = JZipProgress(double, double, double, double);
57
+ static const auto clazz = javaClassStatic();
58
+ static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
59
+ return create(
60
+ clazz,
61
+ value.compressedFiles,
62
+ value.totalFiles,
63
+ value.progress,
64
+ value.speed
65
+ );
66
+ }
67
+ };
68
+
69
+ } // namespace margelo::nitro::unzip
@@ -0,0 +1,73 @@
1
+ ///
2
+ /// JZipResult.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "ZipResult.hpp"
12
+
13
+
14
+
15
+ namespace margelo::nitro::unzip {
16
+
17
+ using namespace facebook;
18
+
19
+ /**
20
+ * The C++ JNI bridge between the C++ struct "ZipResult" and the the Kotlin data class "ZipResult".
21
+ */
22
+ struct JZipResult final: public jni::JavaClass<JZipResult> {
23
+ public:
24
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/unzip/ZipResult;";
25
+
26
+ public:
27
+ /**
28
+ * Convert this Java/Kotlin-based struct to the C++ struct ZipResult by copying all values to C++.
29
+ */
30
+ [[maybe_unused]]
31
+ [[nodiscard]]
32
+ ZipResult toCpp() const {
33
+ static const auto clazz = javaClassStatic();
34
+ static const auto fieldSuccess = clazz->getField<jboolean>("success");
35
+ jboolean success = this->getFieldValue(fieldSuccess);
36
+ static const auto fieldCompressedFiles = clazz->getField<double>("compressedFiles");
37
+ double compressedFiles = this->getFieldValue(fieldCompressedFiles);
38
+ static const auto fieldDuration = clazz->getField<double>("duration");
39
+ double duration = this->getFieldValue(fieldDuration);
40
+ static const auto fieldAverageSpeed = clazz->getField<double>("averageSpeed");
41
+ double averageSpeed = this->getFieldValue(fieldAverageSpeed);
42
+ static const auto fieldTotalBytes = clazz->getField<double>("totalBytes");
43
+ double totalBytes = this->getFieldValue(fieldTotalBytes);
44
+ return ZipResult(
45
+ static_cast<bool>(success),
46
+ compressedFiles,
47
+ duration,
48
+ averageSpeed,
49
+ totalBytes
50
+ );
51
+ }
52
+
53
+ public:
54
+ /**
55
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
56
+ */
57
+ [[maybe_unused]]
58
+ static jni::local_ref<JZipResult::javaobject> fromCpp(const ZipResult& value) {
59
+ using JSignature = JZipResult(jboolean, double, double, double, double);
60
+ static const auto clazz = javaClassStatic();
61
+ static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
62
+ return create(
63
+ clazz,
64
+ value.success,
65
+ value.compressedFiles,
66
+ value.duration,
67
+ value.averageSpeed,
68
+ value.totalBytes
69
+ );
70
+ }
71
+ };
72
+
73
+ } // namespace margelo::nitro::unzip