qemu/qom
Igor Mammedov 269e09f3fc 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>
2014-01-28 12:47:02 -05:00
..
Makefile.objs add optional 2nd stage initialization to -object/object-add commands 2014-01-28 12:47:02 -05:00
container.c Make all static TypeInfos const 2013-01-10 15:11:53 -06:00
cpu.c cpu: Document why cannot_instantiate_with_device_add_yet 2013-12-23 00:27:22 +01:00
object.c Merge remote branch 'luiz/queue/qmp' into qmpq 2014-01-14 12:10:08 +10:00
object_interfaces.c add optional 2nd stage initialization to -object/object-add commands 2014-01-28 12:47:02 -05:00
qom-qobject.c qom: move include files to include/qom/ 2012-12-19 08:31:32 +01:00