|  |  |  |  | 
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 ???.