mirror of
				https://gitlab.freedesktop.org/wayland/wayland.git
				synced 2025-11-03 09:01:42 -05:00 
			
		
		
		
	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
					
				
					 1 changed files with 13 additions and 0 deletions
				
			
		| 
						 | 
					@ -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…
	
	Add table
		Add a link
		
	
		Reference in a new issue