[PATCH wayland] server: add listener API for new clients
Bryce Harrington
bryce at osg.samsung.com
Sat Feb 20 03:03:29 UTC 2016
On Thu, Feb 11, 2016 at 09:20:00PM +0900, nicesj at nicesj.com wrote:
> Using display object, Emit a signal if a new client is created.
>
> In the server-side, we can get the destroy event of a client,
> But there is no way to get the created event of it.
> Of course, we can get the client object from the global registry
> binding callbacks.
> But it can be called several times with same client object.
> And even if A client creates display object,
> (so there is a connection), The server could not know that.
> There could be more use-cases not only for this.
>
> Signed-off-by: Sung-jae Park <nicesj at nicesj.com>
Hi Sung-jae,
I'm a bit confused here; this patch appears to simply rename an existing
API call and move its docs from the .h to the .c. Is there more code
that's missing, or am I misunderstanding the purpose of this patch?
Bryce
> diff --git a/src/wayland-server-core.h b/src/wayland-server-core.h
> index cb72981..1bc4d6b 100644
> --- a/src/wayland-server-core.h
> +++ b/src/wayland-server-core.h
> @@ -156,19 +156,8 @@ void
> wl_display_add_destroy_listener(struct wl_display *display,
> struct wl_listener *listener);
>
> -/** Add a listener for getting a notification of creation of clients.
> - * If you add a listener, server will emits a signal if a new client
> - * is created.
> - *
> - * \ref wl_client_create
> - * \ref wl_display
> - * \ref wl_listener
> - *
> - * \param display The display object
> - * \param listener Signal handler object
> - */
> void
> -wl_display_add_create_client_listener(struct wl_display *display,
> +wl_display_add_client_created_listener(struct wl_display *display,
> struct wl_listener *listener);
>
> struct wl_listener *
> diff --git a/src/wayland-server.c b/src/wayland-server.c
> index 0eff8f6..2857b1d 100644
> --- a/src/wayland-server.c
> +++ b/src/wayland-server.c
> @@ -1357,8 +1357,19 @@ wl_display_add_destroy_listener(struct wl_display *display,
> wl_signal_add(&display->destroy_signal, listener);
> }
>
> +/** Registers a listener for the client connection signal.
> + * When a new client object is created, \a listener will be notified, carring
> + * a pointer to the new wl_client object.
> + *
> + * \ref wl_client_create
> + * \ref wl_display
> + * \ref wl_listener
> + *
> + * \param display The display object
> + * \param listener Signal handler object
> + */
> WL_EXPORT void
> -wl_display_add_create_client_listener(struct wl_display *display,
> +wl_display_add_client_created_listener(struct wl_display *display,
> struct wl_listener *listener)
> {
> wl_signal_add(&display->create_client_signal, listener);
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/wayland-devel
More information about the wayland-devel
mailing list