diff options
author | Paolo Bonzini | 2019-11-13 13:57:55 +0100 |
---|---|---|
committer | Paolo Bonzini | 2019-12-17 19:32:26 +0100 |
commit | 3c75e12ea64666f2fc9f822675490e8672f45453 (patch) | |
tree | c0b0a9e095782dd3014ac6544bd5e72e2fd38297 /include/qom | |
parent | qom: introduce object_register_sugar_prop (diff) | |
download | qemu-3c75e12ea64666f2fc9f822675490e8672f45453.tar.gz qemu-3c75e12ea64666f2fc9f822675490e8672f45453.tar.xz qemu-3c75e12ea64666f2fc9f822675490e8672f45453.zip |
qom: add object_new_with_class
Similar to CPU and machine classes, "-accel" class names are mangled,
so we have to first get a class via accel_find and then instantiate it.
Provide a new function to instantiate a class without going through
object_class_get_name, and use it for CPUs and machines already.
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'include/qom')
-rw-r--r-- | include/qom/object.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/qom/object.h b/include/qom/object.h index 230b18fe14..f9ad692f21 100644 --- a/include/qom/object.h +++ b/include/qom/object.h @@ -593,6 +593,18 @@ struct InterfaceClass __FILE__, __LINE__, __func__)) /** + * object_new_with_class: + * @klass: The class to instantiate. + * + * This function will initialize a new object using heap allocated memory. + * The returned object has a reference count of 1, and will be freed when + * the last reference is dropped. + * + * Returns: The newly allocated and instantiated object. + */ +Object *object_new_with_class(ObjectClass *klass); + +/** * object_new: * @typename: The name of the type of the object to instantiate. * |