Module dbus::tree [] [src]

Contains functionality for dispatching methods on a D-Bus "server". Supersedes the obj module.

Example

use dbus::{tree, Connection, BusType};
let f = tree::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().append("Thanks!"))) }
        ).out_arg("s"))
));

let c = Connection::get_private(BusType::Session).unwrap();
t.set_registered(&c, true).unwrap();
/* Run forever */
for _ in t.run(&c, c.iter(1000)) {}

See examples/server.rs and examples/adv_server.rs for more thorough examples.

Structs

Argument

A D-Bus Argument.

Factory

The factory is used to create object paths, interfaces, methods etc.

Interface

Represents a D-Bus interface.

MTFn

An abstract type to represent Fn functions.

MTFnMut

An abstract type to represent FnMut functions.

MTSync

An abstract type to represent Fn + Send + Sync functions (that can be called from several threads in parallel).

Method

A D-Bus Method.

MethodErr

A D-Bus Method Error.

MethodInfo

Contains information about the incoming method call.

ObjectPath

A D-Bus Object Path.

PropInfo

Contains information about the incoming property get/set request.

Property

A D-Bus Property.

Signal

A D-Bus Signal.

Tree

A collection of object paths.

TreeServer

An iterator adapter that handles incoming method calls.

Enums

Access

The possible access characteristics a Property can have.

EmitsChangedSignal

Enumerates the different signaling behaviors a Property can have to being changed.

Traits

DataType

Associated data for different objects in a tree.

MethodType

A helper trait used internally to make the tree generic over MTFn, MTFnMut and MTSync.

Type Definitions

MethodResult

Result containing the Messages returned from the Method, or a MethodErr.