zvariant/
lib.rs

1#![allow(clippy::unusual_byte_groupings)]
2#![deny(rust_2018_idioms)]
3#![doc(
4    html_logo_url = "https://raw.githubusercontent.com/dbus2/zbus/9f7a90d2b594ddc48b7a5f39fda5e00cd56a7dfb/logo.png"
5)]
6#![doc = include_str!("../README.md")]
7#![doc(test(attr(
8    warn(unused),
9    deny(warnings),
10    allow(dead_code),
11    // W/o this, we seem to get some bogus warning about `extern crate zbus`.
12    allow(unused_extern_crates),
13)))]
14#![cfg_attr(test, recursion_limit = "256")]
15
16#[macro_use]
17mod utils;
18pub use utils::*;
19
20mod array;
21pub use array::*;
22
23mod basic;
24pub use basic::*;
25
26mod dict;
27pub use dict::*;
28
29pub mod serialized;
30
31#[cfg(unix)]
32mod fd;
33#[cfg(unix)]
34pub use fd::*;
35
36mod object_path;
37pub use crate::object_path::*;
38
39mod file_path;
40pub use crate::file_path::*;
41
42mod ser;
43pub use ser::*;
44
45mod de;
46
47pub mod dbus;
48#[cfg(feature = "gvariant")]
49pub mod gvariant;
50
51pub mod signature;
52pub use signature::Signature;
53
54mod str;
55pub use crate::str::*;
56
57mod structure;
58pub use crate::structure::*;
59
60#[cfg(feature = "gvariant")]
61mod maybe;
62#[cfg(feature = "gvariant")]
63pub use crate::maybe::*;
64
65mod optional;
66pub use crate::optional::*;
67
68mod value;
69pub use value::*;
70
71mod error;
72pub use error::*;
73
74#[macro_use]
75mod r#type;
76pub use r#type::*;
77
78mod tuple;
79pub use tuple::*;
80
81mod from_value;
82
83mod into_value;
84
85mod owned_value;
86pub use owned_value::*;
87
88#[cfg(feature = "gvariant")]
89mod framing_offset_size;
90#[cfg(feature = "gvariant")]
91mod framing_offsets;
92
93mod container_depths;
94
95pub mod as_value;
96#[deprecated(since = "5.5.0", note = "Use `as_value::Deserialize` instead.")]
97pub use as_value::Deserialize as DeserializeValue;
98#[deprecated(since = "5.5.0", note = "Use `as_value::Serialize` instead.")]
99pub use as_value::Serialize as SerializeValue;
100
101pub use zvariant_derive::{DeserializeDict, OwnedValue, SerializeDict, Type, Value};
102
103// Required for the macros to function within this crate.
104extern crate self as zvariant;
105
106// Macro support module, not part of the public API.
107#[doc(hidden)]
108pub mod export {
109    pub use serde;
110}
111
112// Re-export all of the `endi` API for ease of use.
113pub use endi::*;