zvariant/as_value/
mod.rs

1//! Utilities to (de)serialize a value as a [`enum@zvariant::Value`].
2//!
3//! This is mainly useful for constructing a strongly-typed API for dealing with dictionaries
4//! containing string keys and variant values (`a{sv}` in D-Bus language) See the relevant
5//! [FAQ entry] in our book for more details and examples.
6//!
7//! [FAQ entry]: https://dbus2.github.io/zbus/faq.html#how-to-use-a-struct-as-a-dictionary
8
9mod deserialize;
10pub use deserialize::{deserialize, Deserialize};
11mod serialize;
12pub use serialize::{serialize, Serialize};
13
14/// Utilities to (de)serialize an optional value as a [`enum@zvariant::Value`].
15pub mod optional {
16    use super::*;
17
18    pub use deserialize::deserialize_optional as deserialize;
19    pub use serialize::serialize_optional as serialize;
20}