aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/wayland-server-core.h3
-rw-r--r--src/wayland-server.c14
2 files changed, 17 insertions, 0 deletions
diff --git a/src/wayland-server-core.h b/src/wayland-server-core.h
index 005a324..c2dcc21 100644
--- a/src/wayland-server-core.h
+++ b/src/wayland-server-core.h
@@ -621,6 +621,9 @@ wl_resource_instance_of(struct wl_resource *resource,
const char *
wl_resource_get_class(const struct wl_resource *resource);
+const struct wl_interface *
+wl_resource_get_interface(struct wl_resource *resource);
+
void
wl_resource_add_destroy_listener(struct wl_resource *resource,
struct wl_listener *listener);
diff --git a/src/wayland-server.c b/src/wayland-server.c
index e580566..fb99eb2 100644
--- a/src/wayland-server.c
+++ b/src/wayland-server.c
@@ -905,6 +905,20 @@ wl_resource_get_class(const struct wl_resource *resource)
return resource->object.interface->name;
}
+/** Get the interface of a resource object
+ *
+ * \param resource The resource object
+ * \return The interface of the object associated with the resource
+ *
+ * \memberof wl_resource
+ * \since 1.24
+ */
+WL_EXPORT const struct wl_interface *
+wl_resource_get_interface(struct wl_resource *resource)
+{
+ return resource->object.interface;
+}
+
/**
* Add a listener to be called at the beginning of wl_client destruction
*