Asynchronous event for BlockPull completion
commitb3ad3d4c8241b4f6680f9ca1c9df2ff7a64de155
authorAdam Litke <agl@us.ibm.com>
Tue, 14 Jun 2011 14:36:53 +0000 (14 09:36 -0500)
committerEric Blake <eblake@redhat.com>
Wed, 15 Jun 2011 04:48:42 +0000 (14 22:48 -0600)
treefee2383ccc6038315e604e75e9020ce16554ebd0
parent4e6c71983c7c2c1c5be242d8d6f713521dfd9152
Asynchronous event for BlockPull completion

When an operation started by virDomainBlockPullAll completes (either with
success or with failure), raise an event to indicate the final status.  This
allows an API user to avoid polling on virDomainBlockPullInfo if they would
prefer to use the event mechanism.

* daemon/remote.c: Dispatch events to client
* include/libvirt/libvirt.h.in: Define event ID and callback signature
* src/conf/domain_event.c, src/conf/domain_event.h,
  src/libvirt_private.syms: Extend API to handle the new event
* src/qemu/qemu_driver.c: Connect to the QEMU monitor event
  for block_stream completion and emit a libvirt block pull event
* src/remote/remote_driver.c: Receive and dispatch events to application
* src/remote/remote_protocol.x: Wire protocol definition for the event
* src/qemu/qemu_monitor.c, src/qemu/qemu_monitor.h,
  src/qemu/qemu_monitor_json.c: Watch for BLOCK_STREAM_COMPLETED event
  from QEMU monitor

Signed-off-by: Adam Litke <agl@us.ibm.com>
libvirt-override-virConnect.py
libvirt-override.c