• Igor Mammedov's avatar
    add optional 2nd stage initialization to -object/object-add commands · 269e09f3
    Igor Mammedov authored
    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: default avatarIgor Mammedov <imammedo@redhat.com>
    Reviewed-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
    Signed-off-by: default avatarLuiz Capitulino <lcapitulino@redhat.com>
qmp.c 16 KB