| 1 | <?xml version="1.0" encoding="utf-8"?> |
| 2 | <!-- |
| 3 | SPDX-License-Identifier: GPL-2.0-or-later |
| 4 | --> |
| 5 | <node> |
| 6 | <!-- |
| 7 | org.qemu.Vnc1.Server: |
| 8 | |
| 9 | This interface is implemented on ``/org/qemu/Vnc1/Server``. |
| 10 | It provides management and monitoring of the VNC server. |
| 11 | --> |
| 12 | <interface name="org.qemu.Vnc1.Server"> |
| 13 | <!-- |
| 14 | Name: |
| 15 | |
| 16 | The VM name. |
| 17 | --> |
| 18 | <property name="Name" type="s" access="read"/> |
| 19 | |
| 20 | <!-- |
| 21 | Auth: |
| 22 | |
| 23 | Primary authentication method (none, vnc, vencrypt, sasl, etc.). |
| 24 | --> |
| 25 | <property name="Auth" type="s" access="read"/> |
| 26 | |
| 27 | <!-- |
| 28 | VencryptSubAuth: |
| 29 | |
| 30 | VEncrypt sub-authentication method, if applicable. |
| 31 | Empty string otherwise. |
| 32 | --> |
| 33 | <property name="VencryptSubAuth" type="s" access="read"/> |
| 34 | |
| 35 | <!-- |
| 36 | Clients: |
| 37 | |
| 38 | Object paths of connected VNC clients. |
| 39 | --> |
| 40 | <property name="Clients" type="ao" access="read"/> |
| 41 | |
| 42 | <!-- |
| 43 | Listeners: |
| 44 | |
| 45 | List of listening sockets. Each entry is a dictionary with keys: |
| 46 | ``Host`` (s), ``Service`` (s), ``Family`` (s), |
| 47 | ``WebSocket`` (b), ``Auth`` (s), ``VencryptSubAuth`` (s). |
| 48 | --> |
| 49 | <property name="Listeners" type="aa{sv}" access="read"/> |
| 50 | |
| 51 | <!-- |
| 52 | SetPassword: |
| 53 | @password: The new VNC password. |
| 54 | |
| 55 | Change the VNC password. Existing clients are unaffected. |
| 56 | --> |
| 57 | <method name="SetPassword"> |
| 58 | <arg type="s" name="password" direction="in"/> |
| 59 | </method> |
| 60 | |
| 61 | <!-- |
| 62 | ExpirePassword: |
| 63 | @time: Expiry specification. |
| 64 | |
| 65 | Set password expiry. Values: ``"now"``, ``"never"``, |
| 66 | ``"+N"`` (seconds from now), ``"N"`` (absolute epoch seconds). |
| 67 | --> |
| 68 | <method name="ExpirePassword"> |
| 69 | <arg type="s" name="time" direction="in"/> |
| 70 | </method> |
| 71 | |
| 72 | <!-- |
| 73 | ReloadCertificates: |
| 74 | |
| 75 | Reload TLS certificates from disk. |
| 76 | --> |
| 77 | <method name="ReloadCertificates"/> |
| 78 | |
| 79 | <!-- |
| 80 | AddClient: |
| 81 | @socket: file descriptor of a connected socket. |
| 82 | @skipauth: whether to skip VNC authentication. |
| 83 | |
| 84 | Add a VNC client from an already-connected socket. |
| 85 | --> |
| 86 | <method name="AddClient"> |
| 87 | <arg type="h" name="socket" direction="in"/> |
| 88 | <arg type="b" name="skipauth" direction="in"/> |
| 89 | </method> |
| 90 | |
| 91 | <!-- |
| 92 | ClientConnected: |
| 93 | @client: Object path of the new client. |
| 94 | |
| 95 | Emitted when a VNC client TCP connection is established |
| 96 | (before authentication). |
| 97 | --> |
| 98 | <signal name="ClientConnected"> |
| 99 | <arg type="o" name="client"/> |
| 100 | </signal> |
| 101 | |
| 102 | <!-- |
| 103 | ClientInitialized: |
| 104 | @client: Object path of the client. |
| 105 | |
| 106 | Emitted when a VNC client has completed authentication |
| 107 | and is active. |
| 108 | --> |
| 109 | <signal name="ClientInitialized"> |
| 110 | <arg type="o" name="client"/> |
| 111 | </signal> |
| 112 | |
| 113 | <!-- |
| 114 | ClientDisconnected: |
| 115 | @client: Object path of the client. |
| 116 | |
| 117 | Emitted when a VNC client disconnects. |
| 118 | --> |
| 119 | <signal name="ClientDisconnected"> |
| 120 | <arg type="o" name="client"/> |
| 121 | </signal> |
| 122 | |
| 123 | <!-- |
| 124 | Leaving: |
| 125 | @reason: A human-readable reason for shutting down (e.g. |
| 126 | "D-Bus peer org.qemu vanished"). |
| 127 | |
| 128 | Emitted when the VNC server is shutting down cleanly. |
| 129 | Clients should expect the connection to close shortly after. |
| 130 | --> |
| 131 | <signal name="Leaving"> |
| 132 | <arg type="s" name="reason"/> |
| 133 | </signal> |
| 134 | </interface> |
| 135 | |
| 136 | <!-- |
| 137 | org.qemu.Vnc1.Client: |
| 138 | |
| 139 | This interface is implemented on ``/org/qemu/Vnc1/Client_$id``. |
| 140 | It exposes information about a connected VNC client. |
| 141 | --> |
| 142 | <interface name="org.qemu.Vnc1.Client"> |
| 143 | <!-- |
| 144 | Host: |
| 145 | |
| 146 | Client IP address. |
| 147 | --> |
| 148 | <property name="Host" type="s" access="read"/> |
| 149 | |
| 150 | <!-- |
| 151 | Service: |
| 152 | |
| 153 | Client port or service name. This may depend on the host system’s |
| 154 | service database so symbolic names should not be relied on. |
| 155 | --> |
| 156 | <property name="Service" type="s" access="read"/> |
| 157 | |
| 158 | <!-- |
| 159 | Family: |
| 160 | |
| 161 | Address family (ipv4, ipv6, unix). |
| 162 | --> |
| 163 | <property name="Family" type="s" access="read"/> |
| 164 | |
| 165 | <!-- |
| 166 | WebSocket: |
| 167 | |
| 168 | Whether this is a WebSocket connection. |
| 169 | --> |
| 170 | <property name="WebSocket" type="b" access="read"/> |
| 171 | |
| 172 | <!-- |
| 173 | X509Dname: |
| 174 | |
| 175 | X.509 distinguished name (empty if not applicable). |
| 176 | --> |
| 177 | <property name="X509Dname" type="s" access="read"/> |
| 178 | |
| 179 | <!-- |
| 180 | SaslUsername: |
| 181 | |
| 182 | SASL username (empty if not applicable). |
| 183 | --> |
| 184 | <property name="SaslUsername" type="s" access="read"/> |
| 185 | |
| 186 | <!-- |
| 187 | ShutdownRequest: |
| 188 | |
| 189 | Emitted when the VNC client requests a guest shutdown. |
| 190 | --> |
| 191 | <signal name="ShutdownRequest"/> |
| 192 | |
| 193 | <!-- |
| 194 | ResetRequest: |
| 195 | |
| 196 | Emitted when the VNC client requests a guest reset. |
| 197 | --> |
| 198 | <signal name="ResetRequest"/> |
| 199 | </interface> |
| 200 | |
| 201 | </node> |