On 11.07.2016 11:45, Daniel P. Berrange wrote:
Every caller of virConfGetValue is doing the same kind of
dance to ensure the returned value is set and has the
right kind of type. This is a clear sign we should have
typesafe APIs for accessor virConf values.
This series introduces such APIs and converts much of
the code. What is not converted is src/lxc/lxc_native.c,
src/vmx/vmx.c, src/xenconfig/xen_common.c and
src/xenconfig/xen_xl.c. These are left as an exercise
for someone else.
Daniel P. Berrange (16):
tests: remove pointless virconftest.sh wrapper
virconf: fix off-by-1 when appending \n to config file
virconf: add typed value accessor methods
libvirtd: convert to typesafe virConf accessors
qemu: convert to typesafe virConf accessors
libvirt: convert to typesafe virConf accessors
virtlockd: convert to typesafe virConf accessors
virtlogd: convert to typedef virConf accessors
lxc: convert to typesafe virConf accessors
libxl: convert to typesafe virConf accessors
uri: convert to typesafe virConf accessors
virt-login-shell: convert to typesafe virConf accessors
selinux: convert to typesafe virConf accessors
lockd: convert to typesafe virConf accessors
sanlock: convert to typesafe virConf accessors
remote: convert to typesafe virConf accessors
daemon/libvirtd-config.c | 306 ++++++++---------------
daemon/libvirtd-config.h | 42 ++--
po/POTFILES.in | 2 -
src/libvirt-admin.c | 66 ++---
src/libvirt.c | 70 +++---
src/libvirt_private.syms | 10 +
src/libxl/libxl_conf.c | 53 +---
src/locking/lock_daemon_config.c | 90 +------
src/locking/lock_daemon_config.h | 9 +-
src/locking/lock_driver_lockd.c | 61 ++---
src/locking/lock_driver_sanlock.c | 97 +++-----
src/logging/log_daemon_config.c | 96 +-------
src/logging/log_daemon_config.h | 7 +-
src/lxc/lxc_conf.c | 49 ++--
src/lxc/lxc_conf.h | 2 +-
src/qemu/qemu_conf.c | 395 ++++++++++++------------------
src/qemu/qemu_conf.h | 20 +-
src/remote/remote_driver.c | 15 +-
src/security/security_selinux.c | 42 ++--
src/util/virconf.c | 502 +++++++++++++++++++++++++++++++++++++-
src/util/virconf.h | 34 ++-
src/util/viruri.c | 48 ++--
tests/Makefile.am | 19 +-
tests/libvirtdconftest.c | 245 -------------------
tests/virconftest.c | 411 ++++++++++++++++++++++++++++++-
tests/virconftest.sh | 26 --
tools/virt-login-shell.c | 141 +++--------
27 files changed, 1488 insertions(+), 1370 deletions(-)
delete mode 100644 tests/libvirtdconftest.c
delete mode 100755 tests/virconftest.sh
ACK series. Nice cleanup!
Michal