tokio_dbus/lib.rs
1//! [<img alt="github" src="https://img.shields.io/badge/github-udoprog/tokio--dbus-8da0cb?style=for-the-badge&logo=github" height="20">](https://github.com/udoprog/tokio-dbus)
2//! [<img alt="crates.io" src="https://img.shields.io/crates/v/tokio-dbus.svg?style=for-the-badge&color=fc8d62&logo=rust" height="20">](https://crates.io/crates/tokio-dbus)
3//! [<img alt="docs.rs" src="https://img.shields.io/badge/docs.rs-tokio--dbus-66c2a5?style=for-the-badge&logoColor=white&logo=data:image/svg+xml;base64,PHN2ZyByb2xlPSJpbWciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPjxwYXRoIGZpbGw9IiNmNWY1ZjUiIGQ9Ik00ODguNiAyNTAuMkwzOTIgMjE0VjEwNS41YzAtMTUtOS4zLTI4LjQtMjMuNC0zMy43bC0xMDAtMzcuNWMtOC4xLTMuMS0xNy4xLTMuMS0yNS4zIDBsLTEwMCAzNy41Yy0xNC4xIDUuMy0yMy40IDE4LjctMjMuNCAzMy43VjIxNGwtOTYuNiAzNi4yQzkuMyAyNTUuNSAwIDI2OC45IDAgMjgzLjlWMzk0YzAgMTMuNiA3LjcgMjYuMSAxOS45IDMyLjJsMTAwIDUwYzEwLjEgNS4xIDIyLjEgNS4xIDMyLjIgMGwxMDMuOS01MiAxMDMuOSA1MmMxMC4xIDUuMSAyMi4xIDUuMSAzMi4yIDBsMTAwLTUwYzEyLjItNi4xIDE5LjktMTguNiAxOS45LTMyLjJWMjgzLjljMC0xNS05LjMtMjguNC0yMy40LTMzLjd6TTM1OCAyMTQuOGwtODUgMzEuOXYtNjguMmw4NS0zN3Y3My4zek0xNTQgMTA0LjFsMTAyLTM4LjIgMTAyIDM4LjJ2LjZsLTEwMiA0MS40LTEwMi00MS40di0uNnptODQgMjkxLjFsLTg1IDQyLjV2LTc5LjFsODUtMzguOHY3NS40em0wLTExMmwtMTAyIDQxLjQtMTAyLTQxLjR2LS42bDEwMi0zOC4yIDEwMiAzOC4ydi42em0yNDAgMTEybC04NSA0Mi41di03OS4xbDg1LTM4Ljh2NzUuNHptMC0xMTJsLTEwMiA0MS40LTEwMi00MS40di0uNmwxMDItMzguMiAxMDIgMzguMnYuNnoiPjwvcGF0aD48L3N2Zz4K" height="20">](https://docs.rs/tokio-dbus)
4//!
5//! An asynchronous D-Bus implementation for the Tokio ecosystem.
6//!
7//! So far this is a fairly low-level implementation, but is sufficient to write
8//! efficient servers without some of the flair associated with other clients
9//! (like proxies generated from xml).
10//!
11//! To currently see how it's used, see:
12//! * [examples/client.rs](https://github.com/udoprog/tokio-dbus/blob/main/examples/examples/client.rs)
13//! * [examples/server.rs](https://github.com/udoprog/tokio-dbus/blob/main/examples/examples/server.rs)
14
15#![deny(missing_docs)]
16#![allow(clippy::module_inception)]
17
18#[macro_use]
19mod macros;
20
21#[doc(inline)]
22pub use self::proto::{Endianness, Flags};
23#[macro_use]
24mod proto;
25
26pub mod org_freedesktop_dbus;
27
28#[doc(inline)]
29pub use self::write::Write;
30mod write;
31
32#[doc(inline)]
33pub use self::read::Read;
34mod read;
35
36#[doc(inline)]
37pub use self::error::{Error, Result};
38mod error;
39
40pub(crate) mod buf;
41
42#[doc(inline)]
43pub use self::body_buf::{BodyBuf, StoreArray, StoreStruct};
44mod body_buf;
45
46#[doc(inline)]
47pub use self::body::{AsBody, Body, LoadArray};
48mod body;
49
50#[doc(inline)]
51pub use self::send_buf::SendBuf;
52mod send_buf;
53
54#[doc(inline)]
55pub use self::recv_buf::RecvBuf;
56mod recv_buf;
57
58mod sasl;
59
60#[doc(inline)]
61pub use self::signature::{Signature, SignatureBuf, SignatureError};
62mod signature;
63
64#[doc(inline)]
65pub use self::frame::Frame;
66mod frame;
67
68#[doc(inline)]
69pub use self::storable::Storable;
70mod storable;
71
72#[doc(inline)]
73pub use self::message::{Message, MessageBuf, MessageKind};
74mod message;
75
76#[cfg(feature = "tokio")]
77#[doc(inline)]
78pub use self::connection::{Connection, ConnectionBuilder};
79mod connection;
80
81mod lossy_str;
82
83mod utils;
84
85#[doc(inline)]
86pub use self::object_path::{ObjectPath, ObjectPathBuf, ObjectPathError};
87mod object_path;
88
89#[doc(inline)]
90pub use self::variant::Variant;
91mod variant;
92
93pub mod ty;
94
95#[doc(inline)]
96pub use self::arguments::Arguments;
97mod arguments;