https://github.com/mathstuf/rust-bus
Library for exposing a D-Bus interface.
https://github.com/mathstuf/rust-bus
dbus rust-bus
Last synced: about 1 year ago
JSON representation
Library for exposing a D-Bus interface.
- Host: GitHub
- URL: https://github.com/mathstuf/rust-bus
- Owner: mathstuf
- License: bsd-3-clause
- Created: 2015-09-01T04:55:08.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2017-08-20T15:11:06.000Z (almost 9 years ago)
- Last Synced: 2025-03-05T01:44:53.799Z (over 1 year ago)
- Topics: dbus, rust-bus
- Language: Rust
- Homepage:
- Size: 122 KB
- Stars: 1
- Watchers: 3
- Forks: 1
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# rust-bus
Module for exposing interfaces to a D-Bus manager.
The `bus` crate makes it easy to expose interfaces on the D-Bus. Objects are
created and added to servers which delegate messages across the objects. The
standard interfaces such as properties and introspection are provided
automatically.
Servers may also be created to listen for signals and handle them.
## TODO
Things are not yet complete, but here's a list of things that need to be done
(in rough order of importance):
- Automatically request matches for servers which are created.
- Implement the [`org.freedesktop.DBus.ObjectManager`][object-manager]
interface.
- Implement the
[`org.freedesktop.DBus.Properties.PropertiesChanged`][properties] method.
- Validate that object paths are valid.
- Use a standard event loop (currently blocks).
- Allow less common connection creation.
- Create a tool to create bindings from XML (probably a separate repository).
- Create a tool to create skeleton Rust code from XML (also a separate
repository).
- Make signature building easier.
- Check that properties use the correct types which match their signatures.
[object-manager]: https://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-objectmanager
[properties]: https://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-properties