scanner: Generate macros for getting the 'since' version of an event
This could be useful for compositors who need to be able to not send events if the client bound a version lower than the newest provided. Event version numbers are exposed as [INTERFACE_NAME]_[EVENT_NAME]_SINCE_VERSION for example wl_output.scale will have the version macro WL_OUTPUT_SCALE_SINCE_VERSION. Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
This commit is contained in:
parent
e2b1218422
commit
35be5a7c65
|
@ -578,6 +578,18 @@ emit_opcodes(struct wl_list *message_list, struct interface *interface)
|
||||||
printf("\n");
|
printf("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
emit_opcode_versions(struct wl_list *message_list, struct interface *interface)
|
||||||
|
{
|
||||||
|
struct message *m;
|
||||||
|
|
||||||
|
wl_list_for_each(m, message_list, link)
|
||||||
|
printf("#define %s_%s_SINCE_VERSION\t%d\n",
|
||||||
|
interface->uppercase_name, m->uppercase_name, m->since);
|
||||||
|
|
||||||
|
printf("\n");
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
emit_type(struct arg *a)
|
emit_type(struct arg *a)
|
||||||
{
|
{
|
||||||
|
@ -1004,6 +1016,7 @@ emit_header(struct protocol *protocol, int server)
|
||||||
if (server) {
|
if (server) {
|
||||||
emit_structs(&i->request_list, i);
|
emit_structs(&i->request_list, i);
|
||||||
emit_opcodes(&i->event_list, i);
|
emit_opcodes(&i->event_list, i);
|
||||||
|
emit_opcode_versions(&i->event_list, i);
|
||||||
emit_event_wrappers(&i->event_list, i);
|
emit_event_wrappers(&i->event_list, i);
|
||||||
} else {
|
} else {
|
||||||
emit_structs(&i->event_list, i);
|
emit_structs(&i->event_list, i);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user