-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathJHybridRiveImageFactorySpec.cpp
More file actions
104 lines (91 loc) · 4.72 KB
/
JHybridRiveImageFactorySpec.cpp
File metadata and controls
104 lines (91 loc) · 4.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
///
/// JHybridRiveImageFactorySpec.cpp
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
/// https://github.com/mrousavy/nitro
/// Copyright © 2026 Marc Rousavy @ Margelo
///
#include "JHybridRiveImageFactorySpec.hpp"
// Forward declaration of `HybridRiveImageSpec` to properly resolve imports.
namespace margelo::nitro::rive { class HybridRiveImageSpec; }
#include <memory>
#include "HybridRiveImageSpec.hpp"
#include <NitroModules/Promise.hpp>
#include <NitroModules/JPromise.hpp>
#include "JHybridRiveImageSpec.hpp"
#include <string>
#include <NitroModules/ArrayBuffer.hpp>
#include <NitroModules/JArrayBuffer.hpp>
#include <NitroModules/JUnit.hpp>
namespace margelo::nitro::rive {
jni::local_ref<JHybridRiveImageFactorySpec::jhybriddata> JHybridRiveImageFactorySpec::initHybrid(jni::alias_ref<jhybridobject> jThis) {
return makeCxxInstance(jThis);
}
void JHybridRiveImageFactorySpec::registerNatives() {
registerHybrid({
makeNativeMethod("initHybrid", JHybridRiveImageFactorySpec::initHybrid),
});
}
size_t JHybridRiveImageFactorySpec::getExternalMemorySize() noexcept {
static const auto method = javaClassStatic()->getMethod<jlong()>("getMemorySize");
return method(_javaPart);
}
void JHybridRiveImageFactorySpec::dispose() noexcept {
static const auto method = javaClassStatic()->getMethod<void()>("dispose");
method(_javaPart);
}
std::string JHybridRiveImageFactorySpec::toString() {
static const auto method = javaClassStatic()->getMethod<jni::JString()>("toString");
auto javaString = method(_javaPart);
return javaString->toStdString();
}
// Properties
// Methods
std::shared_ptr<Promise<std::shared_ptr<HybridRiveImageSpec>>> JHybridRiveImageFactorySpec::loadFromURLAsync(const std::string& url) {
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* url */)>("loadFromURLAsync");
auto __result = method(_javaPart, jni::make_jstring(url));
return [&]() {
auto __promise = Promise<std::shared_ptr<HybridRiveImageSpec>>::create();
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
auto __result = jni::static_ref_cast<JHybridRiveImageSpec::javaobject>(__boxedResult);
__promise->resolve(__result->cthis()->shared_cast<JHybridRiveImageSpec>());
});
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
jni::JniException __jniError(__throwable);
__promise->reject(std::make_exception_ptr(__jniError));
});
return __promise;
}();
}
std::shared_ptr<Promise<std::shared_ptr<HybridRiveImageSpec>>> JHybridRiveImageFactorySpec::loadFromResourceAsync(const std::string& resource) {
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* resource */)>("loadFromResourceAsync");
auto __result = method(_javaPart, jni::make_jstring(resource));
return [&]() {
auto __promise = Promise<std::shared_ptr<HybridRiveImageSpec>>::create();
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
auto __result = jni::static_ref_cast<JHybridRiveImageSpec::javaobject>(__boxedResult);
__promise->resolve(__result->cthis()->shared_cast<JHybridRiveImageSpec>());
});
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
jni::JniException __jniError(__throwable);
__promise->reject(std::make_exception_ptr(__jniError));
});
return __promise;
}();
}
std::shared_ptr<Promise<std::shared_ptr<HybridRiveImageSpec>>> JHybridRiveImageFactorySpec::loadFromBytesAsync(const std::shared_ptr<ArrayBuffer>& bytes) {
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JArrayBuffer::javaobject> /* bytes */)>("loadFromBytesAsync");
auto __result = method(_javaPart, JArrayBuffer::wrap(bytes));
return [&]() {
auto __promise = Promise<std::shared_ptr<HybridRiveImageSpec>>::create();
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
auto __result = jni::static_ref_cast<JHybridRiveImageSpec::javaobject>(__boxedResult);
__promise->resolve(__result->cthis()->shared_cast<JHybridRiveImageSpec>());
});
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
jni::JniException __jniError(__throwable);
__promise->reject(std::make_exception_ptr(__jniError));
});
return __promise;
}();
}
} // namespace margelo::nitro::rive