On 12/05/2011 09:47 AM, Paolo Bonzini wrote:
On 12/05/2011 03:36 PM, Anthony Liguori wrote:
No. A device is-a interface. Hopefully the above example will make it
more clear.
No, but I'm confident that there will be a sane way to access the list of
interfaces that you embed in the Object type. :)
We definitely need to think through introspection. There are a few things we
need to address with introspection:
0) What are all of the classes available
1) What are all of the classes/interfaces implemented by a type
2) What are all of the properties available in a class
(0) and (1) just need QMP interfaces. It's very straight forward.
(2) is a bit more tricky. You can instantiate a dummy object and introspect on
the live object. Dynamic properties make that a bit challenging through.
Maybe now is the right time to rename the legacy properties to all be
prefixed with qdev-? That way we don't need to introduce two different
types for a single property.
Why do you need such a prefix?
To avoid an all-at-once conversion. I don't want to break -device and
maintaining string properties make it quite a bit easier to support -device.
I'd like to leave the string properties in place until we have a good way to
create objects via QMP.
My rough thinking is that we keep -device around until 2.0.
Regards,
Anthony Liguori
Paolo