libei/proto
Peter Hutterer db786c7822 protocol: add a ei_connection_setup interface
This replaces the connect/connect_done and version/get_version requests.
Immediately after connecting, the server sends an ei_protocol_setup
event to the client with the ID of the object and the server's highest
supported version number (of this object).

This is a one-shot object that the client can use to configure its name
and whether it is a sender or receiver context. Once .done is sent, the
object is discarded.

The server version is sent along to the client to allow for requests to
be added to this object in the future.

As a fixme left: the client now assumes to be connected as soon as the
.done request is sent and the following sync event is received. The
EIS implementation will not have actually eis_client_connect()ed the
client yet, but it's good enough for now.

Arguably, the CONNECTED event is superfluous anyway since *any* event
other than DISCONNECTED indicates connected status. CONNECTED is a
leftover from when the client created devices and needed to know if it's
worth doing so.
2023-03-03 11:20:42 +10:00
..
ei-proto.c.tmpl protocol: rename the ei core interface to ei_connection 2023-03-03 11:20:42 +10:00
ei-proto.h.tmpl protocol: rename the ei core interface to ei_connection 2023-03-03 11:20:42 +10:00
meson.build Drop protobuf in favour of a custom protocol 2023-03-03 11:20:42 +10:00
protocol.xml protocol: add a ei_connection_setup interface 2023-03-03 11:20:42 +10:00
scanner.py protocol: rename the ei core interface to ei_connection 2023-03-03 11:20:42 +10:00