Commit 8f14733
committed
tmp/fmt: introduce a complete D-Bus type-system
Introduce the `fmt::dbus` module with a complete D-Bus type-system. This
adds the `element` module, as well as the `signature` module. Combined
they provide full parsers of D-Bus type strings with support for a range
of variants:
- `DVariant`: The classic D-Bus wire format as defined by the original
dbus-specification, but including extensions up to the current
version.
- `GVariant`: A complete rework of the wire-format, but type-system
compatible with `DVariant`. It is mainly used by the GNOME project and
glib.
- `Json`: A new `GVariant`-compatible version, but using JSON as
encoding.
`dbus::Sig` is the main type of the type-system. It represents a D-Bus
Single Complete Type, but provides pre-formatted information on the full
type and all its sub-types.
`dbus::Cursor` is used to iterate over a type and its individual
elements. It is only needed when introspecting unknown types.
Signed-off-by: David Rheinsberg <david@readahead.eu>1 parent 9184965 commit 8f14733
File tree
5 files changed
+2399
-0
lines changed- lib/tmp/src
- fmt
- dbus
5 files changed
+2399
-0
lines changed
0 commit comments