qom: Add object_property_set_default_list()

This function provides a default for properties that are accessed using
the list visitor interface. The default is always an empty list.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-ID: <20231109174240.72376-10-kwolf@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
master
Kevin Wolf 2023-11-09 18:42:38 +01:00
parent 670581f932
commit 125062e791
2 changed files with 14 additions and 0 deletions

View File

@ -1093,6 +1093,14 @@ void object_property_set_default_bool(ObjectProperty *prop, bool value);
*/
void object_property_set_default_str(ObjectProperty *prop, const char *value);
/**
* object_property_set_default_list:
* @prop: the property to set
*
* Set the property default value to be an empty list.
*/
void object_property_set_default_list(ObjectProperty *prop);
/**
* object_property_set_default_int:
* @prop: the property to set

View File

@ -31,6 +31,7 @@
* of the QOM core on QObject? */
#include "qom/qom-qobject.h"
#include "qapi/qmp/qbool.h"
#include "qapi/qmp/qlist.h"
#include "qapi/qmp/qnum.h"
#include "qapi/qmp/qstring.h"
#include "qemu/error-report.h"
@ -1588,6 +1589,11 @@ void object_property_set_default_str(ObjectProperty *prop, const char *value)
object_property_set_default(prop, QOBJECT(qstring_from_str(value)));
}
void object_property_set_default_list(ObjectProperty *prop)
{
object_property_set_default(prop, QOBJECT(qlist_new()));
}
void object_property_set_default_int(ObjectProperty *prop, int64_t value)
{
object_property_set_default(prop, QOBJECT(qnum_from_int(value)));