On Sun, 22 Nov 2009 10:04:15 -0600 Anthony Liguori <anth...@codemonkey.ws> 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.