diff options
| author | Isaac Freund <mail@isaacfreund.com> | 2025-05-06 23:48:57 +0200 |
|---|---|---|
| committer | Simon Ser <contact@emersion.fr> | 2025-05-20 20:31:16 +0000 |
| commit | 8cad6f7b826546e4faa2d366aed898b5651f73b4 (patch) | |
| tree | 16c477d6517201693d26c2ff2573d815d165997b | |
| parent | client: add wl_proxy_get_interface() (diff) | |
| download | wayland-8cad6f7b826546e4faa2d366aed898b5651f73b4.tar wayland-8cad6f7b826546e4faa2d366aed898b5651f73b4.tar.gz wayland-8cad6f7b826546e4faa2d366aed898b5651f73b4.tar.bz2 wayland-8cad6f7b826546e4faa2d366aed898b5651f73b4.tar.lz wayland-8cad6f7b826546e4faa2d366aed898b5651f73b4.tar.xz wayland-8cad6f7b826546e4faa2d366aed898b5651f73b4.tar.zst wayland-8cad6f7b826546e4faa2d366aed898b5651f73b4.zip | |
server: add wl_resource_get_interface()
This is useful for the wayland bindings/scanner I'm working on for a
dynamically typed language.
Signed-off-by: Isaac Freund <mail@isaacfreund.com>
| -rw-r--r-- | src/wayland-server-core.h | 3 | ||||
| -rw-r--r-- | src/wayland-server.c | 14 |
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 * |
