On Sun, 22 Nov 2009 10:04:15 -0600
Anthony Liguori <[email protected]> wrote:
> Luiz Capitulino wrote:
> >>> { "execute": "info", "arguments": { "item": "balloon" } }
> >>> {"return": 512}
> >>>
> >>> { "execute": "info", "arguments": { "item": "network" } }
> >>> {"return": [{"devices": [{"name": "user.0", "info": "net=10.0.2.0,
> >>> restricted=n"}, {"name": "e1000.0", "info":
> >>> "model=e1000,macaddr=52:54:00:12:34:56"}], "id": 0}]}
> >>>
> >>>
> >> The internal "info" is very worrying. We need to make sure everything
> >> is returned as an object without the need for additional parsing.
> >>
> >
> > That's the complicated part.
> >
> > Some (several?) Monitor commands would require deeper changes to return
> > 100% of their information in QObject style.
> >
> > This takes time for me, as I have to dig in subsystems I'm not so
> > familiar with and have to work on the other series too.
> >
> > So, I've chosen to do the easy conversion now so that the project
> > goes forward. I know this can compromise protocol stability, but I was
> > planning not to declare the protocol stable for 0.12.
> >
> > This is a discussion we should have.
> >
>
> We should not partially convert commands. IOW, if there still is an
> "info" output, the command is not converted and should not be exposed in
> the protocol.
>
> I'm okay with only exposing a few functions in QMP, but I don't want to
> expose functions whose output is either not well formed or partially
> converted.
Ok, I'll cherry-pick the fully converted ones and submit again.