mirror of https://github.com/xemu-project/xemu.git
ui/dbus: introduce "Interfaces" properties
This property is similar to ``org.freedesktop.DBus.Interfaces`` property on the bus interface: it's an array of strings listing the extra interfaces and capabilities available, in a convenient way. Most interfaces are implicit, as they are required. For ``org/qemu/Display1_$id``, we can list the Keyboard And Mouse interfaces. Those could be optional. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20230606115658.677673-9-marcandre.lureau@redhat.com>
This commit is contained in:
parent
306d75815c
commit
439e0164cd
|
@ -537,6 +537,12 @@ dbus_display_console_new(DBusDisplay *display, QemuConsole *con)
|
|||
char device_addr[256] = "";
|
||||
DBusDisplayConsole *ddc;
|
||||
int idx, i;
|
||||
const char *interfaces[] = {
|
||||
"org.qemu.Display1.Keyboard",
|
||||
"org.qemu.Display1.Mouse",
|
||||
"org.qemu.Display1.MultiTouch",
|
||||
NULL
|
||||
};
|
||||
|
||||
assert(display);
|
||||
assert(con);
|
||||
|
@ -561,6 +567,7 @@ dbus_display_console_new(DBusDisplay *display, QemuConsole *con)
|
|||
"width", qemu_console_get_width(con, 0),
|
||||
"height", qemu_console_get_height(con, 0),
|
||||
"device-address", device_addr,
|
||||
"interfaces", interfaces,
|
||||
NULL);
|
||||
g_object_connect(ddc->iface,
|
||||
"swapped-signal::handle-register-listener",
|
||||
|
|
|
@ -26,6 +26,20 @@
|
|||
The list of consoles available on ``/org/qemu/Display1/Console_$id``.
|
||||
-->
|
||||
<property name="ConsoleIDs" type="au" access="read"/>
|
||||
|
||||
<!--
|
||||
Interfaces:
|
||||
|
||||
This property lists extra interfaces provided by the
|
||||
/org/qemu/Display1/VM object, and can be used to detect
|
||||
the capabilities with which they are communicating.
|
||||
|
||||
Unlike the standard D-Bus Introspectable interface, querying this
|
||||
property does not require parsing XML.
|
||||
|
||||
(earlier version of the display interface do not provide this property)
|
||||
-->
|
||||
<property name="Interfaces" type="as" access="read"/>
|
||||
</interface>
|
||||
|
||||
<!--
|
||||
|
@ -127,12 +141,27 @@
|
|||
The device address (ex: "pci/0000/02.0").
|
||||
-->
|
||||
<property name="DeviceAddress" type="s" access="read"/>
|
||||
|
||||
<!--
|
||||
Interfaces:
|
||||
|
||||
This property lists extra interfaces provided by the
|
||||
``/org/qemu/Display1/Console_$id`` object, and can be used to detect the
|
||||
capabilities with which they are communicating.
|
||||
|
||||
Unlike the standard D-Bus Introspectable interface, querying this
|
||||
property does not require parsing XML.
|
||||
|
||||
(earlier version of the display interface do not provide this property)
|
||||
-->
|
||||
<property name="Interfaces" type="as" access="read"/>
|
||||
</interface>
|
||||
|
||||
<!--
|
||||
org.qemu.Display1.Keyboard:
|
||||
|
||||
This interface in implemented on ``/org/qemu/Display1/Console_$id`` (see
|
||||
This interface is optionally implemented on
|
||||
``/org/qemu/Display1/Console_$id`` (see
|
||||
:dbus:iface:`~org.qemu.Display1.Console`).
|
||||
-->
|
||||
<interface name="org.qemu.Display1.Keyboard">
|
||||
|
@ -171,7 +200,8 @@
|
|||
<!--
|
||||
org.qemu.Display1.Mouse:
|
||||
|
||||
This interface in implemented on ``/org/qemu/Display1/Console_$id`` (see
|
||||
This interface is optionally implemented on
|
||||
``/org/qemu/Display1/Console_$id`` (see
|
||||
:dbus:iface:`~org.qemu.Display1.Console` documentation).
|
||||
|
||||
.. _dbus-button-values:
|
||||
|
@ -425,6 +455,20 @@
|
|||
<annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/>
|
||||
</arg>
|
||||
</method>
|
||||
|
||||
<!--
|
||||
Interfaces:
|
||||
|
||||
This property lists extra interfaces provided by the
|
||||
/org/qemu/Display1/Listener object, and can be used to detect
|
||||
the capabilities with which they are communicating.
|
||||
|
||||
Unlike the standard D-Bus Introspectable interface, querying this
|
||||
property does not require parsing XML.
|
||||
|
||||
(earlier version of the display interface do not provide this property)
|
||||
-->
|
||||
<property name="Interfaces" type="as" access="read"/>
|
||||
</interface>
|
||||
|
||||
<!--
|
||||
|
@ -522,6 +566,20 @@
|
|||
<annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/>
|
||||
</arg>
|
||||
</method>
|
||||
|
||||
<!--
|
||||
Interfaces:
|
||||
|
||||
This property lists extra interfaces provided by the
|
||||
/org/qemu/Display1/Clipboard object, and can be used to detect
|
||||
the capabilities with which they are communicating.
|
||||
|
||||
Unlike the standard D-Bus Introspectable interface, querying this
|
||||
property does not require parsing XML.
|
||||
|
||||
(earlier version of the display interface do not provide this property)
|
||||
-->
|
||||
<property name="Interfaces" type="as" access="read"/>
|
||||
</interface>
|
||||
|
||||
<!--
|
||||
|
@ -571,6 +629,20 @@
|
|||
<arg type="h" name="listener" direction="in"/>
|
||||
<?endif?>
|
||||
</method>
|
||||
|
||||
<!--
|
||||
Interfaces:
|
||||
|
||||
This property lists extra interfaces provided by the
|
||||
/org/qemu/Display1/Audio object, and can be used to detect
|
||||
the capabilities with which they are communicating.
|
||||
|
||||
Unlike the standard D-Bus Introspectable interface, querying this
|
||||
property does not require parsing XML.
|
||||
|
||||
(earlier version of the display interface do not provide this property)
|
||||
-->
|
||||
<property name="Interfaces" type="as" access="read"/>
|
||||
</interface>
|
||||
|
||||
<!--
|
||||
|
@ -657,6 +729,20 @@
|
|||
<annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/>
|
||||
</arg>
|
||||
</method>
|
||||
|
||||
<!--
|
||||
Interfaces:
|
||||
|
||||
This property lists extra interfaces provided by the
|
||||
/org/qemu/Display1/AudioOutListener object, and can be used to detect
|
||||
the capabilities with which they are communicating.
|
||||
|
||||
Unlike the standard D-Bus Introspectable interface, querying this
|
||||
property does not require parsing XML.
|
||||
|
||||
(earlier version of the display interface do not provide this property)
|
||||
-->
|
||||
<property name="Interfaces" type="as" access="read"/>
|
||||
</interface>
|
||||
|
||||
<!--
|
||||
|
@ -745,6 +831,20 @@
|
|||
<annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/>
|
||||
</arg>
|
||||
</method>
|
||||
|
||||
<!--
|
||||
Interfaces:
|
||||
|
||||
This property lists extra interfaces provided by the
|
||||
/org/qemu/Display1/AudioInListener object, and can be used to detect
|
||||
the capabilities with which they are communicating.
|
||||
|
||||
Unlike the standard D-Bus Introspectable interface, querying this
|
||||
property does not require parsing XML.
|
||||
|
||||
(earlier version of the display interface do not provide this property)
|
||||
-->
|
||||
<property name="Interfaces" type="as" access="read"/>
|
||||
</interface>
|
||||
|
||||
<!--
|
||||
|
@ -826,5 +926,19 @@
|
|||
The D-Bus unique name of the registered handler.
|
||||
-->
|
||||
<property name="Owner" type="s" access="read"/>
|
||||
|
||||
<!--
|
||||
Interfaces:
|
||||
|
||||
This property lists extra interfaces provided by the
|
||||
``/org/qemu/Display1/Chardev_$i`` object, and can be used to detect
|
||||
the capabilities with which they are communicating.
|
||||
|
||||
Unlike the standard D-Bus Introspectable interface, querying this
|
||||
property does not require parsing XML.
|
||||
|
||||
(earlier version of the display interface do not provide this property)
|
||||
-->
|
||||
<property name="Interfaces" type="as" access="read"/>
|
||||
</interface>
|
||||
</node>
|
||||
|
|
Loading…
Reference in New Issue