summaryrefslogtreecommitdiffhomepage
path: root/mullvad-management-interface
diff options
context:
space:
mode:
authorMarkus Pettersson <markus.pettersson@mullvad.net>2023-12-22 12:55:36 +0100
committerMarkus Pettersson <markus.pettersson@mullvad.net>2024-01-08 09:03:52 +0100
commit10c990ee1d296970ecd60fbde0ce147ca922ec99 (patch)
tree1b32cb7780fb1ec32fa6468241838b2b43d5702f /mullvad-management-interface
parent1bcf0ef542af225747fcaa3a6fcebd0819d82f0c (diff)
downloadmullvadvpn-10c990ee1d296970ecd60fbde0ce147ca922ec99.tar.xz
mullvadvpn-10c990ee1d296970ecd60fbde0ce147ca922ec99.zip
Add new internal daemon event `AccessMethodEvent`
Add a new `InternalDaemonEvent` for announcing when the current API access method changes.
Diffstat (limited to 'mullvad-management-interface')
-rw-r--r--mullvad-management-interface/proto/management_interface.proto1
-rw-r--r--mullvad-management-interface/src/client.rs6
-rw-r--r--mullvad-management-interface/src/types/conversions/access_method.rs10
3 files changed, 15 insertions, 2 deletions
diff --git a/mullvad-management-interface/proto/management_interface.proto b/mullvad-management-interface/proto/management_interface.proto
index 268e70327d..6978e5a666 100644
--- a/mullvad-management-interface/proto/management_interface.proto
+++ b/mullvad-management-interface/proto/management_interface.proto
@@ -594,6 +594,7 @@ message DaemonEvent {
AppVersionInfo version_info = 4;
DeviceEvent device = 5;
RemoveDeviceEvent remove_device = 6;
+ AccessMethodSetting new_access_method = 7;
}
}
diff --git a/mullvad-management-interface/src/client.rs b/mullvad-management-interface/src/client.rs
index 85048e29e7..2c0ca2fecf 100644
--- a/mullvad-management-interface/src/client.rs
+++ b/mullvad-management-interface/src/client.rs
@@ -37,6 +37,7 @@ pub enum DaemonEvent {
AppVersionInfo(AppVersionInfo),
Device(DeviceEvent),
RemoveDevice(RemoveDeviceEvent),
+ NewAccessMethod(AccessMethodSetting),
}
impl TryFrom<types::daemon_event::Event> for DaemonEvent {
@@ -62,6 +63,11 @@ impl TryFrom<types::daemon_event::Event> for DaemonEvent {
types::daemon_event::Event::RemoveDevice(event) => RemoveDeviceEvent::try_from(event)
.map(DaemonEvent::RemoveDevice)
.map_err(Error::InvalidResponse),
+ types::daemon_event::Event::NewAccessMethod(event) => {
+ AccessMethodSetting::try_from(event)
+ .map(DaemonEvent::NewAccessMethod)
+ .map_err(Error::InvalidResponse)
+ }
}
}
}
diff --git a/mullvad-management-interface/src/types/conversions/access_method.rs b/mullvad-management-interface/src/types/conversions/access_method.rs
index 368528f5bc..a5aa84d374 100644
--- a/mullvad-management-interface/src/types/conversions/access_method.rs
+++ b/mullvad-management-interface/src/types/conversions/access_method.rs
@@ -252,14 +252,20 @@ mod data {
}
}
- impl From<Id> for proto::Uuid {
- fn from(value: Id) -> Self {
+ impl From<&Id> for proto::Uuid {
+ fn from(value: &Id) -> Self {
proto::Uuid {
value: value.to_string(),
}
}
}
+ impl From<Id> for proto::Uuid {
+ fn from(value: Id) -> Self {
+ proto::Uuid::from(&value)
+ }
+ }
+
impl TryFrom<proto::Uuid> for Id {
type Error = FromProtobufTypeError;