wayland-server: Add functions to wl_global

When using a wl_global, a server may need to retrieve the associated
wl_interface and user data.

Add a couple of convenient functions wl_global_get_interface() and
wl_global_get_user_data() for this purpose.

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by: Yong Bakos <ybakos@humanoriented.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
This commit is contained in:
Olivier Fourdan 2016-10-18 16:23:40 +02:00 committed by Pekka Paalanen
parent d915447365
commit 65b773e51f
2 changed files with 18 additions and 0 deletions

View file

@ -193,6 +193,12 @@ wl_display_set_global_filter(struct wl_display *display,
wl_display_global_filter_func_t filter, wl_display_global_filter_func_t filter,
void *data); void *data);
const struct wl_interface *
wl_global_get_interface(const struct wl_global *global);
void *
wl_global_get_user_data(const struct wl_global *global);
struct wl_client * struct wl_client *
wl_client_create(struct wl_display *display, int fd); wl_client_create(struct wl_display *display, int fd);

View file

@ -1113,6 +1113,18 @@ wl_global_destroy(struct wl_global *global)
free(global); free(global);
} }
WL_EXPORT const struct wl_interface *
wl_global_get_interface(const struct wl_global *global)
{
return global->interface;
}
WL_EXPORT void *
wl_global_get_user_data(const struct wl_global *global)
{
return global->data;
}
/** Get the current serial number /** Get the current serial number
* *
* \param display The display object * \param display The display object