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 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();