mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-29 05:13:54 -06:00
rust: qdev: expose inherited methods to subclasses of SysBusDevice
The ObjectDeref trait now provides all the magic that is required to fake inheritance. Replace the "impl SysBusDevice" block of qemu_api::sysbus with a trait, so that sysbus_init_irq() can be invoked as "self.init_irq()" without any intermediate upcast. Reviewed-by: Zhao Liu <zhao1.liu@intel.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
809c703a60
commit
559a779c6a
4 changed files with 14 additions and 14 deletions
|
@ -24,8 +24,7 @@ use crate::{
|
|||
///
|
||||
/// Interrupts are implemented as a pointer to the interrupt "sink", which has
|
||||
/// type [`IRQState`]. A device exposes its source as a QOM link property using
|
||||
/// a function such as
|
||||
/// [`SysBusDevice::init_irq`](crate::sysbus::SysBusDevice::init_irq), and
|
||||
/// a function such as [`SysBusDeviceMethods::init_irq`], and
|
||||
/// initially leaves the pointer to a NULL value, representing an unconnected
|
||||
/// interrupt. To connect it, whoever creates the device fills the pointer with
|
||||
/// the sink's `IRQState *`, for example using `sysbus_connect_irq`. Because
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue