Revision 586153d9 vnc.c
b/vnc.c | ||
---|---|---|
269 | 269 |
client->info = QOBJECT(qdict); |
270 | 270 |
} |
271 | 271 |
|
272 |
static void vnc_qmp_event(VncState *vs, MonitorEvent event) |
|
273 |
{ |
|
274 |
QDict *server; |
|
275 |
QObject *data; |
|
276 |
|
|
277 |
if (!vs->info) { |
|
278 |
return; |
|
279 |
} |
|
280 |
|
|
281 |
server = qdict_new(); |
|
282 |
if (vnc_server_info_put(server) < 0) { |
|
283 |
QDECREF(server); |
|
284 |
return; |
|
285 |
} |
|
286 |
|
|
287 |
data = qobject_from_jsonf("{ 'client': %p, 'server': %p }", |
|
288 |
vs->info, QOBJECT(server)); |
|
289 |
|
|
290 |
monitor_protocol_event(event, data); |
|
291 |
|
|
292 |
qobject_incref(vs->info); |
|
293 |
qobject_decref(data); |
|
294 |
} |
|
295 |
|
|
272 | 296 |
static void info_vnc_iter(QObject *obj, void *opaque) |
273 | 297 |
{ |
274 | 298 |
QDict *client; |
... | ... | |
2396 | 2420 |
qemu_set_fd_handler2(vs->csock, NULL, vnc_client_read, NULL, vs); |
2397 | 2421 |
|
2398 | 2422 |
vnc_client_cache_addr(vs); |
2423 |
vnc_qmp_event(vs, QEVENT_VNC_CONNECTED); |
|
2399 | 2424 |
|
2400 | 2425 |
vs->vd = vd; |
2401 | 2426 |
vs->ds = vd->ds; |
Also available in: Unified diff