1#![deny(rust_2018_idioms)]
2#![doc(
3 html_logo_url = "https://raw.githubusercontent.com/dbus2/zbus/9f7a90d2b594ddc48b7a5f39fda5e00cd56a7dfb/logo.png"
4)]
5#![doc = include_str!("../README.md")]
6#![doc(test(attr(
7 warn(unused),
8 deny(warnings),
9 allow(dead_code),
10 allow(unused_extern_crates),
12)))]
13
14#[cfg(doctest)]
15mod doctests {
16 doc_comment::doctest!("../../README.md");
18 doc_comment::doctest!("../../book/src/client.md");
20 doc_comment::doctest!("../../book/src/concepts.md");
21 #[cfg(feature = "p2p")]
23 doc_comment::doctest!("../../book/src/connection.md");
24 doc_comment::doctest!("../../book/src/contributors.md");
25 doc_comment::doctest!("../../book/src/introduction.md");
26 doc_comment::doctest!("../../book/src/service.md");
27 #[cfg(feature = "blocking-api")]
28 doc_comment::doctest!("../../book/src/blocking.md");
29 doc_comment::doctest!("../../book/src/faq.md");
30}
31
32#[cfg(all(not(feature = "async-io"), not(feature = "tokio")))]
33mod error_message {
34 #[cfg(windows)]
35 compile_error!("Either \"async-io\" (default) or \"tokio\" must be enabled. On Windows \"async-io\" is (currently) required for UNIX socket support");
36
37 #[cfg(not(windows))]
38 compile_error!("Either \"async-io\" (default) or \"tokio\" must be enabled.");
39}
40
41#[cfg(windows)]
42mod win32;
43
44mod dbus_error;
45pub use dbus_error::*;
46
47mod error;
48pub use error::*;
49
50pub mod address;
51pub use address::Address;
52
53mod guid;
54pub use guid::*;
55
56pub mod message;
57pub use message::Message;
58
59pub mod connection;
60pub use connection as conn;
62#[deprecated(
63 since = "5.0.0",
64 note = "Please use `connection::AuthMechanism` instead"
65)]
66pub use connection::handshake::AuthMechanism;
67pub use connection::Connection;
68
69mod message_stream;
70pub use message_stream::*;
71mod abstractions;
72pub use abstractions::*;
73
74pub mod match_rule;
75pub use match_rule::{MatchRule, OwnedMatchRule};
76
77pub mod proxy;
78pub use proxy::Proxy;
79
80pub mod object_server;
81pub use object_server::ObjectServer;
82
83mod utils;
84pub use utils::*;
85
86#[macro_use]
87pub mod fdo;
88
89#[cfg(feature = "blocking-api")]
90pub mod blocking;
91
92pub use zbus_macros::{interface, proxy, DBusError};
93
94extern crate self as zbus;
96
97#[doc(hidden)]
99pub mod export {
100 pub use async_trait;
101 pub use futures_core;
102 pub use ordered_stream;
103 pub use serde;
104}
105
106pub use zbus_names as names;
107pub use zvariant;