Revision 586153d9

b/QMP/qmp-events.txt
24 24

  
25 25
Description: Issued when the Virtual Machine enters debug mode.
26 26
Data: None.
27

  
28
4 VNC_CONNECTED
29
---------------
30

  
31
Description: Issued when a VNC client establishes a connection.
32
Data: 'server' and 'client' keys with the same keys as 'query-vnc',
33
except that authentication ID is not provided.
b/monitor.c
357 357
        case QEVENT_STOP:
358 358
            event_name = "STOP";
359 359
            break;
360
        case QEVENT_VNC_CONNECTED:
361
            event_name = "VNC_CONNECTED";
362
            break;
360 363
        default:
361 364
            abort();
362 365
            break;
b/monitor.h
20 20
    QEVENT_RESET,
21 21
    QEVENT_POWERDOWN,
22 22
    QEVENT_STOP,
23
    QEVENT_VNC_CONNECTED,
23 24
    QEVENT_MAX,
24 25
} MonitorEvent;
25 26

  
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