From 737b687bd318368166941eeaed71716abb856c76 Mon Sep 17 00:00:00 2001 From: Lucy Date: Fri, 21 Jan 2022 10:13:48 -0500 Subject: [PATCH] Make settings serializable --- networkmanager/Cargo.toml | 1 + networkmanager/src/settings/connection.rs | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/networkmanager/Cargo.toml b/networkmanager/Cargo.toml index 783edce..ac846f1 100644 --- a/networkmanager/Cargo.toml +++ b/networkmanager/Cargo.toml @@ -7,6 +7,7 @@ license = "MPL-2.0" [dependencies] bitflags = "1.3.2" derive_builder = "0.10.2" +serde = { version = "1.0.134", features = ["derive"] } zbus = "2.0.1" [features] diff --git a/networkmanager/src/settings/connection.rs b/networkmanager/src/settings/connection.rs index 1a3f53d..17f76cb 100644 --- a/networkmanager/src/settings/connection.rs +++ b/networkmanager/src/settings/connection.rs @@ -22,10 +22,11 @@ impl<'a> From> for Connection<'a> { macro_rules! derive_value_build { ($name:ident, $(($arg:ident: $arg_ty:ty)),*) => { - #[derive(Builder)] + #[derive(Builder, serde::Deserialize, serde::Serialize)] pub struct $name { $( #[builder(setter(into, strip_option))] + #[serde(skip_serializing_if = "Option::is_none")] $arg: Option<$arg_ty>, )* }