The following series of patches work on isolating the qemu_domainjob from its dependency on other files such as `qemu_migration_params`, `qemu_monitor`, etc. This is done by the introduction of a `privateData` structure, which is further handled by a structure of callback functions. Previous version of this patch can be found here[1]. This new version improves the previous patches in accordance with the review by Michal. Both domainJob and domainJobInfo now passes the callback structure, instead of assigning each variable manually. [1]: https://www.redhat.com/archives/libvir-list/2020-July/msg00423.html Prathamesh Chavan (4): qemu_domain: remove passing `qemuDomainObjPrivatePtr` as param qemu_domainjob: moved PrivateXML parse-job and format-job qemu_domainjob: introduce `privateData` for `qemuDomainJob` qemu_domainjob: introduce `privateData` for `qemuDomainJobInfo` src/qemu/qemu_backup.c | 15 +- src/qemu/qemu_domain.c | 254 +----------------- src/qemu/qemu_domain.h | 28 ++ src/qemu/qemu_domainjob.c | 425 ++++++++++++++++++++++++++++--- src/qemu/qemu_domainjob.h | 83 ++++-- src/qemu/qemu_driver.c | 21 +- src/qemu/qemu_migration.c | 42 ++- src/qemu/qemu_migration_cookie.c | 7 +- src/qemu/qemu_migration_params.c | 9 +- src/qemu/qemu_process.c | 26 +- 10 files changed, 566 insertions(+), 344 deletions(-) -- 2.25.1