[libvirt] [Qemu-devel] Re: Supporting hypervisor specific APIs in libvirt

Anthony Liguori anthony at codemonkey.ws
Fri Mar 26 12:53:53 UTC 2010

On 03/26/2010 04:51 AM, Avi Kivity wrote:
> On 03/26/2010 10:37 AM, Markus Armbruster wrote:
>>> The importances of libqemu is:
>>> 1) Providing a common QMP transport implementation that is extensible
>>> by third parties
>>> 2) Providing a set of common transports that support automatic
>>> discovery of command line launched guests
>>> 3) Providing a generic QMP dispatch function
>> Adding to this C wrappers for QMP commands threatens to make QMP command
>> arguments part of the library ABI.  Compatible QMP evolution (like
>> adding an optional argument) turns into a libqmp soname bump.
>> Counter-productive.  How do you plan to avoid that?
> You could make the API use QObjects; then you're completely isolated 
> from high level protocol changes.  Of course, this is less useful than 
> the full API.

You want both.  You want a very high level QObject based API and then 
you want automatically generated wrappers with C friendly data types.  
The later API loses a little bit but that's okay.


Anthony Liguori

More information about the libvir-list mailing list