Make the XML interfaces the single source of truth
The XML descriptions of DBus interfaces and the actual C code that implements them have gone out of sync in the past.
Some tasks to fix this:
Revive the scripts to generate
introspection.[ch]from the XML files.
Maybe remove hardcoded
version="0.1.7"attribute from introspection XML (see below).
Don't remove annotations from XML for introspection (see below).
Replace the copies of
introspection.[ch]in the various modules with code generated at build time.
Audit C code for each interface/method to ensure it matches the XML; increase test coverage to do this.Offloaded to #75
Replace hand-written DBus code with GDBus code generation.Offloaded to #76
I'll start working on this.