1// Copyright 2022 The AccessKit Authors. All rights reserved.
2// Licensed under the Apache License, Version 2.0 (found in
3// the LICENSE-APACHE file) or the MIT license (found in
4// the LICENSE-MIT file), at your option.
5
6/// ## Compatibility with async runtimes
7///
8/// While this crate's API is purely blocking, it internally spawns asynchronous tasks on an executor.
9///
10/// - If you use tokio, make sure to enable the `tokio` feature of this crate.
11/// - If you use another async runtime or if you don't use one at all, the default feature will suit your needs.
12
13#[macro_use]
14extern crate zbus;
15
16#[cfg(all(not(feature = "async-io"), not(feature = "tokio")))]
17compile_error!("Either \"async-io\" (default) or \"tokio\" feature must be enabled.");
18
19#[cfg(all(feature = "async-io", feature = "tokio"))]
20compile_error!(
21 "Both \"async-io\" (default) and \"tokio\" features cannot be enabled at the same time."
22);
23
24mod adapter;
25mod atspi;
26mod context;
27mod executor;
28mod util;
29
30pub use adapter::Adapter;
31