
dbus-crossroads is a library that helps you implement interfaces on object paths, i e
"server side" method handler code.
You can jump into the commented examples, one for sync
and one for async (dbus-tokio),
or familiarize yourself using the API reference.
When complete, it will supersede the dbus::tree module. Known missing pieces:
- Asynchronous "get property" handlers (asynchronous methods and set property handlers are implemented)
- ObjectManager support
Design decisions (compared to dbus::tree):
- First class support for both sync and async methods
- Less generics makes a less cluttered API
- The tree/crossroads instance is
Send
(but not Sync
).
- You can now modify the instance from within a method handler
- Different object paths can contain different types of data
- Interface descriptions are kept in a registry, which means less reference counting