summary refs log tree commit diff stats
path: root/monitor.h
diff options
context:
space:
mode:
authorDaniel P. Berrange <berrange@redhat.com>2012-05-21 17:59:51 +0100
committerLuiz Capitulino <lcapitulino@redhat.com>2012-06-04 13:49:35 -0300
commit4860853d60ecea44b65e9cdefce980de3a641dce (patch)
tree5577487a16c016864905dbd887a3f84be16db360 /monitor.h
parent5f96415527e4f25dc83cfc458c46e5bcbfee79ba (diff)
downloadfocaccia-qemu-4860853d60ecea44b65e9cdefce980de3a641dce.tar.gz
focaccia-qemu-4860853d60ecea44b65e9cdefce980de3a641dce.zip
Add 'query-events' command to QMP to query async events
Sometimes it is neccessary for an application to determine
whether a particular QMP event is available, so they can
decide whether to use compatibility code instead. This
introduces a new 'query-events' command to QMP to do just
that

 { "execute": "query-events" }
 {"return": [{"name": "WAKEUP"},
             {"name": "SUSPEND"},
             {"name": "DEVICE_TRAY_MOVED"},
             {"name": "BLOCK_JOB_CANCELLED"},
             {"name": "BLOCK_JOB_COMPLETED"},
             ...snip...
             {"name": "SHUTDOWN"}]}

* monitor.c: Turn MonitorEvent -> string conversion
  into a lookup from a static table of constant strings.
  Add impl of qmp_query_events monitor command handler
* qapi-schema.json, qmp-commands.hx: Define contract of
  query-events command

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Diffstat (limited to 'monitor.h')
-rw-r--r--monitor.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/monitor.h b/monitor.h
index 0d498006f8..cd1d8786d1 100644
--- a/monitor.h
+++ b/monitor.h
@@ -41,6 +41,10 @@ typedef enum MonitorEvent {
     QEVENT_DEVICE_TRAY_MOVED,
     QEVENT_SUSPEND,
     QEVENT_WAKEUP,
+
+    /* Add to 'monitor_event_names' array in monitor.c when
+     * defining new events here */
+
     QEVENT_MAX,
 } MonitorEvent;