diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-11-22 11:14:39 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-11-22 15:16:56 +0000 |
| commit | 6677eede732ab9ba6687229caf498d0df8874f11 (patch) | |
| tree | e5665e1dc2e337f9dedc857eb084db159f1e5a31 | |
| parent | 7b2af16441cf28c534c42474ffcffec2d25d5601 (diff) | |
| download | mullvadvpn-6677eede732ab9ba6687229caf498d0df8874f11.tar.xz mullvadvpn-6677eede732ab9ba6687229caf498d0df8874f11.zip | |
Remove `into_java` module
| -rw-r--r-- | mullvad-jni/src/into_java.rs | 63 | ||||
| -rw-r--r-- | mullvad-jni/src/jni_event_listener.rs | 3 | ||||
| -rw-r--r-- | mullvad-jni/src/lib.rs | 63 | ||||
| -rw-r--r-- | mullvad-jni/src/vpn_service_tun_provider.rs | 3 |
4 files changed, 30 insertions, 102 deletions
diff --git a/mullvad-jni/src/into_java.rs b/mullvad-jni/src/into_java.rs deleted file mode 100644 index 048643b160..0000000000 --- a/mullvad-jni/src/into_java.rs +++ /dev/null @@ -1,63 +0,0 @@ -use jnix::{jni::objects::AutoLocal, JnixEnv}; -use mullvad_types::{ - relay_constraints::Constraint, relay_list::RelayList, settings::Settings, states::TunnelState, - version::AppVersionInfo, wireguard::KeygenEvent, -}; -use std::fmt::Debug; -use talpid_core::tunnel::tun_provider::TunConfig; - -pub trait IntoJava<'borrow, 'env: 'borrow> { - type JavaType; - - fn into_java(self, env: &'borrow JnixEnv<'env>) -> Self::JavaType; -} - -macro_rules! wrap_jnix_into_java { - ( $type:ty $( where $param:ident : $( $constraints:tt )* )* ) => { - impl<'borrow, 'env, $( $param ),* > IntoJava<'borrow, 'env> for $type - where - 'env: 'borrow, - $( $param: $( $constraints )* ),* - { - type JavaType = <$type as jnix::IntoJava<'borrow, 'env>>::JavaType; - - fn into_java(self, env: &'borrow JnixEnv<'env>) -> Self::JavaType { - jnix::IntoJava::into_java(self, env) - } - } - }; -} - -wrap_jnix_into_java!( - Option<T> where T: jnix::IntoJava<'borrow, 'env, JavaType = AutoLocal<'env, 'borrow>> -); - -wrap_jnix_into_java!(String); - -wrap_jnix_into_java!( - Vec<T> where T: jnix::IntoJava<'borrow, 'env, JavaType = AutoLocal<'env, 'borrow>> -); - -impl<'array, 'borrow, 'env> IntoJava<'borrow, 'env> for &'array [u8] -where - 'env: 'borrow, -{ - type JavaType = AutoLocal<'env, 'borrow>; - - fn into_java(self, env: &'borrow JnixEnv<'env>) -> Self::JavaType { - jnix::IntoJava::into_java(self, env) - } -} - -wrap_jnix_into_java!(AppVersionInfo); -wrap_jnix_into_java!(TunConfig); -wrap_jnix_into_java!(RelayList); - -wrap_jnix_into_java!(Constraint<T> - where - T: Clone + Eq + Debug + jnix::IntoJava<'borrow, 'env, JavaType = AutoLocal<'env, 'borrow>> -); - -wrap_jnix_into_java!(KeygenEvent); -wrap_jnix_into_java!(Settings); -wrap_jnix_into_java!(TunnelState); diff --git a/mullvad-jni/src/jni_event_listener.rs b/mullvad-jni/src/jni_event_listener.rs index 234fd30313..45020111fa 100644 --- a/mullvad-jni/src/jni_event_listener.rs +++ b/mullvad-jni/src/jni_event_listener.rs @@ -1,10 +1,9 @@ -use crate::into_java::IntoJava; use jnix::{ jni::{ objects::{GlobalRef, JMethodID, JObject, JValue}, signature::{JavaType, Primitive}, }, - JnixEnv, + IntoJava, JnixEnv, }; use mullvad_daemon::EventListener; use mullvad_types::{ diff --git a/mullvad-jni/src/lib.rs b/mullvad-jni/src/lib.rs index d9041aa6c5..0e00decd04 100644 --- a/mullvad-jni/src/lib.rs +++ b/mullvad-jni/src/lib.rs @@ -3,14 +3,13 @@ mod classes; mod daemon_interface; mod from_java; -mod into_java; mod is_null; mod jni_event_listener; mod vpn_service_tun_provider; use crate::{ - daemon_interface::DaemonInterface, from_java::FromJava, into_java::IntoJava, - jni_event_listener::JniEventListener, vpn_service_tun_provider::VpnServiceTunProvider, + daemon_interface::DaemonInterface, from_java::FromJava, jni_event_listener::JniEventListener, + vpn_service_tun_provider::VpnServiceTunProvider, }; use jnix::{ jni::{ @@ -18,10 +17,11 @@ use jnix::{ sys::{jboolean, JNI_FALSE, JNI_TRUE}, JNIEnv, }, - JnixEnv, + IntoJava, JnixEnv, }; use lazy_static::lazy_static; use mullvad_daemon::{logging, version, Daemon, DaemonCommandSender}; +use mullvad_types::account::AccountData; use std::{ path::{Path, PathBuf}, sync::{mpsc, Once}, @@ -61,40 +61,33 @@ pub enum Error { StartLogging(#[error(source)] logging::Error), } -mod get_account_data_result { - use crate::daemon_interface; - use jnix::IntoJava; - use mullvad_types::account::AccountData; - - #[derive(IntoJava)] - #[jnix(package = "net.mullvad.mullvadvpn.model")] - pub enum GetAccountDataResult { - Ok(AccountData), - InvalidAccount, - RpcError, - OtherError, - } +#[derive(IntoJava)] +#[jnix(package = "net.mullvad.mullvadvpn.model")] +pub enum GetAccountDataResult { + Ok(AccountData), + InvalidAccount, + RpcError, + OtherError, +} - impl From<Result<AccountData, daemon_interface::Error>> for GetAccountDataResult { - fn from(result: Result<AccountData, daemon_interface::Error>) -> Self { - match result { - Ok(account_data) => GetAccountDataResult::Ok(account_data), - Err(error) => match error { - daemon_interface::Error::RpcError(jsonrpc_client_core::Error( - jsonrpc_client_core::ErrorKind::JsonRpcError(jsonrpc_core::Error { - code: jsonrpc_core::ErrorCode::ServerError(-200), - .. - }), - _, - )) => GetAccountDataResult::InvalidAccount, - daemon_interface::Error::RpcError(_) => GetAccountDataResult::RpcError, - _ => GetAccountDataResult::OtherError, - }, - } +impl From<Result<AccountData, daemon_interface::Error>> for GetAccountDataResult { + fn from(result: Result<AccountData, daemon_interface::Error>) -> Self { + match result { + Ok(account_data) => GetAccountDataResult::Ok(account_data), + Err(error) => match error { + daemon_interface::Error::RpcError(jsonrpc_client_core::Error( + jsonrpc_client_core::ErrorKind::JsonRpcError(jsonrpc_core::Error { + code: jsonrpc_core::ErrorCode::ServerError(-200), + .. + }), + _, + )) => GetAccountDataResult::InvalidAccount, + daemon_interface::Error::RpcError(_) => GetAccountDataResult::RpcError, + _ => GetAccountDataResult::OtherError, + }, } } } -use get_account_data_result::GetAccountDataResult; #[no_mangle] #[allow(non_snake_case)] @@ -279,7 +272,7 @@ pub extern "system" fn Java_net_mullvad_mullvadvpn_MullvadDaemon_getAccountData< ); } - jnix::IntoJava::into_java(GetAccountDataResult::from(result), &env).forget() + GetAccountDataResult::from(result).into_java(&env).forget() } #[no_mangle] diff --git a/mullvad-jni/src/vpn_service_tun_provider.rs b/mullvad-jni/src/vpn_service_tun_provider.rs index aecdee3786..01f1905814 100644 --- a/mullvad-jni/src/vpn_service_tun_provider.rs +++ b/mullvad-jni/src/vpn_service_tun_provider.rs @@ -1,4 +1,3 @@ -use crate::into_java::IntoJava; use ipnetwork::IpNetwork; use jnix::{ jni::{ @@ -6,7 +5,7 @@ use jnix::{ signature::{JavaType, Primitive}, JavaVM, }, - JnixEnv, + IntoJava, JnixEnv, }; use std::{ fs::File, |
