Daniel P. Berrange wrote:
I think that many projects now want to control qemu programatically.
The monitor is not a good interface since it is text-based, hard to
parse, and liable to change without notice when new features are added.
However, I agree that having many similar constructs is not a good
thing, and that we should retain the monitor for non-programmatic control.
What do you say to implementing the qemu interface as a plugin API, and
implementing the monitor on top of this API? e.g.:
qemu loads /usr/local/lib/qemu/libmonitor.so, which uses the API to
export the good old qemu monitor interface. If it finds
/usr/local/lib/qemu/libdbus.so, it loads an additional dbus interface.
If libvirt wants to drop a libvirtapi.so into that directory, it can
control qemu through that.
To be honest this is overkill. IMHO, there should simply be a client side
'libqemumonitor.so' which provides a formal C API for applications to use.
libqemumonitor.so is an excellent idea. perhaps the libvirt code can be
used as a base?
We should also provide bindings to the saner languages that management
apps are typically written in.
--
error compiling committee.c: too many arguments to function