diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-05-28 12:57:29 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-05-29 14:00:09 +0000 |
| commit | 370e93a14f99534487f3752baec65e77ab719d82 (patch) | |
| tree | d6a4f50e2152952bb69f0cd98a6db8aa5241db5e | |
| parent | eebc252b9c9151c29976fef7b2cd0666ec443aba (diff) | |
| download | mullvadvpn-370e93a14f99534487f3752baec65e77ab719d82.tar.xz mullvadvpn-370e93a14f99534487f3752baec65e77ab719d82.zip | |
Implement `IntoJava` for `TunConfig`
| -rw-r--r-- | mullvad-jni/src/into_java.rs | 14 | ||||
| -rw-r--r-- | mullvad-jni/src/lib.rs | 1 |
2 files changed, 15 insertions, 0 deletions
diff --git a/mullvad-jni/src/into_java.rs b/mullvad-jni/src/into_java.rs index ba88840715..1ab7cd54e6 100644 --- a/mullvad-jni/src/into_java.rs +++ b/mullvad-jni/src/into_java.rs @@ -14,6 +14,7 @@ use mullvad_types::{ CustomTunnelEndpoint, }; use std::{fmt::Debug, net::IpAddr}; +use talpid_core::tunnel::tun_provider::TunConfig; use talpid_types::{net::wireguard::PublicKey, tunnel::TunnelStateTransition}; pub trait IntoJava<'env> { @@ -189,6 +190,19 @@ impl<'env> IntoJava<'env> for AccountData { } } +impl<'env> IntoJava<'env> for TunConfig { + type JavaType = JObject<'env>; + + fn into_java(self, env: &JNIEnv<'env>) -> Self::JavaType { + let class = get_class("net/mullvad/mullvadvpn/model/TunConfig"); + let addresses = env.auto_local(self.addresses.into_java(env)); + let parameters = [JValue::Object(addresses.as_obj())]; + + env.new_object(&class, "(Ljava/util/List;)V", ¶meters) + .expect("Failed to create TunConfig Java object") + } +} + impl<'env> IntoJava<'env> for RelayList { type JavaType = JObject<'env>; diff --git a/mullvad-jni/src/lib.rs b/mullvad-jni/src/lib.rs index 6a0f83fb60..6a54b1cbae 100644 --- a/mullvad-jni/src/lib.rs +++ b/mullvad-jni/src/lib.rs @@ -44,6 +44,7 @@ const CLASSES_TO_LOAD: &[&str] = &[ "net/mullvad/mullvadvpn/model/RelaySettingsUpdate$CustomTunnelEndpoint", "net/mullvad/mullvadvpn/model/RelaySettingsUpdate$RelayConstraintsUpdate", "net/mullvad/mullvadvpn/model/Settings", + "net/mullvad/mullvadvpn/model/TunConfig", "net/mullvad/mullvadvpn/model/TunnelStateTransition$Blocked", "net/mullvad/mullvadvpn/model/TunnelStateTransition$Connected", "net/mullvad/mullvadvpn/model/TunnelStateTransition$Connecting", |
