To make introspection possible, make all TYPE_USER_CREATABLE classes use only class properties, and add a mechanism to lock QOM properties so writable instance properties won't be allowed anymore.
Eduardo Habkost (12): qom: Helpers for pointer properties qom: Introduce PointerProperty struct qom: Make object_class_property_add_uint*_ptr() get offset sev: Use class properties rng: Use class properties can_host: Use class properties colo: Use class properties netfilter: Reorder functions netfilter: Use class properties input: Use class properties [RFC] qom: Property lock mechanism [RFC] qom: Lock properties of all TYPE_USER_CREATABLE types include/qom/object.h | 25 +++- backends/rng-egd.c | 10 +- backends/rng-random.c | 8 +- backends/rng.c | 6 +- net/can/can_host.c | 16 +-- net/colo-compare.c | 57 ++++---- net/dump.c | 10 +- net/filter-buffer.c | 26 ++-- net/filter-mirror.c | 64 ++++----- net/filter-rewriter.c | 7 +- net/filter.c | 24 ++-- qom/object.c | 256 ++++++++++++++++++--------------- qom/object_interfaces.c | 11 ++ target/i386/sev.c | 22 +-- tests/check-qom-proplist.c | 10 +- tests/test-qdev-global-props.c | 70 +++++++++ ui/input-barrier.c | 44 +++--- ui/input-linux.c | 27 ++-- 18 files changed, 407 insertions(+), 286 deletions(-) -- 2.26.2