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 45454c2f72..c8294fa744 100644 --- a/mullvad-jni/src/daemon_interface.rs +++ b/mullvad-jni/src/daemon_interface.rs @@ -1,7 +1,7 @@ use futures::{sync::oneshot, Future}; use mullvad_daemon::{DaemonCommand, DaemonCommandSender}; use mullvad_types::{ - account::AccountData, + account::{AccountData, VoucherSubmission}, location::GeoIpLocation, relay_constraints::RelaySettingsUpdate, relay_list::RelayList, @@ -210,6 +210,17 @@ impl DaemonInterface { self.send_command(DaemonCommand::Shutdown) } + pub fn submit_voucher(&self, voucher: String) -> Result<VoucherSubmission> { + let (tx, rx) = oneshot::channel(); + + self.send_command(DaemonCommand::SubmitVoucher(tx, voucher))?; + + rx.wait() + .map_err(|_| Error::NoResponse)? + .wait() + .map_err(Error::RpcError) + } + pub fn update_relay_settings(&self, update: RelaySettingsUpdate) -> Result<()> { let (tx, rx) = oneshot::channel(); |
