aboutsummaryrefslogtreecommitdiff
path: root/qapi
diff options
context:
space:
mode:
Diffstat (limited to 'qapi')
-rw-r--r--qapi/audio.json3
-rw-r--r--qapi/char.json27
-rw-r--r--qapi/misc.json4
-rw-r--r--qapi/ui.json34
4 files changed, 63 insertions, 5 deletions
diff --git a/qapi/audio.json b/qapi/audio.json
index 9cba0df8a4..693e327c6b 100644
--- a/qapi/audio.json
+++ b/qapi/audio.json
@@ -386,7 +386,7 @@
# Since: 4.0
##
{ 'enum': 'AudiodevDriver',
- 'data': [ 'none', 'alsa', 'coreaudio', 'dsound', 'jack', 'oss', 'pa',
+ 'data': [ 'none', 'alsa', 'coreaudio', 'dbus', 'dsound', 'jack', 'oss', 'pa',
'sdl', 'spice', 'wav' ] }
##
@@ -412,6 +412,7 @@
'none': 'AudiodevGenericOptions',
'alsa': 'AudiodevAlsaOptions',
'coreaudio': 'AudiodevCoreaudioOptions',
+ 'dbus': 'AudiodevGenericOptions',
'dsound': 'AudiodevDsoundOptions',
'jack': 'AudiodevJackOptions',
'oss': 'AudiodevOssOptions',
diff --git a/qapi/char.json b/qapi/char.json
index f5133a5eeb..7b42151575 100644
--- a/qapi/char.json
+++ b/qapi/char.json
@@ -359,6 +359,20 @@
'if': 'CONFIG_SPICE' }
##
+# @ChardevDBus:
+#
+# Configuration info for DBus chardevs.
+#
+# @name: name of the channel (following docs/spice-port-fqdn.txt)
+#
+# Since: 7.0
+##
+{ 'struct': 'ChardevDBus',
+ 'data': { 'name': 'str' },
+ 'base': 'ChardevCommon',
+ 'if': 'CONFIG_DBUS_DISPLAY' }
+
+##
# @ChardevVC:
#
# Configuration info for virtual console chardevs.
@@ -422,6 +436,7 @@
# @spicevmc: Since 1.5
# @spiceport: Since 1.5
# @qemu-vdagent: Since 6.1
+# @dbus: Since 7.0
# @vc: v1.5
# @ringbuf: Since 1.6
# @memory: Since 1.5
@@ -447,6 +462,7 @@
{ 'name': 'spicevmc', 'if': 'CONFIG_SPICE' },
{ 'name': 'spiceport', 'if': 'CONFIG_SPICE' },
{ 'name': 'qemu-vdagent', 'if': 'CONFIG_SPICE_PROTOCOL' },
+ { 'name': 'dbus', 'if': 'CONFIG_DBUS_DISPLAY' },
'vc',
'ringbuf',
# next one is just for compatibility
@@ -536,6 +552,15 @@
'if': 'CONFIG_SPICE_PROTOCOL' }
##
+# @ChardevDBusWrapper:
+#
+# Since: 7.0
+##
+{ 'struct': 'ChardevDBusWrapper',
+ 'data': { 'data': 'ChardevDBus' },
+ 'if': 'CONFIG_DBUS_DISPLAY' }
+
+##
# @ChardevVCWrapper:
#
# Since: 1.5
@@ -582,6 +607,8 @@
'if': 'CONFIG_SPICE' },
'qemu-vdagent': { 'type': 'ChardevQemuVDAgentWrapper',
'if': 'CONFIG_SPICE_PROTOCOL' },
+ 'dbus': { 'type': 'ChardevDBusWrapper',
+ 'if': 'CONFIG_DBUS_DISPLAY' },
'vc': 'ChardevVCWrapper',
'ringbuf': 'ChardevRingbufWrapper',
# next one is just for compatibility
diff --git a/qapi/misc.json b/qapi/misc.json
index 358548abe1..e8054f415b 100644
--- a/qapi/misc.json
+++ b/qapi/misc.json
@@ -14,8 +14,8 @@
# Allow client connections for VNC, Spice and socket based
# character devices to be passed in to QEMU via SCM_RIGHTS.
#
-# @protocol: protocol name. Valid names are "vnc", "spice" or the
-# name of a character device (eg. from -chardev id=XXXX)
+# @protocol: protocol name. Valid names are "vnc", "spice", "@dbus-display" or
+# the name of a character device (eg. from -chardev id=XXXX)
#
# @fdname: file descriptor name previously passed via 'getfd' command
#
diff --git a/qapi/ui.json b/qapi/ui.json
index d7567ac866..2b4371da37 100644
--- a/qapi/ui.json
+++ b/qapi/ui.json
@@ -1121,6 +1121,30 @@
{ 'struct' : 'DisplayEGLHeadless',
'data' : { '*rendernode' : 'str' } }
+##
+# @DisplayDBus:
+#
+# DBus display options.
+#
+# @addr: The D-Bus bus address (default to the session bus).
+#
+# @rendernode: Which DRM render node should be used. Default is the first
+# available node on the host.
+#
+# @p2p: Whether to use peer-to-peer connections (accepted through
+# ``add_client``).
+#
+# @audiodev: Use the specified DBus audiodev to export audio.
+#
+# Since: 7.0
+#
+##
+{ 'struct' : 'DisplayDBus',
+ 'data' : { '*rendernode' : 'str',
+ '*addr': 'str',
+ '*p2p': 'bool',
+ '*audiodev': 'str' } }
+
##
# @DisplayGLMode:
#
@@ -1186,6 +1210,8 @@
# application to connect to it. The server will redirect
# the serial console and QEMU monitors. (Since 4.0)
#
+# @dbus: Start a D-Bus service for the display. (Since 7.0)
+#
# Since: 2.12
#
##
@@ -1199,7 +1225,10 @@
'if': { 'all': ['CONFIG_OPENGL', 'CONFIG_GBM'] } },
{ 'name': 'curses', 'if': 'CONFIG_CURSES' },
{ 'name': 'cocoa', 'if': 'CONFIG_COCOA' },
- { 'name': 'spice-app', 'if': 'CONFIG_SPICE'} ] }
+ { 'name': 'spice-app', 'if': 'CONFIG_SPICE' },
+ { 'name': 'dbus', 'if': 'CONFIG_DBUS_DISPLAY' }
+ ]
+}
##
# @DisplayOptions:
@@ -1227,7 +1256,8 @@
'gtk': { 'type': 'DisplayGTK', 'if': 'CONFIG_GTK' },
'curses': { 'type': 'DisplayCurses', 'if': 'CONFIG_CURSES' },
'egl-headless': { 'type': 'DisplayEGLHeadless',
- 'if': { 'all': ['CONFIG_OPENGL', 'CONFIG_GBM'] } }
+ 'if': { 'all': ['CONFIG_OPENGL', 'CONFIG_GBM'] } },
+ 'dbus': { 'type': 'DisplayDBus', 'if': 'CONFIG_DBUS_DISPLAY' }
}
}