wayland-server: Add functions to wl_global
authorOlivier Fourdan <ofourdan@redhat.com>
Tue, 18 Oct 2016 14:23:40 +0000 (16:23 +0200)
committerPekka Paalanen <pekka.paalanen@collabora.co.uk>
Tue, 24 Jan 2017 13:49:03 +0000 (15:49 +0200)
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>
src/wayland-server-core.h
src/wayland-server.c

index 9ae51dc..61da8ab 100644 (file)
@@ -193,6 +193,12 @@ wl_display_set_global_filter(struct wl_display *display,
                             wl_display_global_filter_func_t filter,
                             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 *
 wl_client_create(struct wl_display *display, int fd);
 
index 893bb56..4360874 100644 (file)
@@ -1113,6 +1113,18 @@ wl_global_destroy(struct wl_global *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
  *
  * \param display The display object