]> git.proxmox.com Git - mirror_qemu.git/commit - qmp.c
add optional 2nd stage initialization to -object/object-add commands
authorIgor Mammedov <imammedo@redhat.com>
Thu, 16 Jan 2014 16:34:38 +0000 (17:34 +0100)
committerLuiz Capitulino <lcapitulino@redhat.com>
Tue, 28 Jan 2014 17:47:02 +0000 (12:47 -0500)
commit269e09f3fc922b800d118d9c8a721be46b5462a3
tree45a18489d3fa4c2bb54e96f7f26ca9f7f6a0af81
parent90e9cf28e57a3e1d6caa0a28b0a332ff982ccb0b
add optional 2nd stage initialization to -object/object-add commands

Introduces USER_CREATABLE interface that must be implemented by
objects which are designed to created with -object CLI option or
object-add QMP command.

Interface provides an ability to do an optional second stage
initialization of the object created with -object/object-add
commands. By providing complete() callback, which is called
after the object properties were set.

It allows to:
 * prevents misusing of -object/object-add by filtering out
   objects that are not designed for it.
 * generalize second stage backend initialization instead of
   adding custom APIs to perform it
 * early error detection of backend initialization at -object/
   object-add time rather than through a proxy DEVICE object
   that tries to use backend.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
backends/rng.c
include/qom/object_interfaces.h [new file with mode: 0644]
qmp.c
qom/Makefile.objs
qom/object_interfaces.c [new file with mode: 0644]
vl.c