summaryrefslogtreecommitdiffhomepage
path: root/mullvad-jni/src/into_java.rs
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-11-22 09:45:02 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-11-22 15:16:56 +0000
commit7b2af16441cf28c534c42474ffcffec2d25d5601 (patch)
tree1d8b7b8d0e626148ae75cacb5f6bf894b5ed212e /mullvad-jni/src/into_java.rs
parentc6f6e2951b70e12adc97b6bd46bef74b30bfe318 (diff)
downloadmullvadvpn-7b2af16441cf28c534c42474ffcffec2d25d5601.tar.xz
mullvadvpn-7b2af16441cf28c534c42474ffcffec2d25d5601.zip
Create `GetAccountDataResult` helper type
Diffstat (limited to 'mullvad-jni/src/into_java.rs')
-rw-r--r--mullvad-jni/src/into_java.rs54
1 files changed, 3 insertions, 51 deletions
diff --git a/mullvad-jni/src/into_java.rs b/mullvad-jni/src/into_java.rs
index 20ad7dfcbb..048643b160 100644
--- a/mullvad-jni/src/into_java.rs
+++ b/mullvad-jni/src/into_java.rs
@@ -1,11 +1,7 @@
-use crate::daemon_interface;
-use jnix::{
- jni::objects::{AutoLocal, JValue},
- JnixEnv,
-};
+use jnix::{jni::objects::AutoLocal, JnixEnv};
use mullvad_types::{
- account::AccountData, relay_constraints::Constraint, relay_list::RelayList, settings::Settings,
- states::TunnelState, version::AppVersionInfo, wireguard::KeygenEvent,
+ 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;
@@ -54,7 +50,6 @@ where
}
wrap_jnix_into_java!(AppVersionInfo);
-wrap_jnix_into_java!(AccountData);
wrap_jnix_into_java!(TunConfig);
wrap_jnix_into_java!(RelayList);
@@ -66,46 +61,3 @@ wrap_jnix_into_java!(Constraint<T>
wrap_jnix_into_java!(KeygenEvent);
wrap_jnix_into_java!(Settings);
wrap_jnix_into_java!(TunnelState);
-
-impl<'borrow, 'env> IntoJava<'borrow, 'env> for Result<AccountData, daemon_interface::Error>
-where
- 'env: 'borrow,
-{
- type JavaType = AutoLocal<'env, 'borrow>;
-
- fn into_java(self, env: &'borrow JnixEnv<'env>) -> Self::JavaType {
- env.auto_local(match self {
- Ok(data) => {
- let class = env.get_class("net/mullvad/mullvadvpn/model/GetAccountDataResult$Ok");
- let java_account_data = data.into_java(&env);
- let parameters = [JValue::Object(java_account_data.as_obj())];
-
- env.new_object(
- &class,
- "(Lnet/mullvad/mullvadvpn/model/AccountData;)V",
- &parameters,
- )
- .expect("Failed to create GetAccountDataResult.Ok Java object")
- }
- Err(error) => {
- let class_name = match error {
- daemon_interface::Error::RpcError(jsonrpc_client_core::Error(
- jsonrpc_client_core::ErrorKind::JsonRpcError(jsonrpc_core::Error {
- code: jsonrpc_core::ErrorCode::ServerError(-200),
- ..
- }),
- _,
- )) => "net/mullvad/mullvadvpn/model/GetAccountDataResult$InvalidAccount",
- daemon_interface::Error::RpcError(_) => {
- "net/mullvad/mullvadvpn/model/GetAccountDataResult$RpcError"
- }
- _ => "net/mullvad/mullvadvpn/model/GetAccountDataResult$OtherError",
- };
- let class = env.get_class(class_name);
-
- env.new_object(&class, "()V", &[])
- .expect("Failed to create a GetAccountDataResult error sub-class Java object")
- }
- })
- }
-}