xwayland: Avoid hardcoding the interface name

The Wayland interfaces have a "name" field that we can use instead of
hardcoding their name.

Change the code to use that name instead of the static strings.

This was inspired by a similar change in mutter by Robert Mader
<robert.mader@collabora.com>.

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
Olivier Fourdan 2023-11-22 09:14:15 +01:00 committed by Olivier Fourdan
parent 2cc869626a
commit 372f67796f
4 changed files with 21 additions and 21 deletions

View File

@ -663,7 +663,7 @@ xwl_glamor_eglstream_init_wl_registry(struct xwl_screen *xwl_screen,
struct xwl_eglstream_private *xwl_eglstream =
xwl_eglstream_get(xwl_screen);
if (strcmp(name, "wl_eglstream_display") == 0) {
if (strcmp(name, wl_eglstream_display_interface.name) == 0) {
xwl_eglstream->display = wl_registry_bind(
wl_registry, id, &wl_eglstream_display_interface, version);
@ -671,11 +671,11 @@ xwl_glamor_eglstream_init_wl_registry(struct xwl_screen *xwl_screen,
&eglstream_display_listener,
xwl_screen);
return TRUE;
} else if (strcmp(name, "wl_eglstream_controller") == 0) {
} else if (strcmp(name, wl_eglstream_controller_interface.name) == 0) {
xwl_eglstream->controller = wl_registry_bind(
wl_registry, id, &wl_eglstream_controller_interface, version);
return TRUE;
} else if (strcmp(name, "zwp_linux_dmabuf_v1") == 0) {
} else if (strcmp(name, zwp_linux_dmabuf_v1_interface.name) == 0) {
xwl_screen_set_dmabuf_interface(xwl_screen, id, version);
return TRUE;
}

View File

@ -1004,10 +1004,10 @@ xwl_glamor_gbm_init_wl_registry(struct xwl_screen *xwl_screen,
uint32_t id, const char *name,
uint32_t version)
{
if (strcmp(name, "wl_drm") == 0) {
if (strcmp(name, wl_drm_interface.name) == 0) {
xwl_screen_set_drm_interface(xwl_screen, id, version);
return TRUE;
} else if (strcmp(name, "zwp_linux_dmabuf_v1") == 0) {
} else if (strcmp(name, zwp_linux_dmabuf_v1_interface.name) == 0) {
xwl_screen_set_dmabuf_interface(xwl_screen, id, version);
return TRUE;
}

View File

@ -3025,22 +3025,22 @@ input_handler(void *data, struct wl_registry *registry, uint32_t id,
{
struct xwl_screen *xwl_screen = data;
if (strcmp(interface, "wl_seat") == 0 && version >= 3) {
if (strcmp(interface, wl_seat_interface.name) == 0 && version >= 3) {
create_input_device(xwl_screen, id, version);
xwl_screen->expecting_event++;
} else if (strcmp(interface, "zwp_relative_pointer_manager_v1") == 0) {
} else if (strcmp(interface, zwp_relative_pointer_manager_v1_interface.name) == 0) {
init_relative_pointer_manager(xwl_screen, id, version);
maybe_init_relative_pointer_listeners_after_capabilities(xwl_screen);
} else if (strcmp(interface, "zwp_pointer_constraints_v1") == 0) {
} else if (strcmp(interface, zwp_pointer_constraints_v1_interface.name) == 0) {
init_pointer_constraints(xwl_screen, id, version);
} else if (strcmp(interface, "zwp_pointer_gestures_v1") == 0) {
} else if (strcmp(interface, zwp_pointer_gestures_v1_interface.name) == 0) {
init_pointer_gestures(xwl_screen, id, version);
maybe_init_pointer_gesture_listeners_after_capabilities(xwl_screen);
} else if (strcmp(interface, "zwp_tablet_manager_v2") == 0) {
} else if (strcmp(interface, zwp_tablet_manager_v2_interface.name) == 0) {
init_tablet_manager(xwl_screen, id, version);
} else if (strcmp(interface, "zwp_xwayland_keyboard_grab_manager_v1") == 0) {
} else if (strcmp(interface, zwp_xwayland_keyboard_grab_manager_v1_interface.name) == 0) {
init_keyboard_grab(xwl_screen, id, version);
} else if (strcmp(interface, "zwp_keyboard_shortcuts_inhibit_manager_v1") == 0) {
} else if (strcmp(interface, zwp_keyboard_shortcuts_inhibit_manager_v1_interface.name) == 0) {
init_keyboard_shortcuts_inhibit(xwl_screen, id, version);
}
}

View File

@ -448,7 +448,7 @@ registry_global(void *data, struct wl_registry *registry, uint32_t id,
{
struct xwl_screen *xwl_screen = data;
if (strcmp(interface, "wl_compositor") == 0) {
if (strcmp(interface, wl_compositor_interface.name) == 0) {
uint32_t request_version = 1;
if (version >= WL_SURFACE_DAMAGE_BUFFER_SINCE_VERSION)
@ -457,28 +457,28 @@ registry_global(void *data, struct wl_registry *registry, uint32_t id,
xwl_screen->compositor =
wl_registry_bind(registry, id, &wl_compositor_interface, request_version);
}
else if (strcmp(interface, "wl_shm") == 0) {
else if (strcmp(interface, wl_shm_interface.name) == 0) {
xwl_screen->shm = wl_registry_bind(registry, id, &wl_shm_interface, 1);
}
else if (strcmp(interface, "xdg_wm_base") == 0) {
else if (strcmp(interface, xdg_wm_base_interface.name) == 0) {
xwl_screen->xdg_wm_base =
wl_registry_bind(registry, id, &xdg_wm_base_interface, 1);
xdg_wm_base_add_listener(xwl_screen->xdg_wm_base,
&xdg_wm_base_listener,
NULL);
}
else if (strcmp(interface, "wl_output") == 0 && version >= 2) {
else if (strcmp(interface, wl_output_interface.name) == 0 && version >= 2) {
if (xwl_output_create(xwl_screen, id, (xwl_screen->fixed_output == NULL), version))
xwl_screen->expecting_event++;
}
else if (strcmp(interface, "zxdg_output_manager_v1") == 0) {
else if (strcmp(interface, zxdg_output_manager_v1_interface.name) == 0) {
/* We support xdg-output from version 1 to version 3 */
version = min(version, 3);
xwl_screen->xdg_output_manager =
wl_registry_bind(registry, id, &zxdg_output_manager_v1_interface, version);
xwl_screen_init_xdg_output(xwl_screen);
}
else if (strcmp(interface, "wp_drm_lease_device_v1") == 0) {
else if (strcmp(interface, wp_drm_lease_device_v1_interface.name) == 0) {
if (xwl_screen->screen->root == NULL) {
struct xwl_queued_drm_lease_device *queued = malloc(sizeof(struct xwl_queued_drm_lease_device));
queued->id = id;
@ -487,14 +487,14 @@ registry_global(void *data, struct wl_registry *registry, uint32_t id,
xwl_screen_add_drm_lease_device(xwl_screen, id);
}
}
else if (strcmp(interface, "wp_viewporter") == 0) {
else if (strcmp(interface, wp_viewporter_interface.name) == 0) {
xwl_screen->viewporter = wl_registry_bind(registry, id, &wp_viewporter_interface, 1);
}
else if (strcmp(interface, "xwayland_shell_v1") == 0 && xwl_screen->rootless) {
else if (strcmp(interface, xwayland_shell_v1_interface.name) == 0 && xwl_screen->rootless) {
xwl_screen->xwayland_shell =
wl_registry_bind(registry, id, &xwayland_shell_v1_interface, 1);
}
else if (strcmp(interface, "wp_tearing_control_manager_v1") == 0) {
else if (strcmp(interface, wp_tearing_control_manager_v1_interface.name) == 0) {
xwl_screen->tearing_control_manager =
wl_registry_bind(registry, id, &wp_tearing_control_manager_v1_interface, 1);
}