diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-07-23 15:33:00 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-07-24 12:42:42 +0000 |
| commit | a6bc1452b427211e73f41bf5fad2f2d9c4d5e3fb (patch) | |
| tree | cee4de4bc2b4cd532deed2f514afc94c5ff27681 | |
| parent | 55944f71397990772bcc1b7d83a18b5917575cee (diff) | |
| download | mullvadvpn-a6bc1452b427211e73f41bf5fad2f2d9c4d5e3fb.tar.xz mullvadvpn-a6bc1452b427211e73f41bf5fad2f2d9c4d5e3fb.zip | |
Implement `IntoJava` for `ActionAfterDisconnect`
| -rw-r--r-- | mullvad-jni/src/into_java.rs | 22 | ||||
| -rw-r--r-- | mullvad-jni/src/lib.rs | 3 |
2 files changed, 24 insertions, 1 deletions
diff --git a/mullvad-jni/src/into_java.rs b/mullvad-jni/src/into_java.rs index fc899bf12e..c111767e63 100644 --- a/mullvad-jni/src/into_java.rs +++ b/mullvad-jni/src/into_java.rs @@ -18,7 +18,7 @@ use mullvad_types::{ }; use std::{fmt::Debug, net::IpAddr}; use talpid_core::tunnel::tun_provider::TunConfig; -use talpid_types::net::wireguard::PublicKey; +use talpid_types::{net::wireguard::PublicKey, tunnel::ActionAfterDisconnect}; pub trait IntoJava<'env> { type JavaType; @@ -495,6 +495,26 @@ impl<'env> IntoJava<'env> for Settings { } } +impl<'env> IntoJava<'env> for ActionAfterDisconnect { + type JavaType = JObject<'env>; + + fn into_java(self, env: &JNIEnv<'env>) -> Self::JavaType { + let variant = match self { + ActionAfterDisconnect::Nothing => "Nothing", + ActionAfterDisconnect::Block => "Block", + ActionAfterDisconnect::Reconnect => "Reconnect", + }; + let class_name = format!( + "net/mullvad/mullvadvpn/model/ActionAfterDisconnect${}", + variant + ); + let class = get_class(&class_name); + + env.new_object(&class, "()V", &[]) + .expect("Failed to create ActionAfterDisconnect sub-class variant Java object") + } +} + impl<'env> IntoJava<'env> for TunnelState { type JavaType = JObject<'env>; diff --git a/mullvad-jni/src/lib.rs b/mullvad-jni/src/lib.rs index dfc55010ac..309232774e 100644 --- a/mullvad-jni/src/lib.rs +++ b/mullvad-jni/src/lib.rs @@ -35,6 +35,9 @@ const CLASSES_TO_LOAD: &[&str] = &[ "java/util/ArrayList", "java/util/List", "net/mullvad/mullvadvpn/model/AccountData", + "net/mullvad/mullvadvpn/model/ActionAfterDisconnect$Block", + "net/mullvad/mullvadvpn/model/ActionAfterDisconnect$Nothing", + "net/mullvad/mullvadvpn/model/ActionAfterDisconnect$Reconnect", "net/mullvad/mullvadvpn/model/Constraint$Any", "net/mullvad/mullvadvpn/model/Constraint$Only", "net/mullvad/mullvadvpn/model/GeoIpLocation", |
