> On 1 May 2019, at 10:34, Pekka Paalanen <[email protected]> wrote: > > it is all just the normal Wayland protocol exchange but with a new > interface of your own design. I'm not sure if there is a really > minimal example, but I'll list at least some. > > One example of such private protocol extension is > https://gitlab.freedesktop.org/wayland/weston/blob/master/protocol/weston-desktop-shell.xml > > The server-side implementation of it is in shell.c and the > entrypoint to that is > https://gitlab.freedesktop.org/wayland/weston/blob/master/desktop-shell/shell.c#L5143 > > wl_global_create(ec->wl_display, > &weston_desktop_shell_interface, 1, > shell, bind_desktop_shell) > > which installs the protocol extension in the compositor. You can > see everything about the implementation by following all callbacks > that get registered, starting with bind_desktop_shell(). > > The privacy of the protocol extension, the installed wayland global > really, is achieved in > https://gitlab.freedesktop.org/wayland/weston/blob/master/desktop-shell/shell.c#L4366 > > shell->child.client = weston_client_start(shell->compositor, > shell->client); > > which creates the Wayland connection before forking the child > process and bind_desktop_shell() then verifying the client trying > to bind to the global is the client that was forked. >
Is it required that the helper client be a separate binary that must be launched through a path? Is it possible for the client to just be a function in my main program? Regards adlo _______________________________________________ wayland-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/wayland-devel
