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.
Regards,
Anthony Liguori