diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-05-23 14:07:52 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-05-23 17:38:56 +0000 |
| commit | 01206472d7af02de6308ec1bf6315e1b0e5c9f39 (patch) | |
| tree | 95ba2f82d63b842876a2d3f498b013e913d0bc42 | |
| parent | a924b2eb687f801f402aa1b6797fe5e2bf02d5ba (diff) | |
| download | mullvadvpn-01206472d7af02de6308ec1bf6315e1b0e5c9f39.tar.xz mullvadvpn-01206472d7af02de6308ec1bf6315e1b0e5c9f39.zip | |
Implement `IntoJava` for `TunnelStateTransition`
| -rw-r--r-- | mullvad-jni/src/into_java.rs | 23 | ||||
| -rw-r--r-- | mullvad-jni/src/lib.rs | 5 |
2 files changed, 28 insertions, 0 deletions
diff --git a/mullvad-jni/src/into_java.rs b/mullvad-jni/src/into_java.rs index 1c6733252b..743328dbff 100644 --- a/mullvad-jni/src/into_java.rs +++ b/mullvad-jni/src/into_java.rs @@ -12,6 +12,7 @@ use mullvad_types::{ CustomTunnelEndpoint, }; use std::fmt::Debug; +use talpid_types::tunnel::TunnelStateTransition; pub trait IntoJava<'env> { type JavaType; @@ -294,3 +295,25 @@ impl<'env> IntoJava<'env> for Settings { .expect("Failed to create Settings Java object") } } + +impl<'env> IntoJava<'env> for TunnelStateTransition { + type JavaType = JObject<'env>; + + fn into_java(self, env: &JNIEnv<'env>) -> Self::JavaType { + let variant = match self { + TunnelStateTransition::Disconnected => "Disconnected", + TunnelStateTransition::Connecting(_) => "Connecting", + TunnelStateTransition::Connected(_) => "Connected", + TunnelStateTransition::Disconnecting(_) => "Disconnecting", + TunnelStateTransition::Blocked(_) => "Blocked", + }; + + let class = get_class(&format!( + "net/mullvad/mullvadvpn/model/TunnelStateTransition${}", + variant + )); + + env.new_object(&class, "()V", &[]) + .expect("Failed to create TunnelStateTransition sub-class variant Java object") + } +} diff --git a/mullvad-jni/src/lib.rs b/mullvad-jni/src/lib.rs index d5708c9a0a..45351e2563 100644 --- a/mullvad-jni/src/lib.rs +++ b/mullvad-jni/src/lib.rs @@ -36,6 +36,11 @@ 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/TunnelStateTransition$Blocked", + "net/mullvad/mullvadvpn/model/TunnelStateTransition$Connected", + "net/mullvad/mullvadvpn/model/TunnelStateTransition$Connecting", + "net/mullvad/mullvadvpn/model/TunnelStateTransition$Disconnected", + "net/mullvad/mullvadvpn/model/TunnelStateTransition$Disconnecting", ]; lazy_static! { |
