Marc-André Lureau | 142ca62 | 2021-07-15 11:53:53 +0400 | [diff] [blame] | 1 | <?xml version="1.0" encoding="utf-8"?> |
| 2 | <node> |
| 3 | <!-- |
| 4 | org.qemu.Display1.VM: |
| 5 | |
| 6 | This interface is implemented on ``/org/qemu/Display1/VM``. |
| 7 | --> |
| 8 | <interface name="org.qemu.Display1.VM"> |
| 9 | <!-- |
| 10 | Name: |
| 11 | |
| 12 | The name of the VM. |
| 13 | --> |
| 14 | <property name="Name" type="s" access="read"/> |
| 15 | |
| 16 | <!-- |
| 17 | UUID: |
| 18 | |
| 19 | The UUID of the VM. |
| 20 | --> |
| 21 | <property name="UUID" type="s" access="read"/> |
| 22 | |
| 23 | <!-- |
| 24 | ConsoleIDs: |
| 25 | |
| 26 | The list of consoles available on ``/org/qemu/Display1/Console_$id``. |
| 27 | --> |
| 28 | <property name="ConsoleIDs" type="au" access="read"/> |
Marc-André Lureau | 439e016 | 2023-06-06 15:56:45 +0400 | [diff] [blame] | 29 | |
| 30 | <!-- |
| 31 | Interfaces: |
| 32 | |
| 33 | This property lists extra interfaces provided by the |
| 34 | /org/qemu/Display1/VM object, and can be used to detect |
| 35 | the capabilities with which they are communicating. |
| 36 | |
| 37 | Unlike the standard D-Bus Introspectable interface, querying this |
| 38 | property does not require parsing XML. |
| 39 | |
| 40 | (earlier version of the display interface do not provide this property) |
| 41 | --> |
| 42 | <property name="Interfaces" type="as" access="read"/> |
Marc-André Lureau | 142ca62 | 2021-07-15 11:53:53 +0400 | [diff] [blame] | 43 | </interface> |
| 44 | |
| 45 | <!-- |
| 46 | org.qemu.Display1.Console: |
| 47 | |
| 48 | This interface is implemented on ``/org/qemu/Display1/Console_$id``. You |
| 49 | may discover available consoles through introspection or with the |
| 50 | :dbus:prop:`org.qemu.Display1.VM.ConsoleIDs` property. |
| 51 | |
| 52 | A console is attached to a video device head. It may be "Graphic" or |
| 53 | "Text" (see :dbus:prop:`Type` and other properties). |
| 54 | |
| 55 | Interactions with a console may be done with |
Bilal Elmoussaoui | de9f844 | 2023-06-19 11:53:37 +0200 | [diff] [blame] | 56 | :dbus:iface:`org.qemu.Display1.Keyboard`, |
| 57 | :dbus:iface:`org.qemu.Display1.Mouse` and |
| 58 | :dbus:iface:`org.qemu.Display1.MultiTouch` interfaces when available. |
Marc-André Lureau | 142ca62 | 2021-07-15 11:53:53 +0400 | [diff] [blame] | 59 | --> |
| 60 | <interface name="org.qemu.Display1.Console"> |
| 61 | <!-- |
| 62 | RegisterListener: |
| 63 | @listener: a Unix socket FD, for peer-to-peer D-Bus communication. |
| 64 | |
| 65 | Register a console listener, which will receive display updates, until |
| 66 | it is disconnected. |
| 67 | |
| 68 | Multiple listeners may be registered simultaneously. |
| 69 | |
| 70 | The listener is expected to implement the |
| 71 | :dbus:iface:`org.qemu.Display1.Listener` interface. |
| 72 | --> |
| 73 | <method name="RegisterListener"> |
Paolo Bonzini | d0cda6f | 2023-11-03 09:17:48 +0100 | [diff] [blame] | 74 | <?if $(env.HOST_OS) == windows?> |
Marc-André Lureau | 6cc5a61 | 2023-06-06 15:56:42 +0400 | [diff] [blame] | 75 | <arg type="ay" name="listener" direction="in"> |
| 76 | <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> |
| 77 | </arg> |
| 78 | <?else?> |
Marc-André Lureau | 142ca62 | 2021-07-15 11:53:53 +0400 | [diff] [blame] | 79 | <arg type="h" name="listener" direction="in"/> |
Marc-André Lureau | 6cc5a61 | 2023-06-06 15:56:42 +0400 | [diff] [blame] | 80 | <?endif?> |
Marc-André Lureau | 142ca62 | 2021-07-15 11:53:53 +0400 | [diff] [blame] | 81 | </method> |
| 82 | |
| 83 | <!-- |
| 84 | SetUIInfo: |
| 85 | @width_mm: the physical display width in millimeters. |
| 86 | @height_mm: the physical display height in millimeters. |
| 87 | @xoff: horizontal offset, in pixels. |
| 88 | @yoff: vertical offset, in pixels. |
| 89 | @width: console width, in pixels. |
| 90 | @height: console height, in pixels. |
| 91 | |
| 92 | Modify the dimensions and display settings. |
| 93 | --> |
| 94 | <method name="SetUIInfo"> |
| 95 | <arg name="width_mm" type="q" direction="in"/> |
| 96 | <arg name="height_mm" type="q" direction="in"/> |
| 97 | <arg name="xoff" type="i" direction="in"/> |
| 98 | <arg name="yoff" type="i" direction="in"/> |
| 99 | <arg name="width" type="u" direction="in"/> |
| 100 | <arg name="height" type="u" direction="in"/> |
| 101 | </method> |
| 102 | |
| 103 | <!-- |
| 104 | Label: |
| 105 | |
| 106 | A user-friendly name for the console (for ex: "VGA"). |
| 107 | --> |
| 108 | <property name="Label" type="s" access="read"/> |
| 109 | |
| 110 | <!-- |
| 111 | Head: |
| 112 | |
| 113 | Graphical device head number. |
| 114 | --> |
| 115 | <property name="Head" type="u" access="read"/> |
| 116 | |
| 117 | <!-- |
| 118 | Type: |
| 119 | |
| 120 | Console type ("Graphic" or "Text"). |
| 121 | --> |
| 122 | <property name="Type" type="s" access="read"/> |
| 123 | |
| 124 | <!-- |
| 125 | Width: |
| 126 | |
| 127 | Console width, in pixels. |
| 128 | --> |
| 129 | <property name="Width" type="u" access="read"/> |
| 130 | |
| 131 | <!-- |
| 132 | Height: |
| 133 | |
| 134 | Console height, in pixels. |
| 135 | --> |
| 136 | <property name="Height" type="u" access="read"/> |
| 137 | |
| 138 | <!-- |
| 139 | DeviceAddress: |
| 140 | |
| 141 | The device address (ex: "pci/0000/02.0"). |
| 142 | --> |
| 143 | <property name="DeviceAddress" type="s" access="read"/> |
Marc-André Lureau | 439e016 | 2023-06-06 15:56:45 +0400 | [diff] [blame] | 144 | |
| 145 | <!-- |
| 146 | Interfaces: |
| 147 | |
| 148 | This property lists extra interfaces provided by the |
| 149 | ``/org/qemu/Display1/Console_$id`` object, and can be used to detect the |
| 150 | capabilities with which they are communicating. |
| 151 | |
| 152 | Unlike the standard D-Bus Introspectable interface, querying this |
| 153 | property does not require parsing XML. |
| 154 | |
| 155 | (earlier version of the display interface do not provide this property) |
| 156 | --> |
| 157 | <property name="Interfaces" type="as" access="read"/> |
Marc-André Lureau | 142ca62 | 2021-07-15 11:53:53 +0400 | [diff] [blame] | 158 | </interface> |
| 159 | |
| 160 | <!-- |
| 161 | org.qemu.Display1.Keyboard: |
| 162 | |
Marc-André Lureau | 439e016 | 2023-06-06 15:56:45 +0400 | [diff] [blame] | 163 | This interface is optionally implemented on |
| 164 | ``/org/qemu/Display1/Console_$id`` (see |
Marc-André Lureau | 142ca62 | 2021-07-15 11:53:53 +0400 | [diff] [blame] | 165 | :dbus:iface:`~org.qemu.Display1.Console`). |
| 166 | --> |
| 167 | <interface name="org.qemu.Display1.Keyboard"> |
| 168 | <!-- |
| 169 | Press: |
| 170 | @keycode: QEMU key number (xtkbd + special re-encoding of high bit) |
| 171 | |
| 172 | Send a key press event. |
| 173 | --> |
| 174 | <method name="Press"> |
| 175 | <arg type="u" name="keycode" direction="in"/> |
| 176 | </method> |
| 177 | |
| 178 | <!-- |
| 179 | Release: |
| 180 | @keycode: QEMU key number (xtkbd + special re-encoding of high bit) |
| 181 | |
| 182 | Send a key release event. |
| 183 | --> |
| 184 | <method name="Release"> |
| 185 | <arg type="u" name="keycode" direction="in"/> |
| 186 | </method> |
| 187 | |
| 188 | <!-- |
| 189 | Modifiers: |
| 190 | |
| 191 | The active keyboard modifiers:: |
| 192 | |
| 193 | Scroll = 1 << 0 |
| 194 | Num = 1 << 1 |
| 195 | Caps = 1 << 2 |
| 196 | --> |
| 197 | <property name="Modifiers" type="u" access="read"/> |
| 198 | </interface> |
| 199 | |
| 200 | <!-- |
| 201 | org.qemu.Display1.Mouse: |
| 202 | |
Marc-André Lureau | 439e016 | 2023-06-06 15:56:45 +0400 | [diff] [blame] | 203 | This interface is optionally implemented on |
| 204 | ``/org/qemu/Display1/Console_$id`` (see |
Marc-André Lureau | 142ca62 | 2021-07-15 11:53:53 +0400 | [diff] [blame] | 205 | :dbus:iface:`~org.qemu.Display1.Console` documentation). |
| 206 | |
| 207 | .. _dbus-button-values: |
| 208 | |
| 209 | **Button values**:: |
| 210 | |
| 211 | Left = 0 |
| 212 | Middle = 1 |
| 213 | Right = 2 |
| 214 | Wheel-up = 3 |
| 215 | Wheel-down = 4 |
| 216 | Side = 5 |
| 217 | Extra = 6 |
| 218 | --> |
| 219 | <interface name="org.qemu.Display1.Mouse"> |
| 220 | <!-- |
| 221 | Press: |
| 222 | @button: :ref:`button value<dbus-button-values>`. |
| 223 | |
| 224 | Send a mouse button press event. |
| 225 | --> |
| 226 | <method name="Press"> |
| 227 | <arg type="u" name="button" direction="in"/> |
| 228 | </method> |
| 229 | |
| 230 | <!-- |
| 231 | Release: |
| 232 | @button: :ref:`button value<dbus-button-values>`. |
| 233 | |
| 234 | Send a mouse button release event. |
| 235 | --> |
| 236 | <method name="Release"> |
| 237 | <arg type="u" name="button" direction="in"/> |
| 238 | </method> |
| 239 | |
| 240 | <!-- |
| 241 | SetAbsPosition: |
| 242 | @x: X position, in pixels. |
| 243 | @y: Y position, in pixels. |
| 244 | |
| 245 | Set the mouse pointer position. |
| 246 | |
| 247 | Returns an error if not :dbus:prop:`IsAbsolute`. |
| 248 | --> |
| 249 | <method name="SetAbsPosition"> |
| 250 | <arg type="u" name="x" direction="in"/> |
| 251 | <arg type="u" name="y" direction="in"/> |
| 252 | </method> |
| 253 | |
| 254 | <!-- |
| 255 | RelMotion: |
| 256 | @dx: X-delta, in pixels. |
| 257 | @dy: Y-delta, in pixels. |
| 258 | |
| 259 | Move the mouse pointer position, relative to the current position. |
| 260 | |
| 261 | Returns an error if :dbus:prop:`IsAbsolute`. |
| 262 | --> |
| 263 | <method name="RelMotion"> |
| 264 | <arg type="i" name="dx" direction="in"/> |
| 265 | <arg type="i" name="dy" direction="in"/> |
| 266 | </method> |
| 267 | |
| 268 | <!-- |
| 269 | IsAbsolute: |
| 270 | |
| 271 | Whether the mouse is using absolute movements. |
| 272 | --> |
| 273 | <property name="IsAbsolute" type="b" access="read"/> |
| 274 | </interface> |
| 275 | |
| 276 | <!-- |
Bilal Elmoussaoui | de9f844 | 2023-06-19 11:53:37 +0200 | [diff] [blame] | 277 | org.qemu.Display1.MultiTouch: |
| 278 | |
| 279 | This interface in implemented on ``/org/qemu/Display1/Console_$id`` (see |
| 280 | :dbus:iface:`~org.qemu.Display1.Console` documentation). |
| 281 | |
| 282 | .. _dbus-kind-values: |
| 283 | |
| 284 | **Kind values**:: |
| 285 | |
| 286 | Begin = 0 |
| 287 | Update = 1 |
| 288 | End = 2 |
| 289 | Cancel = 3 |
| 290 | --> |
| 291 | <interface name="org.qemu.Display1.MultiTouch"> |
| 292 | <!-- |
| 293 | SendEvent: |
| 294 | @kind: The touch event kind |
| 295 | @num_slot: The slot number. |
| 296 | @x: The x coordinates. |
| 297 | @y: The y coordinates. |
| 298 | |
| 299 | Send a touch gesture event. |
| 300 | --> |
| 301 | <method name="SendEvent"> |
| 302 | <arg type="u" name="kind" direction="in"/> |
| 303 | <arg type="t" name="num_slot" direction="in"/> |
| 304 | <arg type="d" name="x" direction="in"/> |
| 305 | <arg type="d" name="y" direction="in"/> |
| 306 | </method> |
| 307 | |
| 308 | <!-- |
| 309 | MaxSlots: |
| 310 | |
| 311 | The maximum number of slots. |
| 312 | --> |
| 313 | <property name="MaxSlots" type="i" access="read"/> |
| 314 | </interface> |
| 315 | |
| 316 | <!-- |
Marc-André Lureau | 142ca62 | 2021-07-15 11:53:53 +0400 | [diff] [blame] | 317 | org.qemu.Display1.Listener: |
| 318 | |
| 319 | This client-side interface must be available on |
| 320 | ``/org/qemu/Display1/Listener`` when registering the peer-to-peer |
| 321 | connection with :dbus:meth:`~org.qemu.Display1.Console.Register`. |
| 322 | --> |
| 323 | <interface name="org.qemu.Display1.Listener"> |
| 324 | <!-- |
| 325 | Scanout: |
| 326 | @width: display width, in pixels. |
| 327 | @height: display height, in pixels. |
| 328 | @stride: data stride, in bytes. |
| 329 | @pixman_format: image format (ex: ``PIXMAN_X8R8G8B8``). |
| 330 | @data: image data. |
| 331 | |
| 332 | Resize and update the display content. |
| 333 | |
| 334 | The data to transfer for the display update may be large. The preferred |
| 335 | scanout method is :dbus:meth:`ScanoutDMABUF`, used whenever possible. |
| 336 | --> |
| 337 | <method name="Scanout"> |
| 338 | <arg type="u" name="width" direction="in"/> |
| 339 | <arg type="u" name="height" direction="in"/> |
| 340 | <arg type="u" name="stride" direction="in"/> |
| 341 | <arg type="u" name="pixman_format" direction="in"/> |
| 342 | <arg type="ay" name="data" direction="in"> |
| 343 | <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> |
| 344 | </arg> |
| 345 | </method> |
| 346 | |
| 347 | <!-- |
| 348 | Update: |
| 349 | @x: X update position, in pixels. |
| 350 | @y: Y update position, in pixels. |
| 351 | @width: update width, in pixels. |
| 352 | @height: update height, in pixels. |
| 353 | @stride: data stride, in bytes. |
| 354 | @pixman_format: image format (ex: ``PIXMAN_X8R8G8B8``). |
| 355 | @data: display image data. |
| 356 | |
| 357 | Update the display content. |
| 358 | |
| 359 | This method is only called after a :dbus:meth:`Scanout` call. |
| 360 | --> |
| 361 | <method name="Update"> |
| 362 | <arg type="i" name="x" direction="in"/> |
| 363 | <arg type="i" name="y" direction="in"/> |
| 364 | <arg type="i" name="width" direction="in"/> |
| 365 | <arg type="i" name="height" direction="in"/> |
| 366 | <arg type="u" name="stride" direction="in"/> |
| 367 | <arg type="u" name="pixman_format" direction="in"/> |
| 368 | <arg type="ay" name="data" direction="in"> |
| 369 | <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> |
| 370 | </arg> |
| 371 | </method> |
| 372 | |
Paolo Bonzini | d0cda6f | 2023-11-03 09:17:48 +0100 | [diff] [blame] | 373 | <?if $(env.HOST_OS) != windows?> |
Marc-André Lureau | 142ca62 | 2021-07-15 11:53:53 +0400 | [diff] [blame] | 374 | <!-- |
| 375 | ScanoutDMABUF: |
| 376 | @dmabuf: the DMABUF file descriptor. |
| 377 | @width: display width, in pixels. |
| 378 | @height: display height, in pixels. |
| 379 | @stride: stride, in bytes. |
| 380 | @fourcc: DMABUF fourcc. |
| 381 | @modifier: DMABUF modifier. |
| 382 | @y0_top: whether Y position 0 is the top or not. |
| 383 | |
| 384 | Resize and update the display content with a DMABUF. |
| 385 | --> |
| 386 | <method name="ScanoutDMABUF"> |
| 387 | <arg type="h" name="dmabuf" direction="in"/> |
| 388 | <arg type="u" name="width" direction="in"/> |
| 389 | <arg type="u" name="height" direction="in"/> |
| 390 | <arg type="u" name="stride" direction="in"/> |
| 391 | <arg type="u" name="fourcc" direction="in"/> |
| 392 | <!-- xywh? --> |
| 393 | <arg type="t" name="modifier" direction="in"/> |
| 394 | <arg type="b" name="y0_top" direction="in"/> |
| 395 | </method> |
| 396 | |
| 397 | <!-- |
| 398 | UpdateDMABUF: |
| 399 | @x: the X update position, in pixels. |
| 400 | @y: the Y update position, in pixels. |
| 401 | @width: the update width, in pixels. |
| 402 | @height: the update height, in pixels. |
| 403 | |
| 404 | Update the display content with the current DMABUF and the given region. |
| 405 | --> |
| 406 | <method name="UpdateDMABUF"> |
| 407 | <arg type="i" name="x" direction="in"/> |
| 408 | <arg type="i" name="y" direction="in"/> |
| 409 | <arg type="i" name="width" direction="in"/> |
| 410 | <arg type="i" name="height" direction="in"/> |
| 411 | </method> |
Marc-André Lureau | 6cc5a61 | 2023-06-06 15:56:42 +0400 | [diff] [blame] | 412 | <?endif?> |
Marc-André Lureau | 142ca62 | 2021-07-15 11:53:53 +0400 | [diff] [blame] | 413 | |
| 414 | <!-- |
| 415 | Disable: |
| 416 | |
| 417 | Disable the display (turn it off). |
| 418 | --> |
| 419 | <method name="Disable"> |
| 420 | </method> |
| 421 | |
| 422 | <!-- |
| 423 | MouseSet: |
| 424 | @x: X mouse position, in pixels. |
| 425 | @y: Y mouse position, in pixels. |
| 426 | @on: whether the mouse is visible or not. |
| 427 | |
| 428 | Set the mouse position and visibility. |
| 429 | --> |
| 430 | <method name="MouseSet"> |
| 431 | <arg type="i" name="x" direction="in"/> |
| 432 | <arg type="i" name="y" direction="in"/> |
| 433 | <arg type="i" name="on" direction="in"/> |
| 434 | </method> |
| 435 | |
| 436 | <!-- |
| 437 | CursorDefine: |
| 438 | @width: cursor width, in pixels. |
| 439 | @height: cursor height, in pixels. |
| 440 | @hot_x: hot-spot X position, in pixels. |
| 441 | @hot_y: hot-spot Y position, in pixels. |
| 442 | @data: the cursor data. |
| 443 | |
| 444 | Set the mouse cursor shape and hot-spot. The "data" must be ARGB, 32-bit |
| 445 | per pixel. |
| 446 | --> |
| 447 | <method name="CursorDefine"> |
| 448 | <arg type="i" name="width" direction="in"/> |
| 449 | <arg type="i" name="height" direction="in"/> |
| 450 | <arg type="i" name="hot_x" direction="in"/> |
| 451 | <arg type="i" name="hot_y" direction="in"/> |
| 452 | <arg type="ay" name="data" direction="in"> |
| 453 | <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> |
| 454 | </arg> |
| 455 | </method> |
Marc-André Lureau | 439e016 | 2023-06-06 15:56:45 +0400 | [diff] [blame] | 456 | |
| 457 | <!-- |
| 458 | Interfaces: |
| 459 | |
| 460 | This property lists extra interfaces provided by the |
| 461 | /org/qemu/Display1/Listener object, and can be used to detect |
| 462 | the capabilities with which they are communicating. |
| 463 | |
| 464 | Unlike the standard D-Bus Introspectable interface, querying this |
| 465 | property does not require parsing XML. |
| 466 | |
| 467 | (earlier version of the display interface do not provide this property) |
| 468 | --> |
| 469 | <property name="Interfaces" type="as" access="read"/> |
Marc-André Lureau | 142ca62 | 2021-07-15 11:53:53 +0400 | [diff] [blame] | 470 | </interface> |
Marc-André Lureau | 739362d | 2021-03-09 17:15:28 +0400 | [diff] [blame] | 471 | |
| 472 | <!-- |
Marc-André Lureau | 4de1797ff6 | 2024-10-08 16:50:24 +0400 | [diff] [blame] | 473 | org.qemu.Display1.Listener.Unix.Map: |
| 474 | |
| 475 | This optional client-side interface can complement |
| 476 | org.qemu.Display1.Listener on ``/org/qemu/Display1/Listener`` for |
| 477 | Unix-specific shared memory scanouts. |
| 478 | --> |
| 479 | <?if $(env.HOST_OS) != windows?> |
| 480 | <interface name="org.qemu.Display1.Listener.Unix.Map"> |
| 481 | <!-- |
| 482 | ScanoutMap: |
| 483 | @handle: the shared map FD. |
| 484 | @offset: mapping offset, in bytes. |
| 485 | @width: display width, in pixels. |
| 486 | @height: display height, in pixels. |
| 487 | @stride: stride, in bytes. |
| 488 | @pixman_format: image format (ex: ``PIXMAN_X8R8G8B8``). |
| 489 | |
| 490 | Resize and update the display content with a shared map. |
| 491 | --> |
| 492 | <method name="ScanoutMap"> |
| 493 | <arg type="h" name="handle" direction="in"/> |
| 494 | <arg type="u" name="offset" direction="in"/> |
| 495 | <arg type="u" name="width" direction="in"/> |
| 496 | <arg type="u" name="height" direction="in"/> |
| 497 | <arg type="u" name="stride" direction="in"/> |
| 498 | <arg type="u" name="pixman_format" direction="in"/> |
| 499 | </method> |
| 500 | |
| 501 | <!-- |
| 502 | UpdateMap: |
| 503 | @x: the X update position, in pixels. |
| 504 | @y: the Y update position, in pixels. |
| 505 | @width: the update width, in pixels. |
| 506 | @height: the update height, in pixels. |
| 507 | |
| 508 | Update the display content with the current shared map and the given region. |
| 509 | --> |
| 510 | <method name="UpdateMap"> |
| 511 | <arg type="i" name="x" direction="in"/> |
| 512 | <arg type="i" name="y" direction="in"/> |
| 513 | <arg type="i" name="width" direction="in"/> |
| 514 | <arg type="i" name="height" direction="in"/> |
| 515 | </method> |
| 516 | </interface> |
| 517 | <?endif?> |
| 518 | |
| 519 | <!-- |
Marc-André Lureau | 48dddba | 2023-06-06 15:56:48 +0400 | [diff] [blame] | 520 | org.qemu.Display1.Listener.Win32.Map: |
| 521 | |
Marc-André Lureau | de1f8ce | 2023-06-06 15:56:58 +0400 | [diff] [blame] | 522 | This optional client-side interface can complement |
| 523 | org.qemu.Display1.Listener on ``/org/qemu/Display1/Listener`` for Windows |
| 524 | specific shared memory scanouts. |
Marc-André Lureau | 48dddba | 2023-06-06 15:56:48 +0400 | [diff] [blame] | 525 | --> |
Marc-André Lureau | 3a9d38d | 2024-10-08 16:50:23 +0400 | [diff] [blame] | 526 | <?if $(env.HOST_OS) == windows?> |
Marc-André Lureau | 48dddba | 2023-06-06 15:56:48 +0400 | [diff] [blame] | 527 | <interface name="org.qemu.Display1.Listener.Win32.Map"> |
| 528 | <!-- |
| 529 | ScanoutMap: |
| 530 | @handle: the shared map handle value. |
| 531 | @offset: mapping offset. |
| 532 | @width: display width, in pixels. |
| 533 | @height: display height, in pixels. |
| 534 | @stride: stride, in bytes. |
| 535 | @pixman_format: image format (ex: ``PIXMAN_X8R8G8B8``). |
| 536 | |
| 537 | Resize and update the display content with a shared map. |
| 538 | --> |
| 539 | <method name="ScanoutMap"> |
| 540 | <arg type="t" name="handle" direction="in"/> |
| 541 | <arg type="u" name="offset" direction="in"/> |
| 542 | <arg type="u" name="width" direction="in"/> |
| 543 | <arg type="u" name="height" direction="in"/> |
| 544 | <arg type="u" name="stride" direction="in"/> |
| 545 | <arg type="u" name="pixman_format" direction="in"/> |
| 546 | </method> |
| 547 | |
| 548 | <!-- |
| 549 | UpdateMap: |
| 550 | @x: the X update position, in pixels. |
| 551 | @y: the Y update position, in pixels. |
| 552 | @width: the update width, in pixels. |
| 553 | @height: the update height, in pixels. |
| 554 | |
| 555 | Update the display content with the current shared map and the given region. |
| 556 | --> |
| 557 | <method name="UpdateMap"> |
| 558 | <arg type="i" name="x" direction="in"/> |
| 559 | <arg type="i" name="y" direction="in"/> |
| 560 | <arg type="i" name="width" direction="in"/> |
| 561 | <arg type="i" name="height" direction="in"/> |
| 562 | </method> |
| 563 | </interface> |
Marc-André Lureau | 3a9d38d | 2024-10-08 16:50:23 +0400 | [diff] [blame] | 564 | <?endif?> |
Marc-André Lureau | 48dddba | 2023-06-06 15:56:48 +0400 | [diff] [blame] | 565 | |
| 566 | <!-- |
Marc-André Lureau | de1f8ce | 2023-06-06 15:56:58 +0400 | [diff] [blame] | 567 | org.qemu.Display1.Listener.Win32.D3d11: |
| 568 | |
| 569 | This optional client-side interface can complement |
| 570 | org.qemu.Display1.Listener on ``/org/qemu/Display1/Listener`` for Windows |
| 571 | specific Direct3D texture sharing of the scanouts. |
| 572 | --> |
| 573 | <interface name="org.qemu.Display1.Listener.Win32.D3d11"> |
| 574 | <!-- |
| 575 | ScanoutTexture2d: |
| 576 | @handle: the NT handle for the shared texture (to be opened back with ID3D11Device1::OpenSharedResource1). |
| 577 | @texture_width: texture width, in pixels. |
| 578 | @texture_height: texture height, in pixels. |
| 579 | @y0_top: whether Y position 0 is the top or not. |
| 580 | @x: the X scanout position, in pixels. |
| 581 | @y: the Y scanout position, in pixels. |
| 582 | @width: the scanout width, in pixels. |
| 583 | @height: the scanout height, in pixels. |
| 584 | |
| 585 | Resize and update the display content with a Direct3D 11 2D texture. |
| 586 | You must acquire and release the associated KeyedMutex 0 during rendering. |
| 587 | --> |
| 588 | <method name="ScanoutTexture2d"> |
| 589 | <arg type="t" name="handle" direction="in"/> |
| 590 | <arg type="u" name="texture_width" direction="in"/> |
| 591 | <arg type="u" name="texture_height" direction="in"/> |
| 592 | <arg type="b" name="y0_top" direction="in"/> |
| 593 | <arg type="u" name="x" direction="in"/> |
| 594 | <arg type="u" name="y" direction="in"/> |
| 595 | <arg type="u" name="width" direction="in"/> |
| 596 | <arg type="u" name="height" direction="in"/> |
| 597 | </method> |
| 598 | |
| 599 | <!-- |
| 600 | UpdateTexture2d: |
| 601 | @x: the X update position, in pixels. |
| 602 | @y: the Y update position, in pixels. |
| 603 | @width: the update width, in pixels. |
| 604 | @height: the update height, in pixels. |
| 605 | |
| 606 | Update the display content with the current Direct3D 2D texture and the given region. |
| 607 | You must acquire and release the associated KeyedMutex 0 during rendering. |
| 608 | --> |
| 609 | <method name="UpdateTexture2d"> |
| 610 | <arg type="i" name="x" direction="in"/> |
| 611 | <arg type="i" name="y" direction="in"/> |
| 612 | <arg type="i" name="width" direction="in"/> |
| 613 | <arg type="i" name="height" direction="in"/> |
| 614 | </method> |
| 615 | </interface> |
| 616 | |
| 617 | <!-- |
Marc-André Lureau | ff1a581 | 2021-07-20 16:02:52 +0400 | [diff] [blame] | 618 | org.qemu.Display1.Clipboard: |
| 619 | |
| 620 | This interface must be implemented by both the client and the server on |
| 621 | ``/org/qemu/Display1/Clipboard`` to support clipboard sharing between |
| 622 | the client and the guest. |
| 623 | |
| 624 | Once :dbus:meth:`Register`'ed, method calls may be sent and received in both |
| 625 | directions. Unregistered callers will get error replies. |
| 626 | |
| 627 | .. _dbus-clipboard-selection: |
| 628 | |
| 629 | **Selection values**:: |
| 630 | |
| 631 | Clipboard = 0 |
| 632 | Primary = 1 |
| 633 | Secondary = 2 |
| 634 | |
| 635 | .. _dbus-clipboard-serial: |
| 636 | |
| 637 | **Serial counter** |
| 638 | |
| 639 | To solve potential clipboard races, clipboard grabs have an associated |
| 640 | serial counter. It is set to 0 on registration, and incremented by 1 for |
| 641 | each grab. The peer with the highest serial is the clipboard grab owner. |
| 642 | |
| 643 | When a grab with a lower serial is received, it should be discarded. |
| 644 | |
| 645 | When a grab is attempted with the same serial number as the current grab, |
| 646 | the one coming from the client should have higher priority, and the client |
| 647 | should gain clipboard grab ownership. |
| 648 | --> |
| 649 | <interface name="org.qemu.Display1.Clipboard"> |
| 650 | <!-- |
| 651 | Register: |
| 652 | |
| 653 | Register a clipboard session and reinitialize the serial counter. |
| 654 | |
| 655 | The client must register itself, and is granted an exclusive |
| 656 | access for handling the clipboard. |
| 657 | |
| 658 | The server can reinitialize the session as well (to reset the counter). |
| 659 | --> |
| 660 | <method name="Register"/> |
| 661 | |
| 662 | <!-- |
| 663 | Unregister: |
| 664 | |
| 665 | Unregister the clipboard session. |
| 666 | --> |
| 667 | <method name="Unregister"/> |
| 668 | <!-- |
| 669 | Grab: |
| 670 | @selection: a :ref:`selection value<dbus-clipboard-selection>`. |
| 671 | @serial: the current grab :ref:`serial<dbus-clipboard-serial>`. |
| 672 | @mimes: the list of available content MIME types. |
| 673 | |
| 674 | Grab the clipboard, claiming current clipboard content. |
| 675 | --> |
| 676 | <method name="Grab"> |
| 677 | <arg type="u" name="selection"/> |
| 678 | <arg type="u" name="serial"/> |
| 679 | <arg type="as" name="mimes"/> |
| 680 | </method> |
| 681 | |
| 682 | <!-- |
| 683 | Release: |
| 684 | @selection: a :ref:`selection value<dbus-clipboard-selection>`. |
| 685 | |
| 686 | Release the clipboard (does nothing if not the current owner). |
| 687 | --> |
| 688 | <method name="Release"> |
| 689 | <arg type="u" name="selection"/> |
| 690 | </method> |
| 691 | |
| 692 | <!-- |
| 693 | Request: |
| 694 | @selection: a :ref:`selection value<dbus-clipboard-selection>` |
| 695 | @mimes: requested MIME types (by order of preference). |
| 696 | @reply_mime: the returned data MIME type. |
| 697 | @data: the clipboard data. |
| 698 | |
| 699 | Request the clipboard content. |
| 700 | |
| 701 | Return an error if the clipboard is empty, or the requested MIME types |
| 702 | are unavailable. |
| 703 | --> |
| 704 | <method name="Request"> |
| 705 | <arg type="u" name="selection"/> |
| 706 | <arg type="as" name="mimes"/> |
| 707 | <arg type="s" name="reply_mime" direction="out"/> |
| 708 | <arg type="ay" name="data" direction="out"> |
| 709 | <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> |
| 710 | </arg> |
| 711 | </method> |
Marc-André Lureau | 439e016 | 2023-06-06 15:56:45 +0400 | [diff] [blame] | 712 | |
| 713 | <!-- |
| 714 | Interfaces: |
| 715 | |
| 716 | This property lists extra interfaces provided by the |
| 717 | /org/qemu/Display1/Clipboard object, and can be used to detect |
| 718 | the capabilities with which they are communicating. |
| 719 | |
| 720 | Unlike the standard D-Bus Introspectable interface, querying this |
| 721 | property does not require parsing XML. |
| 722 | |
| 723 | (earlier version of the display interface do not provide this property) |
| 724 | --> |
| 725 | <property name="Interfaces" type="as" access="read"/> |
Marc-André Lureau | ff1a581 | 2021-07-20 16:02:52 +0400 | [diff] [blame] | 726 | </interface> |
| 727 | |
| 728 | <!-- |
Marc-André Lureau | 739362d | 2021-03-09 17:15:28 +0400 | [diff] [blame] | 729 | org.qemu.Display1.Audio: |
| 730 | |
| 731 | Audio backend may be available on ``/org/qemu/Display1/Audio``. |
| 732 | --> |
| 733 | <interface name="org.qemu.Display1.Audio"> |
| 734 | <!-- |
| 735 | RegisterOutListener: |
| 736 | @listener: a Unix socket FD, for peer-to-peer D-Bus communication. |
| 737 | |
| 738 | Register an audio backend playback handler. |
| 739 | |
| 740 | Multiple listeners may be registered simultaneously. |
| 741 | |
| 742 | The listener is expected to implement the |
| 743 | :dbus:iface:`org.qemu.Display1.AudioOutListener` interface. |
| 744 | --> |
| 745 | <method name="RegisterOutListener"> |
Paolo Bonzini | d0cda6f | 2023-11-03 09:17:48 +0100 | [diff] [blame] | 746 | <?if $(env.HOST_OS) == windows?> |
Marc-André Lureau | 6cc5a61 | 2023-06-06 15:56:42 +0400 | [diff] [blame] | 747 | <arg type="ay" name="listener" direction="in"> |
| 748 | <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> |
| 749 | </arg> |
| 750 | <?else?> |
Marc-André Lureau | 739362d | 2021-03-09 17:15:28 +0400 | [diff] [blame] | 751 | <arg type="h" name="listener" direction="in"/> |
Marc-André Lureau | 6cc5a61 | 2023-06-06 15:56:42 +0400 | [diff] [blame] | 752 | <?endif?> |
Marc-André Lureau | 739362d | 2021-03-09 17:15:28 +0400 | [diff] [blame] | 753 | </method> |
| 754 | |
| 755 | <!-- |
| 756 | RegisterInListener: |
| 757 | @listener: a Unix socket FD, for peer-to-peer D-Bus communication. |
| 758 | |
| 759 | Register an audio backend record handler. |
| 760 | |
| 761 | Multiple listeners may be registered simultaneously. |
| 762 | |
| 763 | The listener is expected to implement the |
| 764 | :dbus:iface:`org.qemu.Display1.AudioInListener` interface. |
| 765 | --> |
| 766 | <method name="RegisterInListener"> |
Paolo Bonzini | d0cda6f | 2023-11-03 09:17:48 +0100 | [diff] [blame] | 767 | <?if $(env.HOST_OS) == windows?> |
Marc-André Lureau | 6cc5a61 | 2023-06-06 15:56:42 +0400 | [diff] [blame] | 768 | <arg type="ay" name="listener" direction="in"> |
| 769 | <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> |
| 770 | </arg> |
| 771 | <?else?> |
Marc-André Lureau | 739362d | 2021-03-09 17:15:28 +0400 | [diff] [blame] | 772 | <arg type="h" name="listener" direction="in"/> |
Marc-André Lureau | 6cc5a61 | 2023-06-06 15:56:42 +0400 | [diff] [blame] | 773 | <?endif?> |
Marc-André Lureau | 739362d | 2021-03-09 17:15:28 +0400 | [diff] [blame] | 774 | </method> |
Marc-André Lureau | 439e016 | 2023-06-06 15:56:45 +0400 | [diff] [blame] | 775 | |
| 776 | <!-- |
| 777 | Interfaces: |
| 778 | |
| 779 | This property lists extra interfaces provided by the |
| 780 | /org/qemu/Display1/Audio object, and can be used to detect |
| 781 | the capabilities with which they are communicating. |
| 782 | |
| 783 | Unlike the standard D-Bus Introspectable interface, querying this |
| 784 | property does not require parsing XML. |
| 785 | |
| 786 | (earlier version of the display interface do not provide this property) |
| 787 | --> |
| 788 | <property name="Interfaces" type="as" access="read"/> |
Marc-André Lureau | 739362d | 2021-03-09 17:15:28 +0400 | [diff] [blame] | 789 | </interface> |
| 790 | |
| 791 | <!-- |
| 792 | org.qemu.Display1.AudioOutListener: |
| 793 | |
| 794 | This client-side interface must be available on |
| 795 | ``/org/qemu/Display1/AudioOutListener`` when registering the peer-to-peer |
| 796 | connection with :dbus:meth:`~org.qemu.Display1.Audio.RegisterOutListener`. |
| 797 | --> |
| 798 | <interface name="org.qemu.Display1.AudioOutListener"> |
| 799 | <!-- |
| 800 | Init: |
| 801 | @id: the stream ID. |
| 802 | @bits: PCM bits per sample. |
| 803 | @is_signed: whether the PCM data is signed. |
| 804 | @is_float: PCM floating point format. |
| 805 | @freq: the PCM frequency in Hz. |
| 806 | @nchannels: the number of channels. |
| 807 | @bytes_per_frame: the bytes per frame. |
| 808 | @bytes_per_second: the bytes per second. |
| 809 | @be: whether using big-endian format. |
| 810 | |
| 811 | Initializes a PCM playback stream. |
| 812 | --> |
| 813 | <method name="Init"> |
| 814 | <arg name="id" type="t" direction="in"/> |
| 815 | <arg name="bits" type="y" direction="in"/> |
| 816 | <arg name="is_signed" type="b" direction="in"/> |
| 817 | <arg name="is_float" type="b" direction="in"/> |
| 818 | <arg name="freq" type="u" direction="in"/> |
| 819 | <arg name="nchannels" type="y" direction="in"/> |
| 820 | <arg name="bytes_per_frame" type="u" direction="in"/> |
| 821 | <arg name="bytes_per_second" type="u" direction="in"/> |
| 822 | <arg name="be" type="b" direction="in"/> |
| 823 | </method> |
| 824 | |
| 825 | <!-- |
| 826 | Fini: |
| 827 | @id: the stream ID. |
| 828 | |
| 829 | Finish & close a playback stream. |
| 830 | --> |
| 831 | <method name="Fini"> |
| 832 | <arg name="id" type="t" direction="in"/> |
| 833 | </method> |
| 834 | |
| 835 | <!-- |
| 836 | SetEnabled: |
| 837 | @id: the stream ID. |
| 838 | |
| 839 | Resume or suspend the playback stream. |
| 840 | --> |
| 841 | <method name="SetEnabled"> |
| 842 | <arg name="id" type="t" direction="in"/> |
| 843 | <arg name="enabled" type="b" direction="in"/> |
| 844 | </method> |
| 845 | |
| 846 | <!-- |
| 847 | SetVolume: |
| 848 | @id: the stream ID. |
| 849 | @mute: whether the stream is muted. |
| 850 | @volume: the volume per-channel. |
| 851 | |
| 852 | Set the stream volume and mute state (volume without unit, 0-255). |
| 853 | --> |
| 854 | <method name="SetVolume"> |
| 855 | <arg name="id" type="t" direction="in"/> |
| 856 | <arg name="mute" type="b" direction="in"/> |
| 857 | <arg name="volume" type="ay" direction="in"> |
| 858 | <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> |
| 859 | </arg> |
| 860 | </method> |
| 861 | |
| 862 | <!-- |
| 863 | Write: |
| 864 | @id: the stream ID. |
| 865 | @data: the PCM data. |
| 866 | |
| 867 | PCM stream to play. |
| 868 | --> |
| 869 | <method name="Write"> |
| 870 | <arg name="id" type="t" direction="in"/> |
| 871 | <arg type="ay" name="data" direction="in"> |
| 872 | <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> |
| 873 | </arg> |
| 874 | </method> |
Marc-André Lureau | 439e016 | 2023-06-06 15:56:45 +0400 | [diff] [blame] | 875 | |
| 876 | <!-- |
| 877 | Interfaces: |
| 878 | |
| 879 | This property lists extra interfaces provided by the |
| 880 | /org/qemu/Display1/AudioOutListener object, and can be used to detect |
| 881 | the capabilities with which they are communicating. |
| 882 | |
| 883 | Unlike the standard D-Bus Introspectable interface, querying this |
| 884 | property does not require parsing XML. |
| 885 | |
| 886 | (earlier version of the display interface do not provide this property) |
| 887 | --> |
| 888 | <property name="Interfaces" type="as" access="read"/> |
Marc-André Lureau | 739362d | 2021-03-09 17:15:28 +0400 | [diff] [blame] | 889 | </interface> |
| 890 | |
| 891 | <!-- |
| 892 | org.qemu.Display1.AudioInListener: |
| 893 | |
| 894 | This client-side interface must be available on |
| 895 | ``/org/qemu/Display1/AudioInListener`` when registering the peer-to-peer |
| 896 | connection with :dbus:meth:`~org.qemu.Display1.Audio.RegisterInListener`. |
| 897 | --> |
| 898 | <interface name="org.qemu.Display1.AudioInListener"> |
| 899 | <!-- |
| 900 | Init: |
| 901 | @id: the stream ID. |
| 902 | @bits: PCM bits per sample. |
| 903 | @is_signed: whether the PCM data is signed. |
| 904 | @is_float: PCM floating point format. |
| 905 | @freq: the PCM frequency in Hz. |
| 906 | @nchannels: the number of channels. |
| 907 | @bytes_per_frame: the bytes per frame. |
| 908 | @bytes_per_second: the bytes per second. |
| 909 | @be: whether using big-endian format. |
| 910 | |
| 911 | Initializes a PCM record stream. |
| 912 | --> |
| 913 | <method name="Init"> |
| 914 | <arg name="id" type="t" direction="in"/> |
| 915 | <arg name="bits" type="y" direction="in"/> |
| 916 | <arg name="is_signed" type="b" direction="in"/> |
| 917 | <arg name="is_float" type="b" direction="in"/> |
| 918 | <arg name="freq" type="u" direction="in"/> |
| 919 | <arg name="nchannels" type="y" direction="in"/> |
| 920 | <arg name="bytes_per_frame" type="u" direction="in"/> |
| 921 | <arg name="bytes_per_second" type="u" direction="in"/> |
| 922 | <arg name="be" type="b" direction="in"/> |
| 923 | </method> |
| 924 | |
| 925 | <!-- |
| 926 | Fini: |
| 927 | @id: the stream ID. |
| 928 | |
| 929 | Finish & close a record stream. |
| 930 | --> |
| 931 | <method name="Fini"> |
| 932 | <arg name="id" type="t" direction="in"/> |
| 933 | </method> |
| 934 | |
| 935 | <!-- |
| 936 | SetEnabled: |
| 937 | @id: the stream ID. |
| 938 | |
| 939 | Resume or suspend the record stream. |
| 940 | --> |
| 941 | <method name="SetEnabled"> |
| 942 | <arg name="id" type="t" direction="in"/> |
| 943 | <arg name="enabled" type="b" direction="in"/> |
| 944 | </method> |
| 945 | |
| 946 | <!-- |
| 947 | SetVolume: |
| 948 | @id: the stream ID. |
| 949 | @mute: whether the stream is muted. |
| 950 | @volume: the volume per-channel. |
| 951 | |
| 952 | Set the stream volume and mute state (volume without unit, 0-255). |
| 953 | --> |
| 954 | <method name="SetVolume"> |
| 955 | <arg name="id" type="t" direction="in"/> |
| 956 | <arg name="mute" type="b" direction="in"/> |
| 957 | <arg name="volume" type="ay" direction="in"> |
| 958 | <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> |
| 959 | </arg> |
| 960 | </method> |
| 961 | |
| 962 | <!-- |
| 963 | Read: |
| 964 | @id: the stream ID. |
| 965 | @size: the amount to read, in bytes. |
| 966 | @data: the recorded data (which may be less than requested). |
| 967 | |
| 968 | Read "size" bytes from the record stream. |
| 969 | --> |
| 970 | <method name="Read"> |
| 971 | <arg name="id" type="t" direction="in"/> |
| 972 | <arg name="size" type="t" direction="in"/> |
| 973 | <arg type="ay" name="data" direction="out"> |
| 974 | <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> |
| 975 | </arg> |
| 976 | </method> |
Marc-André Lureau | 439e016 | 2023-06-06 15:56:45 +0400 | [diff] [blame] | 977 | |
| 978 | <!-- |
| 979 | Interfaces: |
| 980 | |
| 981 | This property lists extra interfaces provided by the |
| 982 | /org/qemu/Display1/AudioInListener object, and can be used to detect |
| 983 | the capabilities with which they are communicating. |
| 984 | |
| 985 | Unlike the standard D-Bus Introspectable interface, querying this |
| 986 | property does not require parsing XML. |
| 987 | |
| 988 | (earlier version of the display interface do not provide this property) |
| 989 | --> |
| 990 | <property name="Interfaces" type="as" access="read"/> |
Marc-André Lureau | 739362d | 2021-03-09 17:15:28 +0400 | [diff] [blame] | 991 | </interface> |
Marc-André Lureau | 3e301c8 | 2021-07-22 19:43:29 +0400 | [diff] [blame] | 992 | |
| 993 | <!-- |
| 994 | org.qemu.Display1.Chardev: |
| 995 | |
| 996 | Character devices may be available on ``/org/qemu/Display1/Chardev_$id``. |
| 997 | |
| 998 | They may be used for different kind of streams, which are identified via |
| 999 | their FQDN :dbus:prop:`Name`. |
| 1000 | |
| 1001 | .. _dbus-chardev-fqdn: |
| 1002 | |
| 1003 | Here are some known reserved kind names (the ``org.qemu`` prefix is |
| 1004 | reserved by QEMU): |
| 1005 | |
| 1006 | org.qemu.console.serial.0 |
| 1007 | A serial console stream. |
| 1008 | |
| 1009 | org.qemu.monitor.hmp.0 |
| 1010 | A QEMU HMP human monitor. |
| 1011 | |
| 1012 | org.qemu.monitor.qmp.0 |
| 1013 | A QEMU QMP monitor. |
| 1014 | |
| 1015 | org.qemu.usbredir |
| 1016 | A usbredir stream. |
| 1017 | --> |
| 1018 | <interface name="org.qemu.Display1.Chardev"> |
| 1019 | <!-- |
| 1020 | Register: |
| 1021 | @stream: a Unix FD to redirect the stream to. |
| 1022 | |
| 1023 | Register a file-descriptor for the stream handling. |
| 1024 | |
| 1025 | The current handler, if any, will be replaced. |
| 1026 | --> |
| 1027 | <method name="Register"> |
Paolo Bonzini | d0cda6f | 2023-11-03 09:17:48 +0100 | [diff] [blame] | 1028 | <?if $(env.HOST_OS) == windows?> |
Marc-André Lureau | 6cc5a61 | 2023-06-06 15:56:42 +0400 | [diff] [blame] | 1029 | <arg type="ay" name="listener" direction="in"> |
| 1030 | <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> |
| 1031 | </arg> |
| 1032 | <?else?> |
Marc-André Lureau | 3e301c8 | 2021-07-22 19:43:29 +0400 | [diff] [blame] | 1033 | <arg type="h" name="stream" direction="in"/> |
Marc-André Lureau | 6cc5a61 | 2023-06-06 15:56:42 +0400 | [diff] [blame] | 1034 | <?endif?> |
Marc-André Lureau | 3e301c8 | 2021-07-22 19:43:29 +0400 | [diff] [blame] | 1035 | </method> |
| 1036 | |
| 1037 | <!-- |
| 1038 | SendBreak: |
| 1039 | |
| 1040 | Send a break event to the character device. |
| 1041 | --> |
| 1042 | <method name="SendBreak"/> |
| 1043 | |
| 1044 | <!-- |
| 1045 | Name: |
| 1046 | |
| 1047 | The FQDN name to identify the kind of stream. See :ref:`reserved |
| 1048 | names<dbus-chardev-fqdn>`. |
| 1049 | --> |
| 1050 | <property name="Name" type="s" access="read"/> |
| 1051 | |
| 1052 | <!-- |
| 1053 | FEOpened: |
| 1054 | |
| 1055 | Whether the front-end side is opened. |
| 1056 | --> |
| 1057 | <property name="FEOpened" type="b" access="read"/> |
| 1058 | |
| 1059 | <!-- |
| 1060 | Echo: |
| 1061 | |
| 1062 | Whether the input should be echo'ed (for serial streams). |
| 1063 | --> |
| 1064 | <property name="Echo" type="b" access="read"/> |
| 1065 | |
| 1066 | <!-- |
| 1067 | Owner: |
| 1068 | |
| 1069 | The D-Bus unique name of the registered handler. |
| 1070 | --> |
| 1071 | <property name="Owner" type="s" access="read"/> |
Marc-André Lureau | 439e016 | 2023-06-06 15:56:45 +0400 | [diff] [blame] | 1072 | |
| 1073 | <!-- |
| 1074 | Interfaces: |
| 1075 | |
| 1076 | This property lists extra interfaces provided by the |
| 1077 | ``/org/qemu/Display1/Chardev_$i`` object, and can be used to detect |
| 1078 | the capabilities with which they are communicating. |
| 1079 | |
| 1080 | Unlike the standard D-Bus Introspectable interface, querying this |
| 1081 | property does not require parsing XML. |
| 1082 | |
| 1083 | (earlier version of the display interface do not provide this property) |
| 1084 | --> |
| 1085 | <property name="Interfaces" type="as" access="read"/> |
Marc-André Lureau | 3e301c8 | 2021-07-22 19:43:29 +0400 | [diff] [blame] | 1086 | </interface> |
Marc-André Lureau | 142ca62 | 2021-07-15 11:53:53 +0400 | [diff] [blame] | 1087 | </node> |