Introduce the 'service channel' D-Bus service
The service channel D-Bus interface aims to be a "back door" for services that needs special casing in Mutter, e.g. have custom private protocols only meant to be used by that particular service. There are currently no special casing implemented; only the basic service channel infrastructure is added. There is a single method on the interface, that is meant to eventually be used by xdg-desktop-portal-gnome to open a Wayland connection with a private protocol needed for the portal backend's rather special window management needs. The service channel Wayland client works by allowing one instance of each "type", where each time needs to be defined to work in parallel. If a new service client connects, the old one will be disconnected. MetaWaylandClient's are used to manage the service clients, and are assigned the service client type. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2810>
This commit is contained in:
@ -22,6 +22,7 @@
|
||||
#define META_CONTEXT_PRIVATE_H
|
||||
|
||||
#include "core/meta-private-enums.h"
|
||||
#include "core/meta-service-channel.h"
|
||||
#include "core/util-private.h"
|
||||
#include "meta/meta-backend.h"
|
||||
#include "meta/meta-context.h"
|
||||
@ -63,9 +64,14 @@ gboolean meta_context_get_unsafe_mode (MetaContext *context);
|
||||
void meta_context_set_unsafe_mode (MetaContext *context,
|
||||
gboolean enable);
|
||||
|
||||
#ifdef HAVE_WAYLAND
|
||||
META_EXPORT_TEST
|
||||
MetaWaylandCompositor * meta_context_get_wayland_compositor (MetaContext *context);
|
||||
|
||||
META_EXPORT_TEST
|
||||
MetaServiceChannel * meta_context_get_service_channel (MetaContext *context);
|
||||
#endif
|
||||
|
||||
MetaX11DisplayPolicy meta_context_get_x11_display_policy (MetaContext *context);
|
||||
|
||||
#ifdef HAVE_X11
|
||||
|
Reference in New Issue
Block a user