aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/wayland-server-core.h4
-rw-r--r--src/wayland-server.c17
2 files changed, 21 insertions, 0 deletions
diff --git a/src/wayland-server-core.h b/src/wayland-server-core.h
index d9917a0..df95821 100644
--- a/src/wayland-server-core.h
+++ b/src/wayland-server-core.h
@@ -280,6 +280,10 @@ const struct wl_interface *
wl_global_get_interface(const struct wl_global *global);
uint32_t
+wl_global_get_name(const struct wl_global *global,
+ const struct wl_client *client);
+
+uint32_t
wl_global_get_version(const struct wl_global *global);
struct wl_display *
diff --git a/src/wayland-server.c b/src/wayland-server.c
index 0e15da3..d51acc6 100644
--- a/src/wayland-server.c
+++ b/src/wayland-server.c
@@ -1369,6 +1369,23 @@ wl_global_get_interface(const struct wl_global *global)
return global->interface;
}
+/** Get the name of the global.
+ *
+ * \param global The global object.
+ * \param client Client for which to look up the global.
+ * \return The name of the global, or 0 if the global is not visible to the
+ * client.
+ *
+ * \memberof wl_global
+ * \since 1.22
+ */
+WL_EXPORT uint32_t
+wl_global_get_name(const struct wl_global *global,
+ const struct wl_client *client)
+{
+ return wl_global_is_visible(client, global) ? global->name : 0;
+}
+
/** Get the version of the given global.
*
* \param global The global object.