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.
Write a document to describe the features of D-Bus and how to map types/features.
Implement IFEX Core IDL to D-Bus XML Introspection format translator/generator.
Nice to have:
D-Bus XML to IFEX translator (opposite direction). (As most things, it will be prioritized if it is needed by someone).
Make it easy to run a C++ code generator on the result:
Leveraging sdbus-cpp seems a likely candidate - it includes the XML-to-C++ generator.
Do the same for maybe one other option (Rust generator zbus_xmlgen as generator, binding against zbus library).
Not planned:
Additional bindings/languages
(Creating a few scripts/configurations to run the XML-to-code generation tools within IFEX repository is mostly to prove that the XML output actually works (and it might be part of unit/regression tests). We are however unlikely to implement additional bindings beyond sdbus/C++ and one other within the IFEX project itself - it is trivial to do it on your own, for those that need that. Most environments ought to be able to use the XML description format as input so that's the extent of the required work for IFEX)
To be determined:
Advanced support would suggest additional Layer Types to configure how each thing is translated - e.g. for properties there is the possibility to enable a change-signal or not, and so on.
Plan for D-Bus
Required:
Nice to have:
Not planned:
(Creating a few scripts/configurations to run the XML-to-code generation tools within IFEX repository is mostly to prove that the XML output actually works (and it might be part of unit/regression tests). We are however unlikely to implement additional bindings beyond sdbus/C++ and one other within the IFEX project itself - it is trivial to do it on your own, for those that need that. Most environments ought to be able to use the XML description format as input so that's the extent of the required work for IFEX)
To be determined: