COVESA / COVESA/ifex

Implement D-Bus XML introspection reader

Open
#111 0 comments 0 reactions 0 assignees View on GitHub
good first issue help wanted
Dominant language
Python
Stars
24
Forks
24
PR merge metrics
No merged PRs in 30d

Description

Previously a D-Bus XML description output generator has been created, IFEX->D-Bus.

Next, a D-Bus input filter should be developed, to consume D-Bus interface description into IFEX model (enabling D-Bus to ) translations.

Rough design would be:
- Parse XML using a standard parser
- Create simpler recursive parser for the D-Bus type signature: '(n(yyi){yi}a(n))' and convert the fundamental types into IFEX fundamental types. This should be straight forward - bytes, integers, floats, arrays, dict/maps and structs are all supported of course.
- It will be required to create generated parameter names for each type given in a method signature, since the parameters are anonymous there.
- A method signature could be kept as individual components, or converted to a Struct type (like protobuf handles only a single Message definition as argument, not multiple arguments)

Contributor guide

No contributing guide indexed for this repository

Research direction

Review the existing IFEX-to-D-Bus XML output generator and the IFEX model before defining the input filter. Then assess standard XML parsing, D-Bus type-signature parsing, generated parameter names, and whether method signatures should remain component lists or become Struct types; done means D-Bus interface descriptions can be consumed into IFEX for further translations.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.