[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: |
Amos Kong |
Subject: |
Re: [Qemu-devel] [PATCH v2 2/2] full introspection support for QMP |
Date: |
Tue, 16 Jul 2013 20:04:22 +0800 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Tue, Jul 16, 2013 at 01:08:55PM +0200, Paolo Bonzini wrote:
> Il 16/07/2013 13:04, Amos Kong ha scritto:
> >>> > > So here I defined a 'DataObject' type in qapi-schema.json,
> >>> > > it's used to describe the dynamical dictionary/list/string.
> >>> > >
> >>> > > { 'type': 'DataObject',
> >>> > > 'data': { '*key': 'str', '*type': 'str', '*data': ['DataObject'] } }
> >
> > Hi Paolo,
> >
> >> > This is missing '*optional': 'bool'. Also, how do you distinguish these:
> >> >
> >> > { 'command': 'query-tpm-types', 'returns': 'TpmType] }
> > do you mean 'TpmType' ? not 'TpmType]
>
> Yes.
>
> > {
> > "name": "query-tpm-types",
> > "type": "Command",
> > "returns": [
> > > {
> > > "type": "passthrough"
> > > }
> > ]
> > },
> >
> >> > { 'command': 'query-tpm-types', 'returns': ['TpmType'] }
> > {
> > "name": "query-tpm-types",
> > "type": "Command",
> > "returns": [
> > > {
> > > "type": "TpmType",
> > > "data": [
> > > {
> > > "type": "passthrough"
> > > }
> > > ]
> > > }
> > ]
> > },
>
> Thanks. I see this is unique, but it is also not too intuitive.
>
> So, could you add a "kind" field to DataObject that is an enum
> (list/dict/scalar, or something like that)? This would make it easier
> to parse (for humans at least, but I guess also for programs).
I thought we can identify the kind by some judgment.
if the dict has key 'key', it's a dict
if no 'key', have 'type', it's a list
if only have 'type', it's a buildin type (or extended type that
doesn't need to be extended)
if no 'key', have 'type' & 'data', it's extended list type
if have 'key', 'type', 'data', it's extended dict type
I will added a 'kind' field to make it clearer.
KIND enum:
list
dict
str
scalar(bool): Or just simplely check if have 'data' key?
true/false
Amos
> Paolo
Re: [Qemu-devel] [PATCH v2 2/2] full introspection support for QMP, Luiz Capitulino, 2013/07/17
Re: [Qemu-devel] [PATCH v2 2/2] full introspection support for QMP, Eric Blake, 2013/07/19