diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-05-21 16:20:02 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-05-22 16:41:56 +0000 |
| commit | f7816b0ec685a95e88e0c4e96c6739746e676b0e (patch) | |
| tree | 662e0307eb9d1e91f33f234bd0ad94f9c39b4038 | |
| parent | 5d69b6e1b9f84aae615cef3ab77f54bb385207e3 (diff) | |
| download | mullvadvpn-f7816b0ec685a95e88e0c4e96c6739746e676b0e.tar.xz mullvadvpn-f7816b0ec685a95e88e0c4e96c6739746e676b0e.zip | |
Create `IntoJava` helper trait
| -rw-r--r-- | mullvad-jni/src/into_java.rs | 15 | ||||
| -rw-r--r-- | mullvad-jni/src/lib.rs | 1 |
2 files changed, 16 insertions, 0 deletions
diff --git a/mullvad-jni/src/into_java.rs b/mullvad-jni/src/into_java.rs new file mode 100644 index 0000000000..a814ff79cf --- /dev/null +++ b/mullvad-jni/src/into_java.rs @@ -0,0 +1,15 @@ +use jni::{objects::JString, JNIEnv}; + +pub trait IntoJava<'env> { + type JavaType; + + fn into_java(self, env: &JNIEnv<'env>) -> Self::JavaType; +} + +impl<'env> IntoJava<'env> for String { + type JavaType = JString<'env>; + + fn into_java(self, env: &JNIEnv<'env>) -> Self::JavaType { + env.new_string(&self).expect("Failed to create Java String") + } +} diff --git a/mullvad-jni/src/lib.rs b/mullvad-jni/src/lib.rs index 647d07b0e3..3a4c0a0575 100644 --- a/mullvad-jni/src/lib.rs +++ b/mullvad-jni/src/lib.rs @@ -2,6 +2,7 @@ mod daemon_interface; mod from_java; +mod into_java; use crate::daemon_interface::DaemonInterface; use jni::{objects::JObject, JNIEnv}; |
