qemu/include
Daniel P. Berrange 90998d5896 qom: add helpers for UserCreatable object types
The QMP monitor code has two helper methods object_add
and qmp_object_del that are called from several places
in the code (QMP, HMP and main emulator startup).

The HMP and main emulator startup code also share
further logic that extracts the qom-type & id
values from a qdict.

We soon need to use this logic from qemu-img, qemu-io
and qemu-nbd too, but don't want those to depend on
the monitor, nor do we want to duplicate the code.

To avoid this, move some code out of qmp.c and hmp.c
adding new methods to qom/object_interfaces.c

 - user_creatable_add - takes a QDict holding a full
   object definition & instantiates it
 - user_creatable_add_type - takes an ID, type name,
   and QDict holding object properties & instantiates
   it
 - user_creatable_add_opts - takes a QemuOpts holding
   a full object definition & instantiates it
 - user_creatable_add_opts_foreach - variant on
   user_creatable_add_opts which can be directly used
   in conjunction with qemu_opts_foreach.
 - user_creatable_del - takes an ID and deletes the
   corresponding object

The existing code is updated to use these new methods.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Message-Id: <1455129674-17255-2-git-send-email-berrange@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2016-02-16 17:12:57 +01:00
..
block blockjob: Fix hang in block_job_finish_sync 2016-02-09 13:52:26 +00:00
crypto crypto: fix description of @errp parameter initialization 2016-02-01 14:11:35 +00:00
disas disas: Add print_insn to disassemble info 2015-07-09 15:20:40 +02:00
exec memory: fix usage of find_next_bit and find_next_zero_bit 2016-02-10 22:38:24 +00:00
fpu fpu: Replace uint8 typedef with uint8_t 2016-01-22 15:09:21 +00:00
hw Xen 2016-02-12 2016-02-12 17:36:12 +00:00
io io: fix description of @errp parameter initialization 2016-01-20 11:31:01 +00:00
libdecnumber Fix new typos in comments (found by codespell) 2014-07-18 17:45:36 +04:00
migration pc and misc cleanups and fixes, virtio optimizations 2016-02-08 11:25:31 +00:00
monitor qom: add helpers for UserCreatable object types 2016-02-16 17:12:57 +01:00
net net/filter: Fix the output information for command 'info network' 2016-02-04 14:13:11 +08:00
qapi Error reporting patches for 2016-02-09 2016-02-09 16:09:15 +00:00
qemu build: Don't redefine 'inline' 2016-02-16 09:27:59 +01:00
qom qom: add helpers for UserCreatable object types 2016-02-16 17:12:57 +01:00
standard-headers linux-headers: update from kvm/next 2015-12-17 15:24:34 +01:00
sysemu w32: include winsock2.h before windows.h 2016-02-11 15:15:47 +03:00
ui virtio-gpu: bugfixes and spice support preparation 2016-02-03 12:23:48 +00:00
config.h
elf.h elf: add arm note types 2016-01-15 14:55:16 +00:00
glib-compat.h glib: add compatibility interface for g_hash_table_add() 2015-10-30 09:01:03 +01:00
qemu-common.h cpu: cpu_save/cpu_load is no more 2016-02-11 15:15:46 +03:00
qemu-io.h qemu-io: Use BlockBackend 2015-02-16 15:07:19 +00:00
qjson.h QJSON: Add JSON writer 2015-02-05 17:16:14 +01:00
trace-tcg.h trace: [tcg] Generate TCG tracing routines 2014-08-12 14:26:12 +01:00
trace.h trace: [tcg] Include event definitions in "trace.h" 2014-08-12 14:26:12 +01:00