diff --git a/Cargo.lock b/Cargo.lock index 2a4d825..d395699 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -473,9 +473,9 @@ dependencies = [ [[package]] name = "serde-xml-rs" -version = "0.7.1" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6560602b989198ebb381e3192c86970116b3b2e13b8b8a39d6d0850e40b6b81" +checksum = "53630160a98edebde0123eb4dfd0fce6adff091b2305db3154a9e920206eb510" dependencies = [ "log", "serde", diff --git a/bluez-async/Cargo.toml b/bluez-async/Cargo.toml index c237a16..27238c0 100644 --- a/bluez-async/Cargo.toml +++ b/bluez-async/Cargo.toml @@ -21,7 +21,7 @@ futures = "0.3.31" itertools = "0.14.0" log = "0.4.27" serde = { version = "1.0.219", features = ["derive"] } -serde-xml-rs = "0.7.1" +serde-xml-rs = "0.8.1" thiserror = "2.0.12" tokio = { version = "1.45.1", features = ["rt"] } uuid = "1.16.0" diff --git a/bluez-async/src/introspect.rs b/bluez-async/src/introspect.rs index fbff7c5..53a89f7 100644 --- a/bluez-async/src/introspect.rs +++ b/bluez-async/src/introspect.rs @@ -5,6 +5,7 @@ use super::BluetoothError; #[derive(Clone, Debug, Deserialize, PartialEq)] pub struct Node { + #[serde(rename = "@name")] pub name: Option, #[serde(rename = "interface", default)] pub interfaces: Vec, @@ -14,6 +15,7 @@ pub struct Node { #[derive(Clone, Debug, Deserialize, PartialEq)] pub struct Interface { + #[serde(rename = "@name")] pub name: String, #[serde(rename = "method", default)] pub methods: Vec, @@ -27,6 +29,7 @@ pub struct Interface { #[derive(Clone, Debug, Deserialize, PartialEq)] pub struct Method { + #[serde(rename = "@name")] pub name: String, #[serde(rename = "arg", default)] pub args: Vec, @@ -36,6 +39,7 @@ pub struct Method { #[derive(Clone, Debug, Deserialize, PartialEq)] pub struct Signal { + #[serde(rename = "@name")] pub name: String, #[serde(rename = "arg", default)] pub args: Vec, @@ -45,9 +49,11 @@ pub struct Signal { #[derive(Clone, Debug, Deserialize, PartialEq)] pub struct Property { + #[serde(rename = "@name")] pub name: String, - #[serde(rename = "type")] + #[serde(rename = "@type")] pub dbustype: String, + #[serde(rename = "@access")] pub access: Access, #[serde(rename = "annotation", default)] pub annotations: Vec, @@ -55,10 +61,11 @@ pub struct Property { #[derive(Clone, Debug, Deserialize, PartialEq)] pub struct MethodArg { + #[serde(rename = "@name")] pub name: Option, - #[serde(rename = "type")] + #[serde(rename = "@type")] pub dbustype: String, - #[serde(default = "default_method_arg_direction")] + #[serde(rename = "@direction", default = "default_method_arg_direction")] pub direction: Direction, #[serde(rename = "annotation", default)] pub annotations: Vec, @@ -66,10 +73,11 @@ pub struct MethodArg { #[derive(Clone, Debug, Deserialize, PartialEq)] pub struct SignalArg { + #[serde(rename = "@name")] pub name: Option, - #[serde(rename = "type")] + #[serde(rename = "@type")] pub dbustype: String, - #[serde(default = "default_signal_arg_direction")] + #[serde(rename = "@direction", default = "default_signal_arg_direction")] pub direction: Direction, #[serde(rename = "annotation", default)] pub annotations: Vec, @@ -85,7 +93,9 @@ fn default_signal_arg_direction() -> Direction { #[derive(Clone, Debug, Deserialize, PartialEq)] pub struct Annotation { + #[serde(rename = "@name")] pub name: String, + #[serde(rename = "@value")] pub value: String, }