dbus-crossroads 0.1.0

Framework for writing D-Bus method handlers
Documentation

crates.io API documentation license

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