I noticed that there is quite a bit of code duplication among the
drivers that support domain events. This patch series is an attempt
to consolidate the shared logic.
The new virDomainEventState structure isn't opaque to the clients, though
it could be. It would just require adding wrappers for a few more event
functions, and possibly finding a way to integrate this cleanup with
the xen and vbox event impls, which use less infrastructure than the
converted drivers.
v2:
2 patches were applied
Addressed Eric's comments:
NONNULL tagging
Use bool for isDispatching
Move libvirt_private.syms earlier
Add NULL check in StateFree
v3:
Rebased to latest
Convert libxl driver
Addressed danpb's comment:
virDomainEventStateNew now takes a requireTimer parameter
Cole Robinson (7):
domain_event: Add virDomainEventState structure
domain_event: Add common domain event queue/flush helpers
qemu: Use virDomainEventState helpers
lxc: Use virDomainEventState helpers
test: Use virDomainEventState helpers
libxl: Convert to virDomainEventState
remote: Use virDomainEventState helpers
.gnulib | 2 +-
cfg.mk | 1 +
src/conf/domain_event.c | 183 +++++++++++++++++++++++++++++++++++++++-----
src/conf/domain_event.h | 70 +++++++++++++----
src/libvirt_private.syms | 6 ++
src/libxl/libxl_conf.h | 6 +-
src/libxl/libxl_driver.c | 80 ++++++--------------
src/lxc/lxc_conf.h | 6 +-
src/lxc/lxc_driver.c | 74 +++++-------------
src/qemu/qemu_conf.h | 6 +-
src/qemu/qemu_domain.c | 29 +------
src/qemu/qemu_driver.c | 46 +++++-------
src/remote/remote_driver.c | 163 +++++++++++++++------------------------
src/test/test_driver.c | 105 ++++++++------------------
14 files changed, 391 insertions(+), 386 deletions(-)
--
1.7.4.4