monitor: Setup a QDict with arguments to handlers

With this commit monitor_handle_command() will be able to setup a
QDict with arguments to command handlers.

However, the current 'args[]' method is still being used, next
changes will port commands to get their arguments from the dictionary.

Two changes are worth noting:

1. The '/' argument type always adds the following standard keys in the
dictionary: 'count', 'format' and 'size'. This way, the argument
name used in the 'args_type' string doesn't matter

2. The optional argument type '?' doesn't need to pass the additional
'has_arg' argument, hanlders can do the same check with qdict_haskey()

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
1 file changed
tree: 0a5ff5c33996dc0beb2cfee34d39a110c293d86a
  1. audio/
  2. block/
  3. bsd-user/
  4. darwin-user/
  5. fpu/
  6. gdb-xml/
  7. hw/
  8. linux-user/
  9. pc-bios/
  10. slirp/
  11. target-alpha/
  12. target-arm/
  13. target-cris/
  14. target-i386/
  15. target-m68k/
  16. target-microblaze/
  17. target-mips/
  18. target-ppc/
  19. target-sh4/
  20. target-sparc/
  21. tcg/
  22. tests/
  23. .gitignore
  24. a.out.h
  25. acl.c
  26. acl.h
  27. aes.c
  28. aes.h
  29. aio.c
  30. alpha-dis.c
  31. alpha.ld
  32. arm-dis.c
  33. arm-semi.c
  34. arm.ld
  35. balloon.h
  36. block.c
  37. block.h
  38. block_int.h
  39. bswap.h
  40. bt-host.c
  41. bt-host.h
  42. bt-vhci.c
  43. buffered_file.c
  44. buffered_file.h
  45. cache-utils.c
  46. cache-utils.h
  47. Changelog
  48. cmd.c
  49. cmd.h
  50. cocoa.m
  51. CODING_STYLE
  52. configure
  53. console.c
  54. console.h
  55. COPYING
  56. COPYING.LIB
  57. cpu-all.h
  58. cpu-common.h
  59. cpu-defs.h
  60. cpu-exec.c
  61. create_config
  62. cris-dis.c
  63. curses.c
  64. curses_keys.h
  65. cutils.c
  66. d3des.c
  67. d3des.h
  68. def-helper.h
  69. device_tree.c
  70. device_tree.h
  71. dis-asm.h
  72. disas.c
  73. disas.h
  74. dma-helpers.c
  75. dma.h
  76. dyngen-exec.h
  77. elf.h
  78. elf_ops.h
  79. envlist.c
  80. envlist.h
  81. exec-all.h
  82. exec.c
  83. feature_to_c.sh
  84. gdbstub.c
  85. gdbstub.h
  86. gen-icount.h
  87. host-utils.c
  88. host-utils.h
  89. hostregs_helper.h
  90. hpet.h
  91. hppa-dis.c
  92. hppa.ld
  93. hxtool
  94. i386-dis.c
  95. i386.ld
  96. ia64.ld
  97. ioport-user.c
  98. ioport.c
  99. ioport.h
  100. keymaps.c
  101. keymaps.h
  102. kvm-all.c
  103. kvm.h
  104. libfdt_env.h
  105. LICENSE
  106. linux-aio.c
  107. loader.c
  108. m68k-dis.c
  109. m68k-semi.c
  110. m68k.ld
  111. MAINTAINERS
  112. Makefile
  113. Makefile.hw
  114. Makefile.target
  115. microblaze-dis.c
  116. migration-exec.c
  117. migration-fd.c
  118. migration-tcp.c
  119. migration-unix.c
  120. migration.c
  121. migration.h
  122. mips-dis.c
  123. mips.ld
  124. module.c
  125. module.h
  126. monitor.c
  127. monitor.h
  128. nbd.c
  129. nbd.h
  130. net-checksum.c
  131. net.c
  132. net.h
  133. osdep.c
  134. osdep.h
  135. path.c
  136. pci-ids.txt
  137. posix-aio-compat.c
  138. ppc-dis.c
  139. ppc.ld
  140. ppc64.ld
  141. qdict.c
  142. qdict.h
  143. qemu-aio.h
  144. qemu-binfmt-conf.sh
  145. qemu-char.c
  146. qemu-char.h
  147. qemu-common.h
  148. qemu-config.c
  149. qemu-config.h
  150. qemu-doc.texi
  151. qemu-img-cmds.hx
  152. qemu-img.c
  153. qemu-img.texi
  154. qemu-io.c
  155. qemu-lock.h
  156. qemu-log.h
  157. qemu-malloc.c
  158. qemu-monitor.hx
  159. qemu-nbd.c
  160. qemu-nbd.texi
  161. qemu-option.c
  162. qemu-option.h
  163. qemu-options.hx
  164. qemu-sockets.c
  165. qemu-tech.texi
  166. qemu-thread.c
  167. qemu-thread.h
  168. qemu-timer.h
  169. qemu-tool.c
  170. qemu.sasl
  171. qemu_socket.h
  172. qint.c
  173. qint.h
  174. qobject.h
  175. qstring.c
  176. qstring.h
  177. readline.c
  178. readline.h
  179. README
  180. rules.mak
  181. s390-dis.c
  182. s390.ld
  183. savevm.c
  184. sdl.c
  185. sdl_keysym.h
  186. sdl_zoom.c
  187. sdl_zoom.h
  188. sdl_zoom_template.h
  189. sh4-dis.c
  190. softmmu-semi.h
  191. softmmu_defs.h
  192. softmmu_exec.h
  193. softmmu_header.h
  194. softmmu_template.h
  195. sparc-dis.c
  196. sparc.ld
  197. sparc64.ld
  198. sys-queue.h
  199. sysemu.h
  200. tap-win32.c
  201. targphys.h
  202. texi2pod.pl
  203. thunk.c
  204. thunk.h
  205. TODO
  206. translate-all.c
  207. uboot_image.h
  208. usb-bsd.c
  209. usb-linux.c
  210. usb-stub.c
  211. VERSION
  212. vgafont.h
  213. vl.c
  214. vnc-auth-sasl.c
  215. vnc-auth-sasl.h
  216. vnc-auth-vencrypt.c
  217. vnc-auth-vencrypt.h
  218. vnc-tls.c
  219. vnc-tls.h
  220. vnc.c
  221. vnc.h
  222. vnc_keysym.h
  223. vnchextile.h
  224. x86_64.ld
  225. x_keymap.c
  226. x_keymap.h