summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--mullvad-jni/src/daemon_interface.rs13
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)?;