1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//! Reactive state for Wayle services. Wrap a value in [`Property<T>`]
//! and consumers can `.get()` it or `.watch()` for a stream of changes.
//!
//! ```rust,no_run
//! use wayle_core::Property;
//! use futures::stream::StreamExt;
//!
//! # async fn example() {
//! let brightness = Property::new(75u32);
//! brightness.set(100);
//!
//! let mut changes = brightness.watch();
//! while let Some(level) = changes.next().await {
//! println!("{level}");
//! }
//! # }
//! ```
//!
//! Also includes D-Bus macros (`unwrap_*!`, `watch_all!`) for extracting
//! properties with type-safe defaults.
//!
//! Enable `schema` for [`schemars::JsonSchema`] support on `Property<T>`.
/// XDG Base Directory path resolution.
use Arc;
pub use ;
/// A [`Property`] holding a service that initializes in the background.
/// Starts `None`, becomes `Some` once the service is ready.
pub type DeferredService<T> = ;
/// D-Bus root object path.
pub const ROOT_PATH: &str = "/";
/// D-Bus null object path (no associated object).
pub const NULL_PATH: &str = "/";
;