summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-08-01 17:47:36 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-08-02 13:46:53 +0000
commit85e10cd5ee07aec1579b89b6bde17dca2483ab22 (patch)
tree4e10d0d5e0e34c1497a207b7e8e21f270846dd4f
parent38e3bf872b408a3e21cfd5131e8af3ad9329c72d (diff)
downloadmullvadvpn-85e10cd5ee07aec1579b89b6bde17dca2483ab22.tar.xz
mullvadvpn-85e10cd5ee07aec1579b89b6bde17dca2483ab22.zip
Implement `IntoJava` for `TunnelEndpoint`
-rw-r--r--mullvad-jni/src/into_java.rs19
-rw-r--r--mullvad-jni/src/lib.rs1
2 files changed, 19 insertions, 1 deletions
diff --git a/mullvad-jni/src/into_java.rs b/mullvad-jni/src/into_java.rs
index 045f7e6328..05374cb27f 100644
--- a/mullvad-jni/src/into_java.rs
+++ b/mullvad-jni/src/into_java.rs
@@ -23,7 +23,7 @@ use std::{
};
use talpid_core::tunnel::tun_provider::TunConfig;
use talpid_types::{
- net::{wireguard::PublicKey, Endpoint, TransportProtocol},
+ net::{wireguard::PublicKey, Endpoint, TransportProtocol, TunnelEndpoint},
tunnel::{ActionAfterDisconnect, BlockReason},
};
@@ -305,6 +305,23 @@ impl<'env> IntoJava<'env> for Endpoint {
}
}
+impl<'env> IntoJava<'env> for TunnelEndpoint {
+ type JavaType = JObject<'env>;
+
+ fn into_java(self, env: &JNIEnv<'env>) -> Self::JavaType {
+ let class = get_class("net/mullvad/mullvadvpn/model/TunnelEndpoint");
+ let endpoint = env.auto_local(self.endpoint.into_java(env));
+ let parameters = [JValue::Object(endpoint.as_obj())];
+
+ env.new_object(
+ &class,
+ "(Lnet/mullvad/mullvadvpn/model/Endpoint;)V",
+ &parameters,
+ )
+ .expect("Failed to create TunnelEndpoint sub-class variant Java object")
+ }
+}
+
impl<'env> IntoJava<'env> for GeoIpLocation {
type JavaType = JObject<'env>;
diff --git a/mullvad-jni/src/lib.rs b/mullvad-jni/src/lib.rs
index 05f77c40f7..28c68e422f 100644
--- a/mullvad-jni/src/lib.rs
+++ b/mullvad-jni/src/lib.rs
@@ -71,6 +71,7 @@ const CLASSES_TO_LOAD: &[&str] = &[
"net/mullvad/mullvadvpn/model/TransportProtocol$Tcp",
"net/mullvad/mullvadvpn/model/TransportProtocol$Udp",
"net/mullvad/mullvadvpn/model/TunConfig",
+ "net/mullvad/mullvadvpn/model/TunnelEndpoint",
"net/mullvad/mullvadvpn/model/TunnelState$Blocked",
"net/mullvad/mullvadvpn/model/TunnelState$Connected",
"net/mullvad/mullvadvpn/model/TunnelState$Connecting",