]>
Commit | Line | Data |
---|---|---|
142ca628 MAL |
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"/> | |
29 | </interface> | |
30 | ||
31 | <!-- | |
32 | org.qemu.Display1.Console: | |
33 | ||
34 | This interface is implemented on ``/org/qemu/Display1/Console_$id``. You | |
35 | may discover available consoles through introspection or with the | |
36 | :dbus:prop:`org.qemu.Display1.VM.ConsoleIDs` property. | |
37 | ||
38 | A console is attached to a video device head. It may be "Graphic" or | |
39 | "Text" (see :dbus:prop:`Type` and other properties). | |
40 | ||
41 | Interactions with a console may be done with | |
42 | :dbus:iface:`org.qemu.Display1.Keyboard` and | |
43 | :dbus:iface:`org.qemu.Display1.Mouse` interfaces when available. | |
44 | --> | |
45 | <interface name="org.qemu.Display1.Console"> | |
46 | <!-- | |
47 | RegisterListener: | |
48 | @listener: a Unix socket FD, for peer-to-peer D-Bus communication. | |
49 | ||
50 | Register a console listener, which will receive display updates, until | |
51 | it is disconnected. | |
52 | ||
53 | Multiple listeners may be registered simultaneously. | |
54 | ||
55 | The listener is expected to implement the | |
56 | :dbus:iface:`org.qemu.Display1.Listener` interface. | |
57 | --> | |
58 | <method name="RegisterListener"> | |
59 | <arg type="h" name="listener" direction="in"/> | |
60 | </method> | |
61 | ||
62 | <!-- | |
63 | SetUIInfo: | |
64 | @width_mm: the physical display width in millimeters. | |
65 | @height_mm: the physical display height in millimeters. | |
66 | @xoff: horizontal offset, in pixels. | |
67 | @yoff: vertical offset, in pixels. | |
68 | @width: console width, in pixels. | |
69 | @height: console height, in pixels. | |
70 | ||
71 | Modify the dimensions and display settings. | |
72 | --> | |
73 | <method name="SetUIInfo"> | |
74 | <arg name="width_mm" type="q" direction="in"/> | |
75 | <arg name="height_mm" type="q" direction="in"/> | |
76 | <arg name="xoff" type="i" direction="in"/> | |
77 | <arg name="yoff" type="i" direction="in"/> | |
78 | <arg name="width" type="u" direction="in"/> | |
79 | <arg name="height" type="u" direction="in"/> | |
80 | </method> | |
81 | ||
82 | <!-- | |
83 | Label: | |
84 | ||
85 | A user-friendly name for the console (for ex: "VGA"). | |
86 | --> | |
87 | <property name="Label" type="s" access="read"/> | |
88 | ||
89 | <!-- | |
90 | Head: | |
91 | ||
92 | Graphical device head number. | |
93 | --> | |
94 | <property name="Head" type="u" access="read"/> | |
95 | ||
96 | <!-- | |
97 | Type: | |
98 | ||
99 | Console type ("Graphic" or "Text"). | |
100 | --> | |
101 | <property name="Type" type="s" access="read"/> | |
102 | ||
103 | <!-- | |
104 | Width: | |
105 | ||
106 | Console width, in pixels. | |
107 | --> | |
108 | <property name="Width" type="u" access="read"/> | |
109 | ||
110 | <!-- | |
111 | Height: | |
112 | ||
113 | Console height, in pixels. | |
114 | --> | |
115 | <property name="Height" type="u" access="read"/> | |
116 | ||
117 | <!-- | |
118 | DeviceAddress: | |
119 | ||
120 | The device address (ex: "pci/0000/02.0"). | |
121 | --> | |
122 | <property name="DeviceAddress" type="s" access="read"/> | |
123 | </interface> | |
124 | ||
125 | <!-- | |
126 | org.qemu.Display1.Keyboard: | |
127 | ||
128 | This interface in implemented on ``/org/qemu/Display1/Console_$id`` (see | |
129 | :dbus:iface:`~org.qemu.Display1.Console`). | |
130 | --> | |
131 | <interface name="org.qemu.Display1.Keyboard"> | |
132 | <!-- | |
133 | Press: | |
134 | @keycode: QEMU key number (xtkbd + special re-encoding of high bit) | |
135 | ||
136 | Send a key press event. | |
137 | --> | |
138 | <method name="Press"> | |
139 | <arg type="u" name="keycode" direction="in"/> | |
140 | </method> | |
141 | ||
142 | <!-- | |
143 | Release: | |
144 | @keycode: QEMU key number (xtkbd + special re-encoding of high bit) | |
145 | ||
146 | Send a key release event. | |
147 | --> | |
148 | <method name="Release"> | |
149 | <arg type="u" name="keycode" direction="in"/> | |
150 | </method> | |
151 | ||
152 | <!-- | |
153 | Modifiers: | |
154 | ||
155 | The active keyboard modifiers:: | |
156 | ||
157 | Scroll = 1 << 0 | |
158 | Num = 1 << 1 | |
159 | Caps = 1 << 2 | |
160 | --> | |
161 | <property name="Modifiers" type="u" access="read"/> | |
162 | </interface> | |
163 | ||
164 | <!-- | |
165 | org.qemu.Display1.Mouse: | |
166 | ||
167 | This interface in implemented on ``/org/qemu/Display1/Console_$id`` (see | |
168 | :dbus:iface:`~org.qemu.Display1.Console` documentation). | |
169 | ||
170 | .. _dbus-button-values: | |
171 | ||
172 | **Button values**:: | |
173 | ||
174 | Left = 0 | |
175 | Middle = 1 | |
176 | Right = 2 | |
177 | Wheel-up = 3 | |
178 | Wheel-down = 4 | |
179 | Side = 5 | |
180 | Extra = 6 | |
181 | --> | |
182 | <interface name="org.qemu.Display1.Mouse"> | |
183 | <!-- | |
184 | Press: | |
185 | @button: :ref:`button value<dbus-button-values>`. | |
186 | ||
187 | Send a mouse button press event. | |
188 | --> | |
189 | <method name="Press"> | |
190 | <arg type="u" name="button" direction="in"/> | |
191 | </method> | |
192 | ||
193 | <!-- | |
194 | Release: | |
195 | @button: :ref:`button value<dbus-button-values>`. | |
196 | ||
197 | Send a mouse button release event. | |
198 | --> | |
199 | <method name="Release"> | |
200 | <arg type="u" name="button" direction="in"/> | |
201 | </method> | |
202 | ||
203 | <!-- | |
204 | SetAbsPosition: | |
205 | @x: X position, in pixels. | |
206 | @y: Y position, in pixels. | |
207 | ||
208 | Set the mouse pointer position. | |
209 | ||
210 | Returns an error if not :dbus:prop:`IsAbsolute`. | |
211 | --> | |
212 | <method name="SetAbsPosition"> | |
213 | <arg type="u" name="x" direction="in"/> | |
214 | <arg type="u" name="y" direction="in"/> | |
215 | </method> | |
216 | ||
217 | <!-- | |
218 | RelMotion: | |
219 | @dx: X-delta, in pixels. | |
220 | @dy: Y-delta, in pixels. | |
221 | ||
222 | Move the mouse pointer position, relative to the current position. | |
223 | ||
224 | Returns an error if :dbus:prop:`IsAbsolute`. | |
225 | --> | |
226 | <method name="RelMotion"> | |
227 | <arg type="i" name="dx" direction="in"/> | |
228 | <arg type="i" name="dy" direction="in"/> | |
229 | </method> | |
230 | ||
231 | <!-- | |
232 | IsAbsolute: | |
233 | ||
234 | Whether the mouse is using absolute movements. | |
235 | --> | |
236 | <property name="IsAbsolute" type="b" access="read"/> | |
237 | </interface> | |
238 | ||
239 | <!-- | |
240 | org.qemu.Display1.Listener: | |
241 | ||
242 | This client-side interface must be available on | |
243 | ``/org/qemu/Display1/Listener`` when registering the peer-to-peer | |
244 | connection with :dbus:meth:`~org.qemu.Display1.Console.Register`. | |
245 | --> | |
246 | <interface name="org.qemu.Display1.Listener"> | |
247 | <!-- | |
248 | Scanout: | |
249 | @width: display width, in pixels. | |
250 | @height: display height, in pixels. | |
251 | @stride: data stride, in bytes. | |
252 | @pixman_format: image format (ex: ``PIXMAN_X8R8G8B8``). | |
253 | @data: image data. | |
254 | ||
255 | Resize and update the display content. | |
256 | ||
257 | The data to transfer for the display update may be large. The preferred | |
258 | scanout method is :dbus:meth:`ScanoutDMABUF`, used whenever possible. | |
259 | --> | |
260 | <method name="Scanout"> | |
261 | <arg type="u" name="width" direction="in"/> | |
262 | <arg type="u" name="height" direction="in"/> | |
263 | <arg type="u" name="stride" direction="in"/> | |
264 | <arg type="u" name="pixman_format" direction="in"/> | |
265 | <arg type="ay" name="data" direction="in"> | |
266 | <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> | |
267 | </arg> | |
268 | </method> | |
269 | ||
270 | <!-- | |
271 | Update: | |
272 | @x: X update position, in pixels. | |
273 | @y: Y update position, in pixels. | |
274 | @width: update width, in pixels. | |
275 | @height: update height, in pixels. | |
276 | @stride: data stride, in bytes. | |
277 | @pixman_format: image format (ex: ``PIXMAN_X8R8G8B8``). | |
278 | @data: display image data. | |
279 | ||
280 | Update the display content. | |
281 | ||
282 | This method is only called after a :dbus:meth:`Scanout` call. | |
283 | --> | |
284 | <method name="Update"> | |
285 | <arg type="i" name="x" direction="in"/> | |
286 | <arg type="i" name="y" direction="in"/> | |
287 | <arg type="i" name="width" direction="in"/> | |
288 | <arg type="i" name="height" direction="in"/> | |
289 | <arg type="u" name="stride" direction="in"/> | |
290 | <arg type="u" name="pixman_format" direction="in"/> | |
291 | <arg type="ay" name="data" direction="in"> | |
292 | <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> | |
293 | </arg> | |
294 | </method> | |
295 | ||
296 | <!-- | |
297 | ScanoutDMABUF: | |
298 | @dmabuf: the DMABUF file descriptor. | |
299 | @width: display width, in pixels. | |
300 | @height: display height, in pixels. | |
301 | @stride: stride, in bytes. | |
302 | @fourcc: DMABUF fourcc. | |
303 | @modifier: DMABUF modifier. | |
304 | @y0_top: whether Y position 0 is the top or not. | |
305 | ||
306 | Resize and update the display content with a DMABUF. | |
307 | --> | |
308 | <method name="ScanoutDMABUF"> | |
309 | <arg type="h" name="dmabuf" direction="in"/> | |
310 | <arg type="u" name="width" direction="in"/> | |
311 | <arg type="u" name="height" direction="in"/> | |
312 | <arg type="u" name="stride" direction="in"/> | |
313 | <arg type="u" name="fourcc" direction="in"/> | |
314 | <!-- xywh? --> | |
315 | <arg type="t" name="modifier" direction="in"/> | |
316 | <arg type="b" name="y0_top" direction="in"/> | |
317 | </method> | |
318 | ||
319 | <!-- | |
320 | UpdateDMABUF: | |
321 | @x: the X update position, in pixels. | |
322 | @y: the Y update position, in pixels. | |
323 | @width: the update width, in pixels. | |
324 | @height: the update height, in pixels. | |
325 | ||
326 | Update the display content with the current DMABUF and the given region. | |
327 | --> | |
328 | <method name="UpdateDMABUF"> | |
329 | <arg type="i" name="x" direction="in"/> | |
330 | <arg type="i" name="y" direction="in"/> | |
331 | <arg type="i" name="width" direction="in"/> | |
332 | <arg type="i" name="height" direction="in"/> | |
333 | </method> | |
334 | ||
335 | <!-- | |
336 | Disable: | |
337 | ||
338 | Disable the display (turn it off). | |
339 | --> | |
340 | <method name="Disable"> | |
341 | </method> | |
342 | ||
343 | <!-- | |
344 | MouseSet: | |
345 | @x: X mouse position, in pixels. | |
346 | @y: Y mouse position, in pixels. | |
347 | @on: whether the mouse is visible or not. | |
348 | ||
349 | Set the mouse position and visibility. | |
350 | --> | |
351 | <method name="MouseSet"> | |
352 | <arg type="i" name="x" direction="in"/> | |
353 | <arg type="i" name="y" direction="in"/> | |
354 | <arg type="i" name="on" direction="in"/> | |
355 | </method> | |
356 | ||
357 | <!-- | |
358 | CursorDefine: | |
359 | @width: cursor width, in pixels. | |
360 | @height: cursor height, in pixels. | |
361 | @hot_x: hot-spot X position, in pixels. | |
362 | @hot_y: hot-spot Y position, in pixels. | |
363 | @data: the cursor data. | |
364 | ||
365 | Set the mouse cursor shape and hot-spot. The "data" must be ARGB, 32-bit | |
366 | per pixel. | |
367 | --> | |
368 | <method name="CursorDefine"> | |
369 | <arg type="i" name="width" direction="in"/> | |
370 | <arg type="i" name="height" direction="in"/> | |
371 | <arg type="i" name="hot_x" direction="in"/> | |
372 | <arg type="i" name="hot_y" direction="in"/> | |
373 | <arg type="ay" name="data" direction="in"> | |
374 | <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> | |
375 | </arg> | |
376 | </method> | |
377 | </interface> | |
739362d4 | 378 | |
ff1a5810 MAL |
379 | <!-- |
380 | org.qemu.Display1.Clipboard: | |
381 | ||
382 | This interface must be implemented by both the client and the server on | |
383 | ``/org/qemu/Display1/Clipboard`` to support clipboard sharing between | |
384 | the client and the guest. | |
385 | ||
386 | Once :dbus:meth:`Register`'ed, method calls may be sent and received in both | |
387 | directions. Unregistered callers will get error replies. | |
388 | ||
389 | .. _dbus-clipboard-selection: | |
390 | ||
391 | **Selection values**:: | |
392 | ||
393 | Clipboard = 0 | |
394 | Primary = 1 | |
395 | Secondary = 2 | |
396 | ||
397 | .. _dbus-clipboard-serial: | |
398 | ||
399 | **Serial counter** | |
400 | ||
401 | To solve potential clipboard races, clipboard grabs have an associated | |
402 | serial counter. It is set to 0 on registration, and incremented by 1 for | |
403 | each grab. The peer with the highest serial is the clipboard grab owner. | |
404 | ||
405 | When a grab with a lower serial is received, it should be discarded. | |
406 | ||
407 | When a grab is attempted with the same serial number as the current grab, | |
408 | the one coming from the client should have higher priority, and the client | |
409 | should gain clipboard grab ownership. | |
410 | --> | |
411 | <interface name="org.qemu.Display1.Clipboard"> | |
412 | <!-- | |
413 | Register: | |
414 | ||
415 | Register a clipboard session and reinitialize the serial counter. | |
416 | ||
417 | The client must register itself, and is granted an exclusive | |
418 | access for handling the clipboard. | |
419 | ||
420 | The server can reinitialize the session as well (to reset the counter). | |
421 | --> | |
422 | <method name="Register"/> | |
423 | ||
424 | <!-- | |
425 | Unregister: | |
426 | ||
427 | Unregister the clipboard session. | |
428 | --> | |
429 | <method name="Unregister"/> | |
430 | <!-- | |
431 | Grab: | |
432 | @selection: a :ref:`selection value<dbus-clipboard-selection>`. | |
433 | @serial: the current grab :ref:`serial<dbus-clipboard-serial>`. | |
434 | @mimes: the list of available content MIME types. | |
435 | ||
436 | Grab the clipboard, claiming current clipboard content. | |
437 | --> | |
438 | <method name="Grab"> | |
439 | <arg type="u" name="selection"/> | |
440 | <arg type="u" name="serial"/> | |
441 | <arg type="as" name="mimes"/> | |
442 | </method> | |
443 | ||
444 | <!-- | |
445 | Release: | |
446 | @selection: a :ref:`selection value<dbus-clipboard-selection>`. | |
447 | ||
448 | Release the clipboard (does nothing if not the current owner). | |
449 | --> | |
450 | <method name="Release"> | |
451 | <arg type="u" name="selection"/> | |
452 | </method> | |
453 | ||
454 | <!-- | |
455 | Request: | |
456 | @selection: a :ref:`selection value<dbus-clipboard-selection>` | |
457 | @mimes: requested MIME types (by order of preference). | |
458 | @reply_mime: the returned data MIME type. | |
459 | @data: the clipboard data. | |
460 | ||
461 | Request the clipboard content. | |
462 | ||
463 | Return an error if the clipboard is empty, or the requested MIME types | |
464 | are unavailable. | |
465 | --> | |
466 | <method name="Request"> | |
467 | <arg type="u" name="selection"/> | |
468 | <arg type="as" name="mimes"/> | |
469 | <arg type="s" name="reply_mime" direction="out"/> | |
470 | <arg type="ay" name="data" direction="out"> | |
471 | <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> | |
472 | </arg> | |
473 | </method> | |
474 | </interface> | |
475 | ||
739362d4 MAL |
476 | <!-- |
477 | org.qemu.Display1.Audio: | |
478 | ||
479 | Audio backend may be available on ``/org/qemu/Display1/Audio``. | |
480 | --> | |
481 | <interface name="org.qemu.Display1.Audio"> | |
482 | <!-- | |
483 | RegisterOutListener: | |
484 | @listener: a Unix socket FD, for peer-to-peer D-Bus communication. | |
485 | ||
486 | Register an audio backend playback handler. | |
487 | ||
488 | Multiple listeners may be registered simultaneously. | |
489 | ||
490 | The listener is expected to implement the | |
491 | :dbus:iface:`org.qemu.Display1.AudioOutListener` interface. | |
492 | --> | |
493 | <method name="RegisterOutListener"> | |
494 | <arg type="h" name="listener" direction="in"/> | |
495 | </method> | |
496 | ||
497 | <!-- | |
498 | RegisterInListener: | |
499 | @listener: a Unix socket FD, for peer-to-peer D-Bus communication. | |
500 | ||
501 | Register an audio backend record handler. | |
502 | ||
503 | Multiple listeners may be registered simultaneously. | |
504 | ||
505 | The listener is expected to implement the | |
506 | :dbus:iface:`org.qemu.Display1.AudioInListener` interface. | |
507 | --> | |
508 | <method name="RegisterInListener"> | |
509 | <arg type="h" name="listener" direction="in"/> | |
510 | </method> | |
511 | </interface> | |
512 | ||
513 | <!-- | |
514 | org.qemu.Display1.AudioOutListener: | |
515 | ||
516 | This client-side interface must be available on | |
517 | ``/org/qemu/Display1/AudioOutListener`` when registering the peer-to-peer | |
518 | connection with :dbus:meth:`~org.qemu.Display1.Audio.RegisterOutListener`. | |
519 | --> | |
520 | <interface name="org.qemu.Display1.AudioOutListener"> | |
521 | <!-- | |
522 | Init: | |
523 | @id: the stream ID. | |
524 | @bits: PCM bits per sample. | |
525 | @is_signed: whether the PCM data is signed. | |
526 | @is_float: PCM floating point format. | |
527 | @freq: the PCM frequency in Hz. | |
528 | @nchannels: the number of channels. | |
529 | @bytes_per_frame: the bytes per frame. | |
530 | @bytes_per_second: the bytes per second. | |
531 | @be: whether using big-endian format. | |
532 | ||
533 | Initializes a PCM playback stream. | |
534 | --> | |
535 | <method name="Init"> | |
536 | <arg name="id" type="t" direction="in"/> | |
537 | <arg name="bits" type="y" direction="in"/> | |
538 | <arg name="is_signed" type="b" direction="in"/> | |
539 | <arg name="is_float" type="b" direction="in"/> | |
540 | <arg name="freq" type="u" direction="in"/> | |
541 | <arg name="nchannels" type="y" direction="in"/> | |
542 | <arg name="bytes_per_frame" type="u" direction="in"/> | |
543 | <arg name="bytes_per_second" type="u" direction="in"/> | |
544 | <arg name="be" type="b" direction="in"/> | |
545 | </method> | |
546 | ||
547 | <!-- | |
548 | Fini: | |
549 | @id: the stream ID. | |
550 | ||
551 | Finish & close a playback stream. | |
552 | --> | |
553 | <method name="Fini"> | |
554 | <arg name="id" type="t" direction="in"/> | |
555 | </method> | |
556 | ||
557 | <!-- | |
558 | SetEnabled: | |
559 | @id: the stream ID. | |
560 | ||
561 | Resume or suspend the playback stream. | |
562 | --> | |
563 | <method name="SetEnabled"> | |
564 | <arg name="id" type="t" direction="in"/> | |
565 | <arg name="enabled" type="b" direction="in"/> | |
566 | </method> | |
567 | ||
568 | <!-- | |
569 | SetVolume: | |
570 | @id: the stream ID. | |
571 | @mute: whether the stream is muted. | |
572 | @volume: the volume per-channel. | |
573 | ||
574 | Set the stream volume and mute state (volume without unit, 0-255). | |
575 | --> | |
576 | <method name="SetVolume"> | |
577 | <arg name="id" type="t" direction="in"/> | |
578 | <arg name="mute" type="b" direction="in"/> | |
579 | <arg name="volume" type="ay" direction="in"> | |
580 | <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> | |
581 | </arg> | |
582 | </method> | |
583 | ||
584 | <!-- | |
585 | Write: | |
586 | @id: the stream ID. | |
587 | @data: the PCM data. | |
588 | ||
589 | PCM stream to play. | |
590 | --> | |
591 | <method name="Write"> | |
592 | <arg name="id" type="t" direction="in"/> | |
593 | <arg type="ay" name="data" direction="in"> | |
594 | <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> | |
595 | </arg> | |
596 | </method> | |
597 | </interface> | |
598 | ||
599 | <!-- | |
600 | org.qemu.Display1.AudioInListener: | |
601 | ||
602 | This client-side interface must be available on | |
603 | ``/org/qemu/Display1/AudioInListener`` when registering the peer-to-peer | |
604 | connection with :dbus:meth:`~org.qemu.Display1.Audio.RegisterInListener`. | |
605 | --> | |
606 | <interface name="org.qemu.Display1.AudioInListener"> | |
607 | <!-- | |
608 | Init: | |
609 | @id: the stream ID. | |
610 | @bits: PCM bits per sample. | |
611 | @is_signed: whether the PCM data is signed. | |
612 | @is_float: PCM floating point format. | |
613 | @freq: the PCM frequency in Hz. | |
614 | @nchannels: the number of channels. | |
615 | @bytes_per_frame: the bytes per frame. | |
616 | @bytes_per_second: the bytes per second. | |
617 | @be: whether using big-endian format. | |
618 | ||
619 | Initializes a PCM record stream. | |
620 | --> | |
621 | <method name="Init"> | |
622 | <arg name="id" type="t" direction="in"/> | |
623 | <arg name="bits" type="y" direction="in"/> | |
624 | <arg name="is_signed" type="b" direction="in"/> | |
625 | <arg name="is_float" type="b" direction="in"/> | |
626 | <arg name="freq" type="u" direction="in"/> | |
627 | <arg name="nchannels" type="y" direction="in"/> | |
628 | <arg name="bytes_per_frame" type="u" direction="in"/> | |
629 | <arg name="bytes_per_second" type="u" direction="in"/> | |
630 | <arg name="be" type="b" direction="in"/> | |
631 | </method> | |
632 | ||
633 | <!-- | |
634 | Fini: | |
635 | @id: the stream ID. | |
636 | ||
637 | Finish & close a record stream. | |
638 | --> | |
639 | <method name="Fini"> | |
640 | <arg name="id" type="t" direction="in"/> | |
641 | </method> | |
642 | ||
643 | <!-- | |
644 | SetEnabled: | |
645 | @id: the stream ID. | |
646 | ||
647 | Resume or suspend the record stream. | |
648 | --> | |
649 | <method name="SetEnabled"> | |
650 | <arg name="id" type="t" direction="in"/> | |
651 | <arg name="enabled" type="b" direction="in"/> | |
652 | </method> | |
653 | ||
654 | <!-- | |
655 | SetVolume: | |
656 | @id: the stream ID. | |
657 | @mute: whether the stream is muted. | |
658 | @volume: the volume per-channel. | |
659 | ||
660 | Set the stream volume and mute state (volume without unit, 0-255). | |
661 | --> | |
662 | <method name="SetVolume"> | |
663 | <arg name="id" type="t" direction="in"/> | |
664 | <arg name="mute" type="b" direction="in"/> | |
665 | <arg name="volume" type="ay" direction="in"> | |
666 | <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> | |
667 | </arg> | |
668 | </method> | |
669 | ||
670 | <!-- | |
671 | Read: | |
672 | @id: the stream ID. | |
673 | @size: the amount to read, in bytes. | |
674 | @data: the recorded data (which may be less than requested). | |
675 | ||
676 | Read "size" bytes from the record stream. | |
677 | --> | |
678 | <method name="Read"> | |
679 | <arg name="id" type="t" direction="in"/> | |
680 | <arg name="size" type="t" direction="in"/> | |
681 | <arg type="ay" name="data" direction="out"> | |
682 | <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> | |
683 | </arg> | |
684 | </method> | |
685 | </interface> | |
3e301c8d MAL |
686 | |
687 | <!-- | |
688 | org.qemu.Display1.Chardev: | |
689 | ||
690 | Character devices may be available on ``/org/qemu/Display1/Chardev_$id``. | |
691 | ||
692 | They may be used for different kind of streams, which are identified via | |
693 | their FQDN :dbus:prop:`Name`. | |
694 | ||
695 | .. _dbus-chardev-fqdn: | |
696 | ||
697 | Here are some known reserved kind names (the ``org.qemu`` prefix is | |
698 | reserved by QEMU): | |
699 | ||
700 | org.qemu.console.serial.0 | |
701 | A serial console stream. | |
702 | ||
703 | org.qemu.monitor.hmp.0 | |
704 | A QEMU HMP human monitor. | |
705 | ||
706 | org.qemu.monitor.qmp.0 | |
707 | A QEMU QMP monitor. | |
708 | ||
709 | org.qemu.usbredir | |
710 | A usbredir stream. | |
711 | --> | |
712 | <interface name="org.qemu.Display1.Chardev"> | |
713 | <!-- | |
714 | Register: | |
715 | @stream: a Unix FD to redirect the stream to. | |
716 | ||
717 | Register a file-descriptor for the stream handling. | |
718 | ||
719 | The current handler, if any, will be replaced. | |
720 | --> | |
721 | <method name="Register"> | |
722 | <arg type="h" name="stream" direction="in"/> | |
723 | </method> | |
724 | ||
725 | <!-- | |
726 | SendBreak: | |
727 | ||
728 | Send a break event to the character device. | |
729 | --> | |
730 | <method name="SendBreak"/> | |
731 | ||
732 | <!-- | |
733 | Name: | |
734 | ||
735 | The FQDN name to identify the kind of stream. See :ref:`reserved | |
736 | names<dbus-chardev-fqdn>`. | |
737 | --> | |
738 | <property name="Name" type="s" access="read"/> | |
739 | ||
740 | <!-- | |
741 | FEOpened: | |
742 | ||
743 | Whether the front-end side is opened. | |
744 | --> | |
745 | <property name="FEOpened" type="b" access="read"/> | |
746 | ||
747 | <!-- | |
748 | Echo: | |
749 | ||
750 | Whether the input should be echo'ed (for serial streams). | |
751 | --> | |
752 | <property name="Echo" type="b" access="read"/> | |
753 | ||
754 | <!-- | |
755 | Owner: | |
756 | ||
757 | The D-Bus unique name of the registered handler. | |
758 | --> | |
759 | <property name="Owner" type="s" access="read"/> | |
760 | </interface> | |
142ca628 | 761 | </node> |