summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-05-21 16:20:02 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-05-22 16:41:56 +0000
commitf7816b0ec685a95e88e0c4e96c6739746e676b0e (patch)
tree662e0307eb9d1e91f33f234bd0ad94f9c39b4038
parent5d69b6e1b9f84aae615cef3ab77f54bb385207e3 (diff)
downloadmullvadvpn-f7816b0ec685a95e88e0c4e96c6739746e676b0e.tar.xz
mullvadvpn-f7816b0ec685a95e88e0c4e96c6739746e676b0e.zip
Create `IntoJava` helper trait
-rw-r--r--mullvad-jni/src/into_java.rs15
-rw-r--r--mullvad-jni/src/lib.rs1
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};