tmp/fmt: introduce a complete D-Bus type-system #3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Introduce the
fmt::dbusmodule with a complete D-Bus type-system. This adds theelementmodule, as well as thesignaturemodule. 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 withDVariant. It is mainly used by the GNOME project and glib.Json: A newGVariant-compatible version, but using JSON as encoding.dbus::Sigis 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::Cursoris used to iterate over a type and its individual elements. It is only needed when introspecting unknown types.