diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-08-01 13:10:59 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-08-02 13:46:52 +0000 |
| commit | 97a24d124c56ddd440a7eb4e0ddefe868bcdf0d4 (patch) | |
| tree | 9e40aaed63b458cf7bb42aad81c6ac7bee8dc863 | |
| parent | a6d05bee9f2a49e328e434180295bd9653e61cfc (diff) | |
| download | mullvadvpn-97a24d124c56ddd440a7eb4e0ddefe868bcdf0d4.tar.xz mullvadvpn-97a24d124c56ddd440a7eb4e0ddefe868bcdf0d4.zip | |
Implement `IntoJava` for `TransportProtocol`
| -rw-r--r-- | mullvad-jni/src/into_java.rs | 17 | ||||
| -rw-r--r-- | mullvad-jni/src/lib.rs | 2 |
2 files changed, 18 insertions, 1 deletions
diff --git a/mullvad-jni/src/into_java.rs b/mullvad-jni/src/into_java.rs index fe668f1580..e51e9e036e 100644 --- a/mullvad-jni/src/into_java.rs +++ b/mullvad-jni/src/into_java.rs @@ -20,7 +20,7 @@ use mullvad_types::{ use std::{fmt::Debug, net::IpAddr}; use talpid_core::tunnel::tun_provider::TunConfig; use talpid_types::{ - net::wireguard::PublicKey, + net::{wireguard::PublicKey, TransportProtocol}, tunnel::{ActionAfterDisconnect, BlockReason}, }; @@ -252,6 +252,21 @@ impl<'env> IntoJava<'env> for TunConfig { } } +impl<'env> IntoJava<'env> for TransportProtocol { + type JavaType = JObject<'env>; + + fn into_java(self, env: &JNIEnv<'env>) -> Self::JavaType { + let class_name = match self { + TransportProtocol::Tcp => "net/mullvad/mullvadvpn/model/TransportProtocol$Tcp", + TransportProtocol::Udp => "net/mullvad/mullvadvpn/model/TransportProtocol$Udp", + }; + let class = get_class(class_name); + + env.new_object(&class, "()V", &[]) + .expect("Failed to create TransportProtocol 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 96d8c8ba55..baeb4875dc 100644 --- a/mullvad-jni/src/lib.rs +++ b/mullvad-jni/src/lib.rs @@ -66,6 +66,8 @@ 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/TransportProtocol$Tcp", + "net/mullvad/mullvadvpn/model/TransportProtocol$Udp", "net/mullvad/mullvadvpn/model/TunConfig", "net/mullvad/mullvadvpn/model/TunnelState$Blocked", "net/mullvad/mullvadvpn/model/TunnelState$Connected", |
