mirror of
https://github.com/mii443/qemu.git
synced 2025-08-22 15:15:46 +00:00
qom: Allow optional sugar props
Global properties have an @optional field, which allows to apply a given property to a given type even if one of its subclasses doesn't support it. This is especially used in the compat code when dealing with the "disable-modern" and "disable-legacy" properties and the "virtio-pci" type. Allow object_register_sugar_prop() to set this field as well. Signed-off-by: Greg Kurz <groug@kaod.org> Message-Id: <159738953558.377274.16617742952571083440.stgit@bahia.lan> Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Reviewed-by: Eduardo Habkost <ehabkost@redhat.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
This commit is contained in:
@ -442,7 +442,8 @@ static GPtrArray *object_compat_props[3];
|
||||
* other than "-global". These are generally used for syntactic
|
||||
* sugar and legacy command line options.
|
||||
*/
|
||||
void object_register_sugar_prop(const char *driver, const char *prop, const char *value)
|
||||
void object_register_sugar_prop(const char *driver, const char *prop,
|
||||
const char *value, bool optional)
|
||||
{
|
||||
GlobalProperty *g;
|
||||
if (!object_compat_props[2]) {
|
||||
@ -452,6 +453,7 @@ void object_register_sugar_prop(const char *driver, const char *prop, const char
|
||||
g->driver = g_strdup(driver);
|
||||
g->property = g_strdup(prop);
|
||||
g->value = g_strdup(value);
|
||||
g->optional = optional;
|
||||
g_ptr_array_add(object_compat_props[2], g);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user