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
//! Contains functionality for dispatching methods on a D-Bus "server".
//!
//! # Example
//! ```rust,no_run
//! use dbus_tree::Factory;
//! use dbus::ffidisp::Connection;
//! let f = Factory::new_fn::<()>();
//! /* Add a method returning "Thanks!" on interface "com.example.dbus.rs"
//! on object path "/example". */
//! let t = f.tree(()).add(f.object_path("/example", ()).introspectable()
//! .add(f.interface("com.example.dbus.rs", ())
//! .add_m(f.method("CallMe", (), |m| {
//! Ok(vec!(m.msg.method_return().append1("Thanks!"))) }
//! ).out_arg("s"))
//! ));
//!
//! let c = Connection::new_session().unwrap();
//! t.set_registered(&c, true).unwrap();
//! c.add_handler(t);
//! /* Run forever */
//! loop { c.incoming(1000).next(); }
//! ```
//!
//! See `examples/server.rs` and `examples/adv_server.rs` for more thorough examples.
pub use MethodErr;
pub use ;
pub use ;
pub use ;
pub use ;
pub use Factory;