]> git.ipfire.org Git - thirdparty/qemu.git/commit
rust: qom: add possibility of overriding unparent
authorPaolo Bonzini <pbonzini@redhat.com>
Tue, 29 Oct 2024 14:00:26 +0000 (15:00 +0100)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 19 Dec 2024 18:36:37 +0000 (19:36 +0100)
commitcb36da9bd84076470f36da56542e85a2436e3d95
tree90d90f6debe5f234345a2781dc14329f92d00e9e
parent6dd818fbbbe3efc63889e7d811ac6b70e788c629
rust: qom: add possibility of overriding unparent

Add a blanket definition of ClassInitImpl<ObjectClass> that thunks
ObjectImpl::UNPARENT and overrides it in ObjectClass if it is not
None.

ClassInitImpl<DeviceClass> can now call its superclass's ClassInitImpl,
so that the C and Rust hierarchies match more closely.

This is mostly done as an example of implementing the metaclass
hierarchy under ClassInitImpl.

Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
rust/qemu-api/src/definitions.rs
rust/qemu-api/src/device_class.rs