dbus-glib comes with dbus-binding-tool, which can produce somewhat nice client- and server-side wrappers for a D-Bus interface. With GDBus, gdbus-codegen is used and like its counterpart, it also takes D-Bus Introspection XML as input:
If this XML is processed like this
1 2 3 4 5 6 |
gdbus-codegen --interface-prefix org.gtk.GDBus.Example.ObjectManager. \ --generate-c-code generated-code \ --c-namespace Example \ --c-generate-object-manager \ --generate-docbook generated-docs \ gdbus-example-objectmanager.xml |
then two files generated-code.h
and
generated-code.c
are
generated. Additionally, two XML files
generated-docs-org.gtk.GDBus.Example.ObjectManager.Animal
and
generated-docs-org.gtk.GDBus.Example.ObjectManager.Cat
with Docbook XML are generated.
While the contents of generated-code.h
and
generated-code.c
are best described by the
gdbus-codegen manual
page, brief examples of how this generated code can be used can be found in
???
and ???.