[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 2/2] full introspection support for QMP
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH v2 2/2] full introspection support for QMP |
Date: |
Fri, 20 Dec 2013 19:03:57 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130923 Thunderbird/17.0.9 |
Il 20/12/2013 12:57, Amos Kong ha scritto:
> { 'type': 'DataObjectBase',
> 'data': { '*name': 'str', 'type': 'str' } }
> { 'union': 'DataObjectMemberType',
> 'discriminator': {},
> 'data': { 'reference': 'str',
> 'undefined': 'DataObject',
> 'extend': 'DataObject' } }
What is the purpose of "undefined"? I don't see any occurrence of any
of "undefined" or "extend" in the sample.
> { 'type': 'DataObjectMember',
> 'data': { 'type': 'DataObjectMemberType', '*name': 'str',
> '*optional': 'bool', '*recursive': 'bool' } }
> { 'type': 'DataObjectCommand',
> 'data': { '*data': [ 'DataObjectMember' ],
> '*returns': 'DataObject',
> '*gen': 'bool' } }
> { 'type': 'DataObjectEnumeration',
> 'data': { 'data': [ 'str' ] } }
> { 'type': 'DataObjectType',
> 'data': { 'data': [ 'DataObjectMember' ] } }
> { 'type': 'DataObjectUndefinedStruct',
Perhaps Unnamed or Anonymous?
> 'data': { 'data': [ 'DataObjectMember' ] } }
> { 'type': 'DataObjectUnion',
> 'data': { 'data': [ 'DataObjectMember' ], '*base': 'str',
> '*discriminator': 'str' } }
> { 'union': 'DataObject',
> 'base': 'DataObjectBase',
> 'discriminator': 'type',
> 'data': {
> 'command': 'DataObjectCommand',
> 'enumeration': 'DataObjectEnumeration',
> 'type': 'DataObjectType',
> 'undefined-struct': 'DataObjectUndefinedStruct',
> 'reference-type': 'String',
> 'unionobj': 'DataObjectUnion' } }
> { 'command': 'query-qmp-schema', 'returns': ['DataObject'] }
I think forcing expansion of everything that isn't unnamed/anonymous
makes the schema much larger and unwieldy. Otherwise looks great!
Paolo