diff options
| -rw-r--r-- | mullvad-jni/src/daemon_interface.rs | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/mullvad-jni/src/daemon_interface.rs b/mullvad-jni/src/daemon_interface.rs index e0ffa13c84..328d0c9093 100644 --- a/mullvad-jni/src/daemon_interface.rs +++ b/mullvad-jni/src/daemon_interface.rs @@ -1,6 +1,9 @@ use futures::{sync::oneshot, Future}; use mullvad_daemon::{DaemonCommandSender, ManagementCommand}; -use mullvad_types::{account::AccountData, relay_list::RelayList, settings::Settings}; +use mullvad_types::{ + account::AccountData, relay_constraints::RelaySettingsUpdate, relay_list::RelayList, + settings::Settings, +}; #[derive(Debug, err_derive::Error)] pub enum Error { @@ -69,6 +72,14 @@ impl DaemonInterface { rx.wait().map_err(|_| Error::NoResponse) } + pub fn update_relay_settings(&self, update: RelaySettingsUpdate) -> Result<()> { + let (tx, rx) = oneshot::channel(); + + self.send_command(ManagementCommand::UpdateRelaySettings(tx, update))?; + + rx.wait().map_err(|_| Error::NoResponse) + } + fn send_command(&self, command: ManagementCommand) -> Result<()> { let sender = self.command_sender.as_ref().ok_or(Error::NoSender)?; |
