Add API to retrieve the interface name of a wl_resource
authorGiulio Camuffo <giuliocamuffo@gmail.com>
Tue, 9 Aug 2016 10:46:52 +0000 (12:46 +0200)
committerPekka Paalanen <pekka.paalanen@collabora.co.uk>
Thu, 11 Aug 2016 12:52:07 +0000 (15:52 +0300)
Signed-off-by: Giulio Camuffo <giulio.camuffo@kdab.com>
Reviewed-by: Jonas Ã…dahl <jadahl@gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Yong Bakos <ybakos@humanoriented.com>
src/wayland-server-core.h
src/wayland-server.c

index 43e76fb..c0d25e9 100644 (file)
@@ -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,
index b44ec9c..e2212e2 100644 (file)
@@ -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)