This patch series is a followup to v3: https://lists.gnu.org/archive/html/qemu-devel/2015-10/msg02024.html v2: https://lists.gnu.org/archive/html/qemu-devel/2015-09/msg05953.html + https://lists.gnu.org/archive/html/qemu-devel/2015-10/msg01455.html
This series introduces a concept of object property iterators to QOM so callers are insulated from the specific data structures used for storing properties against objects/classes. It then converts Object to use a GHashTable for storing properties. Finally it introduces ObjectClass properties. Probably the only controversial thing is the item Pavel points out about object_child_foreach iterators now being forbidden from modifying the object composition tree. Changed in v4: - Create ObjectPropertyIterator struct to allow inline iteration, instead of using callback functions - Convert spapr and net filter code to new iterators too - Extend check-qom-proplist.c test to cover new iterators and class property usage Daniel P. Berrange (6): qom: introduce ObjectPropertyIterator struct for iteration qmp: convert QMP code to use object property iterators vl: convert machine help code to use object property iterators ppc: convert spapr code to use object property iterators net: convert net filter code to use object property iterators qom: allow properties to be registered against classes Pavel Fedin (1): qom: replace object property list with GHashTable hw/ppc/spapr_drc.c | 5 +- include/qom/object.h | 110 ++++++++++++++- net/filter.c | 5 +- qmp.c | 10 +- qom/object.c | 328 ++++++++++++++++++++++++++++++++++++++++----- tests/check-qom-proplist.c | 77 +++++++++-- vl.c | 5 +- 7 files changed, 485 insertions(+), 55 deletions(-) -- 2.4.3