react-native-nitro-net 0.4.1 → 0.4.3
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.
- package/android/libs/arm64-v8a/librust_c_net.so +0 -0
- package/android/libs/armeabi-v7a/librust_c_net.so +0 -0
- package/android/libs/x86/librust_c_net.so +0 -0
- package/android/libs/x86_64/librust_c_net.so +0 -0
- package/cpp/HybridHttpParser.hpp +44 -16
- package/cpp/NetBindings.hpp +192 -96
- package/cpp/NetManager.hpp +16 -10
- package/ios/Frameworks/RustCNet.xcframework/Info.plist +5 -5
- package/ios/Frameworks/RustCNet.xcframework/ios-arm64/RustCNet.framework/RustCNet +0 -0
- package/ios/Frameworks/RustCNet.xcframework/ios-arm64_x86_64-simulator/RustCNet.framework/RustCNet +0 -0
- package/lib/Logger.d.ts +16 -0
- package/lib/Logger.d.ts.map +1 -0
- package/lib/Logger.js +28 -0
- package/lib/Net.nitro.d.ts +6 -2
- package/lib/Net.nitro.d.ts.map +1 -1
- package/lib/http.d.ts.map +1 -1
- package/lib/http.js +38 -23
- package/lib/net.d.ts +1 -2
- package/lib/net.d.ts.map +1 -1
- package/lib/net.js +22 -22
- package/lib/tls.d.ts.map +1 -1
- package/lib/tls.js +3 -5
- package/nitrogen/generated/android/RustCNet+autolinking.cmake +1 -1
- package/nitrogen/generated/android/RustCNet+autolinking.gradle +1 -1
- package/nitrogen/generated/android/RustCNetOnLoad.cpp +27 -22
- package/nitrogen/generated/android/RustCNetOnLoad.hpp +14 -5
- package/nitrogen/generated/android/c++/JFunc_void_double_std__shared_ptr_ArrayBuffer_.hpp +1 -1
- package/nitrogen/generated/android/c++/JHttpParsedMessage.hpp +64 -0
- package/nitrogen/generated/android/c++/JHybridHttpParserSpec.cpp +28 -23
- package/nitrogen/generated/android/c++/JHybridHttpParserSpec.hpp +21 -23
- package/nitrogen/generated/android/c++/JHybridNetDriverSpec.cpp +35 -34
- package/nitrogen/generated/android/c++/JHybridNetDriverSpec.hpp +20 -22
- package/nitrogen/generated/android/c++/JHybridNetServerDriverSpec.cpp +31 -30
- package/nitrogen/generated/android/c++/JHybridNetServerDriverSpec.hpp +20 -22
- package/nitrogen/generated/android/c++/JHybridNetSocketDriverSpec.cpp +53 -52
- package/nitrogen/generated/android/c++/JHybridNetSocketDriverSpec.hpp +20 -22
- package/nitrogen/generated/android/c++/JNetConfig.hpp +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/net/Func_void_double_std__shared_ptr_ArrayBuffer_.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/net/HttpParsedMessage.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/net/HybridHttpParserSpec.kt +15 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/net/HybridNetDriverSpec.kt +16 -19
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/net/HybridNetServerDriverSpec.kt +16 -19
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/net/HybridNetSocketDriverSpec.kt +16 -19
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/net/NetConfig.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/net/RustCNetOnLoad.kt +1 -1
- package/nitrogen/generated/ios/RustCNet+autolinking.rb +1 -1
- package/nitrogen/generated/ios/RustCNet-Swift-Cxx-Bridge.cpp +1 -1
- package/nitrogen/generated/ios/RustCNet-Swift-Cxx-Bridge.hpp +17 -5
- package/nitrogen/generated/ios/RustCNet-Swift-Cxx-Umbrella.hpp +4 -1
- package/nitrogen/generated/ios/RustCNetAutolinking.mm +1 -1
- package/nitrogen/generated/ios/RustCNetAutolinking.swift +5 -1
- package/nitrogen/generated/ios/c++/HybridHttpParserSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridHttpParserSpecSwift.hpp +12 -2
- package/nitrogen/generated/ios/c++/HybridNetDriverSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridNetDriverSpecSwift.hpp +7 -1
- package/nitrogen/generated/ios/c++/HybridNetServerDriverSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridNetServerDriverSpecSwift.hpp +7 -1
- package/nitrogen/generated/ios/c++/HybridNetSocketDriverSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridNetSocketDriverSpecSwift.hpp +7 -1
- package/nitrogen/generated/ios/swift/Func_void_double_std__shared_ptr_ArrayBuffer_.swift +1 -2
- package/nitrogen/generated/ios/swift/HttpParsedMessage.swift +47 -0
- package/nitrogen/generated/ios/swift/HybridHttpParserSpec.swift +4 -5
- package/nitrogen/generated/ios/swift/HybridHttpParserSpec_cxx.swift +13 -6
- package/nitrogen/generated/ios/swift/HybridNetDriverSpec.swift +3 -4
- package/nitrogen/generated/ios/swift/HybridNetDriverSpec_cxx.swift +9 -2
- package/nitrogen/generated/ios/swift/HybridNetServerDriverSpec.swift +3 -4
- package/nitrogen/generated/ios/swift/HybridNetServerDriverSpec_cxx.swift +49 -7
- package/nitrogen/generated/ios/swift/HybridNetSocketDriverSpec.swift +3 -4
- package/nitrogen/generated/ios/swift/HybridNetSocketDriverSpec_cxx.swift +25 -4
- package/nitrogen/generated/ios/swift/NetConfig.swift +9 -3
- package/nitrogen/generated/shared/c++/HttpParsedMessage.hpp +89 -0
- package/nitrogen/generated/shared/c++/HybridHttpParserSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridHttpParserSpec.hpp +5 -4
- package/nitrogen/generated/shared/c++/HybridNetDriverSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridNetDriverSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridNetServerDriverSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridNetServerDriverSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridNetSocketDriverSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridNetSocketDriverSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridNitroBufferSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridNitroBufferSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/NetConfig.hpp +1 -1
- package/package.json +4 -5
- package/src/Logger.ts +31 -0
- package/src/Net.nitro.ts +6 -2
- package/src/http.ts +42 -25
- package/src/net.ts +23 -22
- package/src/tls.ts +3 -5
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// HybridHttpParserSpec.hpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#pragma once
|
|
@@ -18,33 +18,33 @@ namespace margelo::nitro::net {
|
|
|
18
18
|
|
|
19
19
|
using namespace facebook;
|
|
20
20
|
|
|
21
|
-
class JHybridHttpParserSpec: public
|
|
22
|
-
public virtual HybridHttpParserSpec {
|
|
21
|
+
class JHybridHttpParserSpec: public virtual HybridHttpParserSpec, public virtual JHybridObject {
|
|
23
22
|
public:
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
HybridBase
|
|
33
|
-
|
|
23
|
+
struct JavaPart: public jni::JavaClass<JavaPart, JHybridObject::JavaPart> {
|
|
24
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/net/HybridHttpParserSpec;";
|
|
25
|
+
std::shared_ptr<JHybridHttpParserSpec> getJHybridHttpParserSpec();
|
|
26
|
+
};
|
|
27
|
+
struct CxxPart: public jni::HybridClass<CxxPart, JHybridObject::CxxPart> {
|
|
28
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/net/HybridHttpParserSpec$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 JHybridHttpParserSpec(const jni::local_ref<JHybridHttpParserSpec::JavaPart>& javaPart):
|
|
38
|
+
HybridObject(HybridHttpParserSpec::TAG),
|
|
39
|
+
JHybridObject(javaPart),
|
|
40
|
+
_javaPart(jni::make_global(javaPart)) {}
|
|
36
41
|
~JHybridHttpParserSpec() 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
|
-
|
|
43
|
-
void dispose() noexcept override;
|
|
44
|
-
std::string toString() override;
|
|
45
|
-
|
|
46
|
-
public:
|
|
47
|
-
inline const jni::global_ref<JHybridHttpParserSpec::javaobject>& getJavaPart() const noexcept {
|
|
47
|
+
inline const jni::global_ref<JHybridHttpParserSpec::JavaPart>& getJavaPart() const noexcept {
|
|
48
48
|
return _javaPart;
|
|
49
49
|
}
|
|
50
50
|
|
|
@@ -54,12 +54,10 @@ namespace margelo::nitro::net {
|
|
|
54
54
|
|
|
55
55
|
public:
|
|
56
56
|
// Methods
|
|
57
|
-
|
|
57
|
+
HttpParsedMessage feed(const std::shared_ptr<ArrayBuffer>& data) override;
|
|
58
58
|
|
|
59
59
|
private:
|
|
60
|
-
|
|
61
|
-
using HybridBase::HybridBase;
|
|
62
|
-
jni::global_ref<JHybridHttpParserSpec::javaobject> _javaPart;
|
|
60
|
+
jni::global_ref<JHybridHttpParserSpec::JavaPart> _javaPart;
|
|
63
61
|
};
|
|
64
62
|
|
|
65
63
|
} // namespace margelo::nitro::net
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// JHybridNetDriverSpec.cpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#include "JHybridNetDriverSpec.hpp"
|
|
@@ -32,30 +32,31 @@ namespace margelo::nitro::net { struct NetConfig; }
|
|
|
32
32
|
|
|
33
33
|
namespace margelo::nitro::net {
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
});
|
|
35
|
+
std::shared_ptr<JHybridNetDriverSpec> JHybridNetDriverSpec::JavaPart::getJHybridNetDriverSpec() {
|
|
36
|
+
auto hybridObject = JHybridObject::JavaPart::getJHybridObject();
|
|
37
|
+
auto castHybridObject = std::dynamic_pointer_cast<JHybridNetDriverSpec>(hybridObject);
|
|
38
|
+
if (castHybridObject == nullptr) [[unlikely]] {
|
|
39
|
+
throw std::runtime_error("Failed to downcast JHybridObject to JHybridNetDriverSpec!");
|
|
40
|
+
}
|
|
41
|
+
return castHybridObject;
|
|
43
42
|
}
|
|
44
43
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
return method(_javaPart);
|
|
44
|
+
jni::local_ref<JHybridNetDriverSpec::CxxPart::jhybriddata> JHybridNetDriverSpec::CxxPart::initHybrid(jni::alias_ref<jhybridobject> jThis) {
|
|
45
|
+
return makeCxxInstance(jThis);
|
|
48
46
|
}
|
|
49
47
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
48
|
+
std::shared_ptr<JHybridObject> JHybridNetDriverSpec::CxxPart::createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) {
|
|
49
|
+
auto castJavaPart = jni::dynamic_ref_cast<JHybridNetDriverSpec::JavaPart>(javaPart);
|
|
50
|
+
if (castJavaPart == nullptr) [[unlikely]] {
|
|
51
|
+
throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridNetDriverSpec::JavaPart!");
|
|
52
|
+
}
|
|
53
|
+
return std::make_shared<JHybridNetDriverSpec>(castJavaPart);
|
|
53
54
|
}
|
|
54
55
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
void JHybridNetDriverSpec::CxxPart::registerNatives() {
|
|
57
|
+
registerHybrid({
|
|
58
|
+
makeNativeMethod("initHybrid", JHybridNetDriverSpec::CxxPart::initHybrid),
|
|
59
|
+
});
|
|
59
60
|
}
|
|
60
61
|
|
|
61
62
|
// Properties
|
|
@@ -63,57 +64,57 @@ namespace margelo::nitro::net {
|
|
|
63
64
|
|
|
64
65
|
// Methods
|
|
65
66
|
std::shared_ptr<HybridNetSocketDriverSpec> JHybridNetDriverSpec::createSocket(const std::optional<std::string>& id) {
|
|
66
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JHybridNetSocketDriverSpec::
|
|
67
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JHybridNetSocketDriverSpec::JavaPart>(jni::alias_ref<jni::JString> /* id */)>("createSocket");
|
|
67
68
|
auto __result = method(_javaPart, id.has_value() ? jni::make_jstring(id.value()) : nullptr);
|
|
68
|
-
return __result->
|
|
69
|
+
return __result->getJHybridNetSocketDriverSpec();
|
|
69
70
|
}
|
|
70
71
|
std::shared_ptr<HybridNetServerDriverSpec> JHybridNetDriverSpec::createServer() {
|
|
71
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JHybridNetServerDriverSpec::
|
|
72
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JHybridNetServerDriverSpec::JavaPart>()>("createServer");
|
|
72
73
|
auto __result = method(_javaPart);
|
|
73
|
-
return __result->
|
|
74
|
+
return __result->getJHybridNetServerDriverSpec();
|
|
74
75
|
}
|
|
75
76
|
std::shared_ptr<HybridHttpParserSpec> JHybridNetDriverSpec::createHttpParser(double mode) {
|
|
76
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JHybridHttpParserSpec::
|
|
77
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JHybridHttpParserSpec::JavaPart>(double /* mode */)>("createHttpParser");
|
|
77
78
|
auto __result = method(_javaPart, mode);
|
|
78
|
-
return __result->
|
|
79
|
+
return __result->getJHybridHttpParserSpec();
|
|
79
80
|
}
|
|
80
81
|
double JHybridNetDriverSpec::createSecureContext(const std::string& cert, const std::string& key, const std::optional<std::string>& passphrase) {
|
|
81
|
-
static const auto method = javaClassStatic()->getMethod<double(jni::alias_ref<jni::JString> /* cert */, jni::alias_ref<jni::JString> /* key */, jni::alias_ref<jni::JString> /* passphrase */)>("createSecureContext");
|
|
82
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<double(jni::alias_ref<jni::JString> /* cert */, jni::alias_ref<jni::JString> /* key */, jni::alias_ref<jni::JString> /* passphrase */)>("createSecureContext");
|
|
82
83
|
auto __result = method(_javaPart, jni::make_jstring(cert), jni::make_jstring(key), passphrase.has_value() ? jni::make_jstring(passphrase.value()) : nullptr);
|
|
83
84
|
return __result;
|
|
84
85
|
}
|
|
85
86
|
double JHybridNetDriverSpec::createEmptySecureContext() {
|
|
86
|
-
static const auto method = javaClassStatic()->getMethod<double()>("createEmptySecureContext");
|
|
87
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<double()>("createEmptySecureContext");
|
|
87
88
|
auto __result = method(_javaPart);
|
|
88
89
|
return __result;
|
|
89
90
|
}
|
|
90
91
|
void JHybridNetDriverSpec::addCACertToSecureContext(double scId, const std::string& ca) {
|
|
91
|
-
static const auto method = javaClassStatic()->getMethod<void(double /* scId */, jni::alias_ref<jni::JString> /* ca */)>("addCACertToSecureContext");
|
|
92
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(double /* scId */, jni::alias_ref<jni::JString> /* ca */)>("addCACertToSecureContext");
|
|
92
93
|
method(_javaPart, scId, jni::make_jstring(ca));
|
|
93
94
|
}
|
|
94
95
|
void JHybridNetDriverSpec::addContextToSecureContext(double scId, const std::string& hostname, const std::string& cert, const std::string& key, const std::optional<std::string>& passphrase) {
|
|
95
|
-
static const auto method = javaClassStatic()->getMethod<void(double /* scId */, jni::alias_ref<jni::JString> /* hostname */, jni::alias_ref<jni::JString> /* cert */, jni::alias_ref<jni::JString> /* key */, jni::alias_ref<jni::JString> /* passphrase */)>("addContextToSecureContext");
|
|
96
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(double /* scId */, jni::alias_ref<jni::JString> /* hostname */, jni::alias_ref<jni::JString> /* cert */, jni::alias_ref<jni::JString> /* key */, jni::alias_ref<jni::JString> /* passphrase */)>("addContextToSecureContext");
|
|
96
97
|
method(_javaPart, scId, jni::make_jstring(hostname), jni::make_jstring(cert), jni::make_jstring(key), passphrase.has_value() ? jni::make_jstring(passphrase.value()) : nullptr);
|
|
97
98
|
}
|
|
98
99
|
void JHybridNetDriverSpec::setPFXToSecureContext(double scId, const std::shared_ptr<ArrayBuffer>& pfx, const std::optional<std::string>& passphrase) {
|
|
99
|
-
static const auto method = javaClassStatic()->getMethod<void(double /* scId */, jni::alias_ref<JArrayBuffer::javaobject> /* pfx */, jni::alias_ref<jni::JString> /* passphrase */)>("setPFXToSecureContext");
|
|
100
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(double /* scId */, jni::alias_ref<JArrayBuffer::javaobject> /* pfx */, jni::alias_ref<jni::JString> /* passphrase */)>("setPFXToSecureContext");
|
|
100
101
|
method(_javaPart, scId, JArrayBuffer::wrap(pfx), passphrase.has_value() ? jni::make_jstring(passphrase.value()) : nullptr);
|
|
101
102
|
}
|
|
102
103
|
void JHybridNetDriverSpec::setOCSPResponseToSecureContext(double scId, const std::shared_ptr<ArrayBuffer>& ocsp) {
|
|
103
|
-
static const auto method = javaClassStatic()->getMethod<void(double /* scId */, jni::alias_ref<JArrayBuffer::javaobject> /* ocsp */)>("setOCSPResponseToSecureContext");
|
|
104
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(double /* scId */, jni::alias_ref<JArrayBuffer::javaobject> /* ocsp */)>("setOCSPResponseToSecureContext");
|
|
104
105
|
method(_javaPart, scId, JArrayBuffer::wrap(ocsp));
|
|
105
106
|
}
|
|
106
107
|
std::optional<std::shared_ptr<ArrayBuffer>> JHybridNetDriverSpec::getTicketKeys(double scId) {
|
|
107
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JArrayBuffer::javaobject>(double /* scId */)>("getTicketKeys");
|
|
108
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JArrayBuffer::javaobject>(double /* scId */)>("getTicketKeys");
|
|
108
109
|
auto __result = method(_javaPart, scId);
|
|
109
110
|
return __result != nullptr ? std::make_optional(__result->cthis()->getArrayBuffer()) : std::nullopt;
|
|
110
111
|
}
|
|
111
112
|
void JHybridNetDriverSpec::setTicketKeys(double scId, const std::shared_ptr<ArrayBuffer>& keys) {
|
|
112
|
-
static const auto method = javaClassStatic()->getMethod<void(double /* scId */, jni::alias_ref<JArrayBuffer::javaobject> /* keys */)>("setTicketKeys");
|
|
113
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(double /* scId */, jni::alias_ref<JArrayBuffer::javaobject> /* keys */)>("setTicketKeys");
|
|
113
114
|
method(_javaPart, scId, JArrayBuffer::wrap(keys));
|
|
114
115
|
}
|
|
115
116
|
void JHybridNetDriverSpec::initWithConfig(const NetConfig& config) {
|
|
116
|
-
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JNetConfig> /* config */)>("initWithConfig");
|
|
117
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JNetConfig> /* config */)>("initWithConfig");
|
|
117
118
|
method(_javaPart, JNetConfig::fromCpp(config));
|
|
118
119
|
}
|
|
119
120
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// HybridNetDriverSpec.hpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#pragma once
|
|
@@ -18,33 +18,33 @@ namespace margelo::nitro::net {
|
|
|
18
18
|
|
|
19
19
|
using namespace facebook;
|
|
20
20
|
|
|
21
|
-
class JHybridNetDriverSpec: public
|
|
22
|
-
public virtual HybridNetDriverSpec {
|
|
21
|
+
class JHybridNetDriverSpec: public virtual HybridNetDriverSpec, public virtual JHybridObject {
|
|
23
22
|
public:
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
HybridBase
|
|
33
|
-
|
|
23
|
+
struct JavaPart: public jni::JavaClass<JavaPart, JHybridObject::JavaPart> {
|
|
24
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/net/HybridNetDriverSpec;";
|
|
25
|
+
std::shared_ptr<JHybridNetDriverSpec> getJHybridNetDriverSpec();
|
|
26
|
+
};
|
|
27
|
+
struct CxxPart: public jni::HybridClass<CxxPart, JHybridObject::CxxPart> {
|
|
28
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/net/HybridNetDriverSpec$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 JHybridNetDriverSpec(const jni::local_ref<JHybridNetDriverSpec::JavaPart>& javaPart):
|
|
38
|
+
HybridObject(HybridNetDriverSpec::TAG),
|
|
39
|
+
JHybridObject(javaPart),
|
|
40
|
+
_javaPart(jni::make_global(javaPart)) {}
|
|
36
41
|
~JHybridNetDriverSpec() 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
|
-
|
|
43
|
-
void dispose() noexcept override;
|
|
44
|
-
std::string toString() override;
|
|
45
|
-
|
|
46
|
-
public:
|
|
47
|
-
inline const jni::global_ref<JHybridNetDriverSpec::javaobject>& getJavaPart() const noexcept {
|
|
47
|
+
inline const jni::global_ref<JHybridNetDriverSpec::JavaPart>& getJavaPart() const noexcept {
|
|
48
48
|
return _javaPart;
|
|
49
49
|
}
|
|
50
50
|
|
|
@@ -68,9 +68,7 @@ namespace margelo::nitro::net {
|
|
|
68
68
|
void initWithConfig(const NetConfig& config) override;
|
|
69
69
|
|
|
70
70
|
private:
|
|
71
|
-
|
|
72
|
-
using HybridBase::HybridBase;
|
|
73
|
-
jni::global_ref<JHybridNetDriverSpec::javaobject> _javaPart;
|
|
71
|
+
jni::global_ref<JHybridNetDriverSpec::JavaPart> _javaPart;
|
|
74
72
|
};
|
|
75
73
|
|
|
76
74
|
} // namespace margelo::nitro::net
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// JHybridNetServerDriverSpec.cpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#include "JHybridNetServerDriverSpec.hpp"
|
|
@@ -19,35 +19,36 @@
|
|
|
19
19
|
|
|
20
20
|
namespace margelo::nitro::net {
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
});
|
|
22
|
+
std::shared_ptr<JHybridNetServerDriverSpec> JHybridNetServerDriverSpec::JavaPart::getJHybridNetServerDriverSpec() {
|
|
23
|
+
auto hybridObject = JHybridObject::JavaPart::getJHybridObject();
|
|
24
|
+
auto castHybridObject = std::dynamic_pointer_cast<JHybridNetServerDriverSpec>(hybridObject);
|
|
25
|
+
if (castHybridObject == nullptr) [[unlikely]] {
|
|
26
|
+
throw std::runtime_error("Failed to downcast JHybridObject to JHybridNetServerDriverSpec!");
|
|
27
|
+
}
|
|
28
|
+
return castHybridObject;
|
|
30
29
|
}
|
|
31
30
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
return method(_javaPart);
|
|
31
|
+
jni::local_ref<JHybridNetServerDriverSpec::CxxPart::jhybriddata> JHybridNetServerDriverSpec::CxxPart::initHybrid(jni::alias_ref<jhybridobject> jThis) {
|
|
32
|
+
return makeCxxInstance(jThis);
|
|
35
33
|
}
|
|
36
34
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
35
|
+
std::shared_ptr<JHybridObject> JHybridNetServerDriverSpec::CxxPart::createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) {
|
|
36
|
+
auto castJavaPart = jni::dynamic_ref_cast<JHybridNetServerDriverSpec::JavaPart>(javaPart);
|
|
37
|
+
if (castJavaPart == nullptr) [[unlikely]] {
|
|
38
|
+
throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridNetServerDriverSpec::JavaPart!");
|
|
39
|
+
}
|
|
40
|
+
return std::make_shared<JHybridNetServerDriverSpec>(castJavaPart);
|
|
40
41
|
}
|
|
41
42
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
void JHybridNetServerDriverSpec::CxxPart::registerNatives() {
|
|
44
|
+
registerHybrid({
|
|
45
|
+
makeNativeMethod("initHybrid", JHybridNetServerDriverSpec::CxxPart::initHybrid),
|
|
46
|
+
});
|
|
46
47
|
}
|
|
47
48
|
|
|
48
49
|
// Properties
|
|
49
50
|
std::function<void(double /* event */, const std::shared_ptr<ArrayBuffer>& /* data */)> JHybridNetServerDriverSpec::getOnEvent() {
|
|
50
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void_double_std__shared_ptr_ArrayBuffer_::javaobject>()>("getOnEvent_cxx");
|
|
51
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JFunc_void_double_std__shared_ptr_ArrayBuffer_::javaobject>()>("getOnEvent_cxx");
|
|
51
52
|
auto __result = method(_javaPart);
|
|
52
53
|
return [&]() -> std::function<void(double /* event */, const std::shared_ptr<ArrayBuffer>& /* data */)> {
|
|
53
54
|
if (__result->isInstanceOf(JFunc_void_double_std__shared_ptr_ArrayBuffer__cxx::javaClassStatic())) [[likely]] {
|
|
@@ -60,47 +61,47 @@ namespace margelo::nitro::net {
|
|
|
60
61
|
}();
|
|
61
62
|
}
|
|
62
63
|
void JHybridNetServerDriverSpec::setOnEvent(const std::function<void(double /* event */, const std::shared_ptr<ArrayBuffer>& /* data */)>& onEvent) {
|
|
63
|
-
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_double_std__shared_ptr_ArrayBuffer_::javaobject> /* onEvent */)>("setOnEvent_cxx");
|
|
64
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_double_std__shared_ptr_ArrayBuffer_::javaobject> /* onEvent */)>("setOnEvent_cxx");
|
|
64
65
|
method(_javaPart, JFunc_void_double_std__shared_ptr_ArrayBuffer__cxx::fromCpp(onEvent));
|
|
65
66
|
}
|
|
66
67
|
double JHybridNetServerDriverSpec::getMaxConnections() {
|
|
67
|
-
static const auto method = javaClassStatic()->getMethod<double()>("getMaxConnections");
|
|
68
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<double()>("getMaxConnections");
|
|
68
69
|
auto __result = method(_javaPart);
|
|
69
70
|
return __result;
|
|
70
71
|
}
|
|
71
72
|
void JHybridNetServerDriverSpec::setMaxConnections(double maxConnections) {
|
|
72
|
-
static const auto method = javaClassStatic()->getMethod<void(double /* maxConnections */)>("setMaxConnections");
|
|
73
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(double /* maxConnections */)>("setMaxConnections");
|
|
73
74
|
method(_javaPart, maxConnections);
|
|
74
75
|
}
|
|
75
76
|
|
|
76
77
|
// Methods
|
|
77
78
|
void JHybridNetServerDriverSpec::listen(double port, std::optional<double> backlog, std::optional<bool> ipv6Only, std::optional<bool> reusePort) {
|
|
78
|
-
static const auto method = javaClassStatic()->getMethod<void(double /* port */, jni::alias_ref<jni::JDouble> /* backlog */, jni::alias_ref<jni::JBoolean> /* ipv6Only */, jni::alias_ref<jni::JBoolean> /* reusePort */)>("listen");
|
|
79
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(double /* port */, jni::alias_ref<jni::JDouble> /* backlog */, jni::alias_ref<jni::JBoolean> /* ipv6Only */, jni::alias_ref<jni::JBoolean> /* reusePort */)>("listen");
|
|
79
80
|
method(_javaPart, port, backlog.has_value() ? jni::JDouble::valueOf(backlog.value()) : nullptr, ipv6Only.has_value() ? jni::JBoolean::valueOf(ipv6Only.value()) : nullptr, reusePort.has_value() ? jni::JBoolean::valueOf(reusePort.value()) : nullptr);
|
|
80
81
|
}
|
|
81
82
|
void JHybridNetServerDriverSpec::listenTLS(double port, double secureContextId, std::optional<double> backlog, std::optional<bool> ipv6Only, std::optional<bool> reusePort) {
|
|
82
|
-
static const auto method = javaClassStatic()->getMethod<void(double /* port */, double /* secureContextId */, jni::alias_ref<jni::JDouble> /* backlog */, jni::alias_ref<jni::JBoolean> /* ipv6Only */, jni::alias_ref<jni::JBoolean> /* reusePort */)>("listenTLS");
|
|
83
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(double /* port */, double /* secureContextId */, jni::alias_ref<jni::JDouble> /* backlog */, jni::alias_ref<jni::JBoolean> /* ipv6Only */, jni::alias_ref<jni::JBoolean> /* reusePort */)>("listenTLS");
|
|
83
84
|
method(_javaPart, port, secureContextId, backlog.has_value() ? jni::JDouble::valueOf(backlog.value()) : nullptr, ipv6Only.has_value() ? jni::JBoolean::valueOf(ipv6Only.value()) : nullptr, reusePort.has_value() ? jni::JBoolean::valueOf(reusePort.value()) : nullptr);
|
|
84
85
|
}
|
|
85
86
|
void JHybridNetServerDriverSpec::listenUnix(const std::string& path, std::optional<double> backlog) {
|
|
86
|
-
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* path */, jni::alias_ref<jni::JDouble> /* backlog */)>("listenUnix");
|
|
87
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* path */, jni::alias_ref<jni::JDouble> /* backlog */)>("listenUnix");
|
|
87
88
|
method(_javaPart, jni::make_jstring(path), backlog.has_value() ? jni::JDouble::valueOf(backlog.value()) : nullptr);
|
|
88
89
|
}
|
|
89
90
|
void JHybridNetServerDriverSpec::listenTLSUnix(const std::string& path, double secureContextId, std::optional<double> backlog) {
|
|
90
|
-
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* path */, double /* secureContextId */, jni::alias_ref<jni::JDouble> /* backlog */)>("listenTLSUnix");
|
|
91
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* path */, double /* secureContextId */, jni::alias_ref<jni::JDouble> /* backlog */)>("listenTLSUnix");
|
|
91
92
|
method(_javaPart, jni::make_jstring(path), secureContextId, backlog.has_value() ? jni::JDouble::valueOf(backlog.value()) : nullptr);
|
|
92
93
|
}
|
|
93
94
|
void JHybridNetServerDriverSpec::listenHandle(double fd, std::optional<double> backlog) {
|
|
94
|
-
static const auto method = javaClassStatic()->getMethod<void(double /* fd */, jni::alias_ref<jni::JDouble> /* backlog */)>("listenHandle");
|
|
95
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(double /* fd */, jni::alias_ref<jni::JDouble> /* backlog */)>("listenHandle");
|
|
95
96
|
method(_javaPart, fd, backlog.has_value() ? jni::JDouble::valueOf(backlog.value()) : nullptr);
|
|
96
97
|
}
|
|
97
98
|
std::string JHybridNetServerDriverSpec::getLocalAddress() {
|
|
98
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getLocalAddress");
|
|
99
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getLocalAddress");
|
|
99
100
|
auto __result = method(_javaPart);
|
|
100
101
|
return __result->toStdString();
|
|
101
102
|
}
|
|
102
103
|
void JHybridNetServerDriverSpec::close() {
|
|
103
|
-
static const auto method = javaClassStatic()->getMethod<void()>("close");
|
|
104
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void()>("close");
|
|
104
105
|
method(_javaPart);
|
|
105
106
|
}
|
|
106
107
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// HybridNetServerDriverSpec.hpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#pragma once
|
|
@@ -18,33 +18,33 @@ namespace margelo::nitro::net {
|
|
|
18
18
|
|
|
19
19
|
using namespace facebook;
|
|
20
20
|
|
|
21
|
-
class JHybridNetServerDriverSpec: public
|
|
22
|
-
public virtual HybridNetServerDriverSpec {
|
|
21
|
+
class JHybridNetServerDriverSpec: public virtual HybridNetServerDriverSpec, public virtual JHybridObject {
|
|
23
22
|
public:
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
HybridBase
|
|
33
|
-
|
|
23
|
+
struct JavaPart: public jni::JavaClass<JavaPart, JHybridObject::JavaPart> {
|
|
24
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/net/HybridNetServerDriverSpec;";
|
|
25
|
+
std::shared_ptr<JHybridNetServerDriverSpec> getJHybridNetServerDriverSpec();
|
|
26
|
+
};
|
|
27
|
+
struct CxxPart: public jni::HybridClass<CxxPart, JHybridObject::CxxPart> {
|
|
28
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/net/HybridNetServerDriverSpec$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 JHybridNetServerDriverSpec(const jni::local_ref<JHybridNetServerDriverSpec::JavaPart>& javaPart):
|
|
38
|
+
HybridObject(HybridNetServerDriverSpec::TAG),
|
|
39
|
+
JHybridObject(javaPart),
|
|
40
|
+
_javaPart(jni::make_global(javaPart)) {}
|
|
36
41
|
~JHybridNetServerDriverSpec() 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
|
-
|
|
43
|
-
void dispose() noexcept override;
|
|
44
|
-
std::string toString() override;
|
|
45
|
-
|
|
46
|
-
public:
|
|
47
|
-
inline const jni::global_ref<JHybridNetServerDriverSpec::javaobject>& getJavaPart() const noexcept {
|
|
47
|
+
inline const jni::global_ref<JHybridNetServerDriverSpec::JavaPart>& getJavaPart() const noexcept {
|
|
48
48
|
return _javaPart;
|
|
49
49
|
}
|
|
50
50
|
|
|
@@ -66,9 +66,7 @@ namespace margelo::nitro::net {
|
|
|
66
66
|
void close() override;
|
|
67
67
|
|
|
68
68
|
private:
|
|
69
|
-
|
|
70
|
-
using HybridBase::HybridBase;
|
|
71
|
-
jni::global_ref<JHybridNetServerDriverSpec::javaobject> _javaPart;
|
|
69
|
+
jni::global_ref<JHybridNetServerDriverSpec::JavaPart> _javaPart;
|
|
72
70
|
};
|
|
73
71
|
|
|
74
72
|
} // namespace margelo::nitro::net
|