COVESA / ifex

The Interface Exchange Framework. Tools for processing interface/API descriptions in different formats, including the IFEX core format. Some example files are at: https://github.com/COVESA/vehicle_service_catalog.
Mozilla Public License 2.0
14 stars 17 forks source link

Initial D-Bus XML support #88

Closed gunnarx closed 1 year ago

gunnarx commented 1 year ago

This adds a generator for D-Bus, represented by its canonical interface description format, which is also known as the D-Bus XML introspection format.

It also adds a helper program to generate C++ server/client stubs and proxies from the resulting D-Bus XML from the sdbus_cpp project. It is in this repository represented by minimal scripts to git-clone and build the program locally and in a container.

(It has been tested, but there is no built in CI test yet that generates XML, and then applies the C++ code generator, but that may come later)

A few other things snuck in and are necessary since the new program depends on them. Apart from minor documentation etc, take note of these:

gunnarx commented 1 year ago

This PR was missing some template files. A a thing to learn is that it was not noticed in CI because it "successfully" produced output, but incomplete because of empty templates. Unit tests that compare the output to some expected output would have caught it, but those aren't built out yet for D-Bus.

The required files are by now included on the master branch.