unicorn/qemu
Daniel P. Berrange 3ba8959dfd
qom: Introduce ObjectPropertyIterator struct for iteration
Some users of QOM need to be able to iterate over properties
defined against an object instance. Currently they are just
directly using the QTAIL macros against the object properties
data structure.

This is bad because it exposes them to changes in the data
structure used to store properties, as well as changes in
functionality such as ability to register properties against
the class.

This provides an ObjectPropertyIterator struct which will
insulate the callers from the particular data structure
used to store properties. It can be used thus

ObjectProperty *prop;
ObjectPropertyIterator *iter;

iter = object_property_iter_init(obj);
while ((prop = object_property_iter_next(iter))) {
... do something with prop ...
}
object_property_iter_free(iter);

Backports commit a00c94824126901168bca5b89147f9e334a49e87 from qemu
2018-02-17 18:39:00 -05:00
..
crypto Drop unused crypto source files 2018-02-17 15:23:57 -05:00
default-configs
docs
fpu
hw osdep.h: Move some compiler-specific things to compiler.h 2018-02-17 15:23:28 -05:00
include qom: Introduce ObjectPropertyIterator struct for iteration 2018-02-17 18:39:00 -05:00
qapi qstring: Make conversion from QObject * accept null 2018-02-17 15:24:12 -05:00
qobject qstring: Make conversion from QObject * accept null 2018-02-17 15:24:12 -05:00
qom qom: Introduce ObjectPropertyIterator struct for iteration 2018-02-17 18:39:00 -05:00
scripts
target-arm target-arm: Update condexec before arch BP check in AA32 translation 2018-02-17 18:35:50 -05:00
target-i386 target-i386: Add clflushopt/clwb/pcommit to TCG_7_0_EBX_FEATURES 2018-02-17 17:26:53 -05:00
target-m68k target-*: Advance pc after recognizing a breakpoint 2018-02-17 15:24:11 -05:00
target-mips target-mips: fix updating XContext on mmu exception 2018-02-17 15:24:14 -05:00
target-sparc target-*: Advance pc after recognizing a breakpoint 2018-02-17 15:24:11 -05:00
tcg tcg/mips: Support r6 SEL{NE, EQ}Z instead of MOVN/MOVZ 2018-02-17 15:24:04 -05:00
util mmap-alloc: fix error handling 2018-02-17 15:24:11 -05:00
aarch64.h qemu_ram_block_by_name 2018-02-17 18:01:16 -05:00
aarch64eb.h qemu_ram_block_by_name 2018-02-17 18:01:16 -05:00
accel.c
arm.h qemu_ram_block_by_name 2018-02-17 18:01:16 -05:00
armeb.h qemu_ram_block_by_name 2018-02-17 18:01:16 -05:00
CODING_STYLE
configure
COPYING
COPYING.LIB import 2015-08-21 15:04:50 +08:00
cpu-exec-common.c cpu-exec: Migrate some generic fns to cpu-exec-common 2018-02-17 15:23:51 -05:00
cpu-exec.c cpu-exec: Fix compiler warning (-Werror=clobbered) 2018-02-17 15:24:15 -05:00
cpus.c cpu-exec: Purge all uses of ENV_GET_CPU() 2018-02-17 15:23:18 -05:00
cputlb.c cputlb: Change tlb_set_dirty() arg to cpu 2018-02-17 15:23:52 -05:00
exec.c qemu_ram_block_by_name 2018-02-17 18:01:16 -05:00
gen_all_header.sh
glib_compat.c crypto: introduce new module for computing hash digests 2018-02-17 15:23:17 -05:00
HACKING
header_gen.py qemu_ram_block_by_name 2018-02-17 18:01:16 -05:00
ioport.c ioport: do not use CPU_LOG_IOPORT 2018-02-17 15:24:15 -05:00
LICENSE
m68k.h qemu_ram_block_by_name 2018-02-17 18:01:16 -05:00
Makefile crypto: move crypto objects out of libqemuutil.la 2018-02-17 15:23:50 -05:00
Makefile.objs crypto: move crypto objects out of libqemuutil.la 2018-02-17 15:23:50 -05:00
Makefile.target tcg: split tcg_op_defs to -common 2018-02-17 15:23:51 -05:00
memory_mapping.c memory_mapping: Rework cpu related includes 2018-02-17 15:23:15 -05:00
memory.c pc: resizeable ROM blocks 2018-02-17 17:18:38 -05:00
mips64.h qemu_ram_block_by_name 2018-02-17 18:01:16 -05:00
mips64el.h qemu_ram_block_by_name 2018-02-17 18:01:16 -05:00
mips.h qemu_ram_block_by_name 2018-02-17 18:01:16 -05:00
mipsel.h qemu_ram_block_by_name 2018-02-17 18:01:16 -05:00
powerpc.h qemu_ram_block_by_name 2018-02-17 18:01:16 -05:00
qapi-schema.json
qemu-log.c
qemu-timer.c timer is redundant 2017-01-20 16:46:58 +08:00
rules.mak import 2015-08-21 15:04:50 +08:00
softmmu_template.h softmmu: remove now unused functions 2018-02-17 15:23:38 -05:00
sparc64.h qemu_ram_block_by_name 2018-02-17 18:01:16 -05:00
sparc.h qemu_ram_block_by_name 2018-02-17 18:01:16 -05:00
tcg-runtime.c
translate-all.c tcg/ppc: Revise goto_tb implementation 2018-02-17 15:24:03 -05:00
translate-all.h translate-all: remove unnecessary argument to tb_invalidate_phys_range 2018-02-13 09:04:51 -05:00
translate-common.c translate-all: Move tcg_handle_interrupt() to -common 2018-02-17 15:23:51 -05:00
unicorn_common.h
VERSION
vl.c vl.c: Remove periods and exclamation points from error messages 2018-02-17 15:24:14 -05:00
vl.h import 2015-08-21 15:04:50 +08:00
x86_64.h qemu_ram_block_by_name 2018-02-17 18:01:16 -05:00