This patch series is a proposal to how to implement libvirt connections in the libvirt D-Bus binding. The design is based on a discussion with Daniel and it should follow D-Bus convention. Each connection is represented as existing object where the object path contains the driver name: /org/libvirt/qemu and there is no need to call any connect API but simply use the existing object directly to operate with that connection. This patch series also implements strict difference between system and user bus. On the user bus only drivers with session capability are available and on the system bus only drivers with system capability are available. Pavel Hrdina (11): util: introduce VIRT_ARRAY_CARDINALITY macro util: introduce virtDBusUtilSetError helper src: rename manager to connect connect: implement lazy connection connect: don't use default libvirt authentication callback connect: implement reconnect functionality to libvirt connect: move domain related code to domain.c connect: store connect path in connect structure domain: derive domain path from connect path main: implement multiple connection within one daemon main: add support for all libvirt drivers src/Makefile.am | 2 +- src/connect.c | 308 ++++++++++++++++++++++++++++++ src/connect.h | 27 +++ src/domain.c | 131 ++++++++----- src/domain.h | 4 +- src/events.c | 64 +++---- src/events.h | 4 +- src/main.c | 75 ++++++-- src/manager.c | 216 --------------------- src/manager.h | 20 -- src/util.c | 17 +- src/util.h | 12 +- test/Makefile.am | 2 +- test/libvirttest.py | 6 +- test/{test_manager.py => test_connect.py} | 12 +- test/test_domain.py | 6 +- 16 files changed, 543 insertions(+), 363 deletions(-) create mode 100644 src/connect.c create mode 100644 src/connect.h delete mode 100644 src/manager.c delete mode 100644 src/manager.h rename test/{test_manager.py => test_connect.py} (79%) -- 2.14.3 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list