summaryrefslogtreecommitdiffstats
path: root/include/qom
diff options
context:
space:
mode:
authorPaolo Bonzini2019-11-13 13:57:55 +0100
committerPaolo Bonzini2019-12-17 19:32:26 +0100
commit3c75e12ea64666f2fc9f822675490e8672f45453 (patch)
treec0b0a9e095782dd3014ac6544bd5e72e2fd38297 /include/qom
parentqom: introduce object_register_sugar_prop (diff)
downloadqemu-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.h12
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.
*