Signed-off-by: Giulio Camuffo <[email protected]>
---

v2: - return the interface name instead of the interface struct

 src/wayland-server-core.h |  2 ++
 src/wayland-server.c      | 12 ++++++++++++
 2 files changed, 14 insertions(+)

diff --git a/src/wayland-server-core.h b/src/wayland-server-core.h
index 43e76fb..c0d25e9 100644
--- a/src/wayland-server-core.h
+++ b/src/wayland-server-core.h
@@ -427,6 +427,8 @@ int
 wl_resource_instance_of(struct wl_resource *resource,
                        const struct wl_interface *interface,
                        const void *implementation);
+const char *
+wl_resource_get_class(struct wl_resource *resource);
 
 void
 wl_resource_add_destroy_listener(struct wl_resource *resource,
diff --git a/src/wayland-server.c b/src/wayland-server.c
index b44ec9c..e2212e2 100644
--- a/src/wayland-server.c
+++ b/src/wayland-server.c
@@ -690,6 +690,18 @@ wl_resource_get_destroy_listener(struct wl_resource 
*resource,
        return wl_signal_get(&resource->destroy_signal, notify);
 }
 
+/** Retrieve the interface name (class) of a resource object.
+ *
+ * \param resource The resource object
+ *
+ * \memberof wl_resource
+ */
+WL_EXPORT const char *
+wl_resource_get_class(struct wl_resource *resource)
+{
+       return resource->object.interface->name;
+}
+
 WL_EXPORT void
 wl_client_add_destroy_listener(struct wl_client *client,
                               struct wl_listener *listener)
-- 
2.9.0

_______________________________________________
wayland-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to