qom: Change object property iterator API contract
Currently the ObjectProperty iterator API works as follows: ObjectPropertyIterator *iter; iter = object_property_iter_init(obj); while ((prop = object_property_iter_next(iter))) { ... } object_property_iter_free(iter); This has the benefit that the ObjectPropertyIterator struct can be opaque, but has the downside that callers need to explicitly call a free function. It is also not in keeping with iterator style used elsewhere in QEMU/GLib2. This patch changes the API to use stack allocation instead: ObjectPropertyIterator iter; object_property_iter_init(&iter, obj); while ((prop = object_property_iter_next(&iter))) { ... } Reviewed-by:Eric Blake <eblake@redhat.com> Signed-off-by:
Daniel P. Berrange <berrange@redhat.com> Reviewed-by:
Markus Armbruster <armbru@redhat.com> [AF: Fused ObjectPropertyIterator struct with typedef] Signed-off-by:
Andreas Färber <afaerber@suse.de>
Showing
- hw/ppc/spapr_drc.c 3 additions, 4 deletionshw/ppc/spapr_drc.c
- include/qom/object.h 14 additions, 16 deletionsinclude/qom/object.h
- net/filter.c 3 additions, 4 deletionsnet/filter.c
- qmp.c 6 additions, 8 deletionsqmp.c
- qom/object.c 4 additions, 18 deletionsqom/object.c
- tests/check-qom-proplist.c 3 additions, 4 deletionstests/check-qom-proplist.c
- vl.c 3 additions, 4 deletionsvl.c
Loading
Please register or sign in to comment