Commit graph

7 commits

Author SHA1 Message Date
Peter Hutterer
20e425a48d scanner: add the camel_name property to our messages
This allows for templating into EiConnectionSetup and the like
2023-03-03 11:21:26 +10:00
Peter Hutterer
a0b2cfffa9 scanner: switch to a two-run parsing of the XML file
On the first run we extract the interfaces only, on the second run all
the rest. This allows us to pass the interface to the Argument where
appropriate.
2023-03-03 11:21:26 +10:00
Peter Hutterer
21df02e499 protocol: add the "bitmask" enum type and check for it
Plus check for duplicate values in enums
2023-03-03 11:21:26 +10:00
Peter Hutterer
6721802059 protocol: require the "since" attribute for all messages
And generally improve the error message handling
2023-03-03 11:21:26 +10:00
Peter Hutterer
91ec792d74 scanner: add enum verification checks 2023-03-03 11:21:26 +10:00
Peter Hutterer
d0e6c251b6 protocol: rename the ei core interface to ei_connection
In the protocol this is a simple rename but in the implementation we can
now separate the protocol object out from the ei/ei-client context
itself by having the ei_connection objects.
2023-03-03 11:20:42 +10:00
Peter Hutterer
b02b4f0901 Drop protobuf in favour of a custom protocol
This protocol is wayland-like though it uses a slightly different
message format. The XML file uses the same structure, except for the
"fixed" type which is "float" here.

The scanner uses a jinja template to generate source and header files
for ei and eis which are now used instead of the protobuf-generated
objects. Note that the scanner is a minimal working version, some
features like enum value checks are not yet implemented.

Unlike wayland we do not need to generate the libwayland-like library,
we only need the wire protocol parser - some shortcuts can thus be taken.

To keep the changes simple, the protocol currently is a flat protocol
with only one interface and all messages copied over from the previous
ei.proto file. In future commits, this will be moved to the respective
interfaces instead.
2023-03-03 11:20:42 +10:00