summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--mullvad-jni/src/daemon_interface.rs12
1 files changed, 11 insertions, 1 deletions
diff --git a/mullvad-jni/src/daemon_interface.rs b/mullvad-jni/src/daemon_interface.rs
index 328d0c9093..c2d353f0eb 100644
--- a/mullvad-jni/src/daemon_interface.rs
+++ b/mullvad-jni/src/daemon_interface.rs
@@ -2,7 +2,7 @@ use futures::{sync::oneshot, Future};
use mullvad_daemon::{DaemonCommandSender, ManagementCommand};
use mullvad_types::{
account::AccountData, relay_constraints::RelaySettingsUpdate, relay_list::RelayList,
- settings::Settings,
+ settings::Settings, states::TargetState,
};
#[derive(Debug, err_derive::Error)]
@@ -37,6 +37,16 @@ impl DaemonInterface {
self.command_sender = Some(sender);
}
+ pub fn connect(&self) -> Result<()> {
+ let (tx, rx) = oneshot::channel();
+
+ self.send_command(ManagementCommand::SetTargetState(tx, TargetState::Secured))?;
+
+ rx.wait().map_err(|_| Error::NoResponse)?.unwrap();
+
+ Ok(())
+ }
+
pub fn get_account_data(&self, account_token: String) -> Result<AccountData> {
let (tx, rx) = oneshot::channel();