[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 24/27] ui: add GraphicHwOps.register_dbus_listener()
From: |
marcandre . lureau |
Subject: |
[PATCH 24/27] ui: add GraphicHwOps.register_dbus_listener() |
Date: |
Fri, 12 Mar 2021 14:01:05 +0400 |
From: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
include/ui/console.h | 2 ++
ui/console.c | 11 +++++++++++
ui/dbus-console.c | 5 ++++-
3 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/include/ui/console.h b/include/ui/console.h
index 31141955d9..0ad0d3ad66 100644
--- a/include/ui/console.h
+++ b/include/ui/console.h
@@ -429,6 +429,7 @@ typedef struct GraphicHwOps {
void (*update_interval)(void *opaque, uint64_t interval);
int (*ui_info)(void *opaque, uint32_t head, QemuUIInfo *info);
void (*gl_block)(void *opaque, bool block);
+ bool (*register_dbus_listener)(void *opaque, QemuConsole *console, int fd);
} GraphicHwOps;
QemuConsole *graphic_console_init(DeviceState *dev, uint32_t head,
@@ -444,6 +445,7 @@ void graphic_hw_update_done(QemuConsole *con);
void graphic_hw_invalidate(QemuConsole *con);
void graphic_hw_text_update(QemuConsole *con, console_ch_t *chardata);
void graphic_hw_gl_block(QemuConsole *con, bool block);
+bool graphic_hw_register_dbus_listener(QemuConsole *con, int fd);
void qemu_console_early_init(void);
diff --git a/ui/console.c b/ui/console.c
index 3c3be032ad..8c2a29a5d8 100644
--- a/ui/console.c
+++ b/ui/console.c
@@ -320,6 +320,17 @@ void graphic_hw_gl_block(QemuConsole *con, bool block)
}
}
+bool graphic_hw_register_dbus_listener(QemuConsole *con, int fd)
+{
+ assert(con != NULL);
+
+ if (con->hw_ops->register_dbus_listener) {
+ return con->hw_ops->register_dbus_listener(con->hw, con, fd);
+ }
+
+ return false;
+}
+
int qemu_console_get_window_id(QemuConsole *con)
{
return con->window_id;
diff --git a/ui/dbus-console.c b/ui/dbus-console.c
index 3487a8f5cb..eaae914199 100644
--- a/ui/dbus-console.c
+++ b/ui/dbus-console.c
@@ -242,10 +242,13 @@ dbus_console_register_listener(DBusDisplayConsole *self,
close(fd);
return DBUS_METHOD_INVOCATION_HANDLED;
}
- socket_conn = g_socket_connection_factory_create_connection(socket);
/* return now: easier for the other end, as it may handle priv dbus
synchronously */
dbus_display_display1_console_complete_register_listener(self->iface,
invocation, NULL);
+ if (graphic_hw_register_dbus_listener(self->con, fd)) {
+ return DBUS_METHOD_INVOCATION_HANDLED;
+ }
+ socket_conn = g_socket_connection_factory_create_connection(socket);
listener_conn = g_dbus_connection_new_sync(G_IO_STREAM(socket_conn),
guid,
G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER,
--
2.29.0
- Re: [PATCH 14/27] ui: add a D-Bus display backend, (continued)
- [PATCH 15/27] audio: add dbusaudio backend, marcandre . lureau, 2021/03/12
- [PATCH 16/27] vhost-user-gpu: add vg_send_disable_scanout(), marcandre . lureau, 2021/03/12
- [PATCH 17/27] vhost-user-gpu: add vg_send_scanout_dmabuf(), marcandre . lureau, 2021/03/12
- [PATCH 18/27] vhost-user-gpu: add vg_send_dmabuf_update(), marcandre . lureau, 2021/03/12
- [PATCH 19/27] vhost-user-gpu: add vg_send_scanout(), marcandre . lureau, 2021/03/12
- [PATCH 20/27] vhost-user-gpu: add vg_send_cursor_update(), marcandre . lureau, 2021/03/12
- [PATCH 21/27] vhost-user-gpu: add vg_send_cursor_pos(), marcandre . lureau, 2021/03/12
- [PATCH 22/27] vhost-user-gpu: add vg_send_update(), marcandre . lureau, 2021/03/12
- [PATCH 23/27] vhost-user: add VHOST_USER_GPU_QEMU_DBUS_LISTENER, marcandre . lureau, 2021/03/12
- [PATCH 24/27] ui: add GraphicHwOps.register_dbus_listener(),
marcandre . lureau <=
- [PATCH 25/27] vhost-user-gpu: implement register_dbus_listener(), marcandre . lureau, 2021/03/12
- [PATCH 26/27] vhost-user-gpu: check the PIXMAN format is supported, marcandre . lureau, 2021/03/12
- [PATCH 27/27] vhost-user-gpu: implement GPU_QEMU_DBUS_LISTENER, marcandre . lureau, 2021/03/12
- Re: [PATCH 00/27] Add D-Bus display backend, no-reply, 2021/03/12
- Re: [PATCH 00/27] Add D-Bus display backend, Gerd Hoffmann, 2021/03/12