mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 15:53:54 -06:00
object: add uint property setter/getter
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20170607163635.17635-13-marcandre.lureau@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
parent
5923f85fb8
commit
3152779cd6
2 changed files with 52 additions and 0 deletions
29
qom/object.c
29
qom/object.c
|
@ -1216,6 +1216,35 @@ int64_t object_property_get_int(Object *obj, const char *name,
|
|||
return retval;
|
||||
}
|
||||
|
||||
void object_property_set_uint(Object *obj, uint64_t value,
|
||||
const char *name, Error **errp)
|
||||
{
|
||||
QNum *qnum = qnum_from_uint(value);
|
||||
|
||||
object_property_set_qobject(obj, QOBJECT(qnum), name, errp);
|
||||
QDECREF(qnum);
|
||||
}
|
||||
|
||||
uint64_t object_property_get_uint(Object *obj, const char *name,
|
||||
Error **errp)
|
||||
{
|
||||
QObject *ret = object_property_get_qobject(obj, name, errp);
|
||||
QNum *qnum;
|
||||
uint64_t retval;
|
||||
|
||||
if (!ret) {
|
||||
return 0;
|
||||
}
|
||||
qnum = qobject_to_qnum(ret);
|
||||
if (!qnum || !qnum_get_try_uint(qnum, &retval)) {
|
||||
error_setg(errp, QERR_INVALID_PARAMETER_TYPE, name, "uint");
|
||||
retval = 0;
|
||||
}
|
||||
|
||||
qobject_decref(ret);
|
||||
return retval;
|
||||
}
|
||||
|
||||
typedef struct EnumProperty {
|
||||
const char * const *strings;
|
||||
int (*get)(Object *, Error **);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue