diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-08-01 17:47:36 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-08-02 13:46:53 +0000 |
| commit | 85e10cd5ee07aec1579b89b6bde17dca2483ab22 (patch) | |
| tree | 4e10d0d5e0e34c1497a207b7e8e21f270846dd4f | |
| parent | 38e3bf872b408a3e21cfd5131e8af3ad9329c72d (diff) | |
| download | mullvadvpn-85e10cd5ee07aec1579b89b6bde17dca2483ab22.tar.xz mullvadvpn-85e10cd5ee07aec1579b89b6bde17dca2483ab22.zip | |
Implement `IntoJava` for `TunnelEndpoint`
| -rw-r--r-- | mullvad-jni/src/into_java.rs | 19 | ||||
| -rw-r--r-- | mullvad-jni/src/lib.rs | 1 |
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", + ¶meters, + ) + .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", |
