Today, when writing an info command that is used by QMP and HMP, the
programmer has to implement:

 1. The handler itself, that's the function that gathers data and
    returns it as QObjects
 2. A pretty printing function, which is called by the human monitor
    to print the returned QObjects in human readable form

However, we want to have a clean separation between QMP and the human
monitor. Actually, we want to turn QMP into an internal API and the
human monitor should be written on top of that.

So, this series does:

 1. Move all QMP calling code to the info handler using it, that's
    we change the pretty printing function to call QMP and turn it
    into an info handler
 2. Drop all QMP calling code from do_info()

Please, note that this is only done for info handlers. Command handlers
will take a bit more time to be converted.

 balloon.c   |   26 +-----
 balloon.h   |    2 +-
 block.c     |   16 ++-
 block.h     |    8 +-
 console.h   |    8 +-
 hw/pci.c    |    9 ++-
 hw/pci.h    |    4 +-
 input.c     |   11 ++-
 migration.c |   13 ++-
 migration.h |    4 +-
 monitor.c   |  341 +++++++++++++++++++++++++++--------------------------------
 qemu-char.c |   10 ++-
 qemu-char.h |    4 +-
 ui/vnc.c    |   11 ++-
 14 files changed, 227 insertions(+), 240 deletions(-)


Reply via email to