aboutsummaryrefslogtreecommitdiff
path: root/ui/dbus.c
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@redhat.com>2021-07-20 16:02:52 +0400
committerMarc-André Lureau <marcandre.lureau@redhat.com>2021-12-21 10:50:22 +0400
commitff1a5810f61f78b47ddad995f49bcc70171d9e38 (patch)
tree0c4738ffb0b2ea658e22a5e43c757ec615fe9982 /ui/dbus.c
parent739362d4205cd90686118fe5af3e236c2f8c6be9 (diff)
ui/dbus: add clipboard interface
Expose the clipboard API over D-Bus. See the interface documentation for further details. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'ui/dbus.c')
-rw-r--r--ui/dbus.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/ui/dbus.c b/ui/dbus.c
index d24f704d46..4f0bc293aa 100644
--- a/ui/dbus.c
+++ b/ui/dbus.c
@@ -24,6 +24,7 @@
#include "qemu/osdep.h"
#include "qemu/cutils.h"
#include "qemu/dbus.h"
+#include "qemu/main-loop.h"
#include "qemu/option.h"
#include "qom/object_interfaces.h"
#include "sysemu/sysemu.h"
@@ -70,6 +71,8 @@ dbus_display_init(Object *o)
g_dbus_object_skeleton_add_interface(
vm, G_DBUS_INTERFACE_SKELETON(dd->iface));
g_dbus_object_manager_server_export(dd->server, vm);
+
+ dbus_clipboard_init(dd);
}
static void
@@ -77,6 +80,9 @@ dbus_display_finalize(Object *o)
{
DBusDisplay *dd = DBUS_DISPLAY(o);
+ qemu_clipboard_peer_unregister(&dd->clipboard_peer);
+ g_clear_object(&dd->clipboard);
+
g_clear_object(&dd->server);
g_clear_pointer(&dd->consoles, g_ptr_array_unref);
if (dd->add_client_cancellable) {
@@ -294,6 +300,7 @@ set_audiodev(Object *o, const char *str, Error **errp)
dd->audiodev = g_strdup(str);
}
+
static int
get_gl_mode(Object *o, Error **errp)
{