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.