
On Thu, Feb 06, 2014 at 04:19:53PM -0700, Eric Blake wrote:
When listening for a subset of monitor events, it can be tedious to register for each event name in series; nicer is to register for multiple events in one go. Implement a flag to use regex interpretation of the event filter.
While at it, prove how much I hate the shift key, by adding a way to filter for 'shutdown' instead of 'SHUTDOWN'. :)
* include/libvirt/libvirt-qemu.h (virConnectDomainQemuMonitorEventRegisterFlags): New enum. * src/libvirt-qemu.c (virConnectDomainQemuMonitorEventRegister): Document flags. * tools/virsh-domain.c (cmdQemuMonitorEvent): Expose them. * tools/virsh.pod (qemu-monitor-event): Document this. * src/conf/domain_event.h (virDomainQemuMonitorEventStateRegisterID): Adjust signature. * src/conf/domain_event.c (virDomainQemuMonitorEventStateRegisterID): Add flags. (virDomainQemuMonitorEventFilter): Handle regex, and optimize client side. (virDomainQemuMonitorEventCleanup): Clean up regex. * src/qemu/qemu_driver.c (qemuConnectDomainQemuMonitorEventRegister): Adjust caller. * src/remote/remote_driver.c (remoteConnectDomainQemuMonitorEventRegister): New flags can always be safely handled server side.
Signed-off-by: Eric Blake <eblake@redhat.com> --- include/libvirt/libvirt-qemu.h | 10 ++++++++++ src/conf/domain_event.c | 41 ++++++++++++++++++++++++++++++++++++++--- src/conf/domain_event.h | 3 ++- src/libvirt-qemu.c | 11 +++++++---- src/qemu/qemu_driver.c | 7 +++++-- src/remote/remote_driver.c | 8 +------- tools/virsh-domain.c | 13 +++++++++++++ tools/virsh.pod | 5 ++++- 8 files changed, 80 insertions(+), 18 deletions(-)
Again I'm wondering whether this is really worth the extra maintainence pain. We're adding alot more crufty code to our common domain_event code to support a feature on an API we generally don't want people using Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|