aboutsummaryrefslogtreecommitdiff
path: root/rust/qemu-api/src/qdev.rs
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2025-02-03 11:04:07 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2025-02-13 12:19:34 +0100
commita22bd55ffd889f3027c3158d0014c76f204c69dd (patch)
treef986d064e137d1577f3cc25ef659b9b1d2bcf8e8 /rust/qemu-api/src/qdev.rs
parent61faf6ac7b25b9a743817f0c5fc935a6cdfa7dfb (diff)
downloadqemu-a22bd55ffd889f3027c3158d0014c76f204c69dd.zip
qemu-a22bd55ffd889f3027c3158d0014c76f204c69dd.tar.gz
qemu-a22bd55ffd889f3027c3158d0014c76f204c69dd.tar.bz2
rust: chardev, qdev: add bindings to qdev_prop_set_chr
Because the argument to the function is an Owned<Chardev>, this also adds an ObjectType implementation to Chardev. Reviewed-by: Zhao Liu <zhao1.liu@intel.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'rust/qemu-api/src/qdev.rs')
-rw-r--r--rust/qemu-api/src/qdev.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/rust/qemu-api/src/qdev.rs b/rust/qemu-api/src/qdev.rs
index 64ba3d9..73343e1 100644
--- a/rust/qemu-api/src/qdev.rs
+++ b/rust/qemu-api/src/qdev.rs
@@ -16,6 +16,7 @@ use crate::{
bindings::{self, Error, ResettableClass},
callbacks::FnCall,
cell::bql_locked,
+ chardev::Chardev,
prelude::*,
qom::{ClassInitImpl, ObjectClass, ObjectImpl, Owned},
vmstate::VMStateDescription,
@@ -297,6 +298,14 @@ where
Owned::from(&*clk)
}
}
+
+ fn prop_set_chr(&self, propname: &str, chr: &Owned<Chardev>) {
+ assert!(bql_locked());
+ let c_propname = CString::new(propname).unwrap();
+ unsafe {
+ bindings::qdev_prop_set_chr(self.as_mut_ptr(), c_propname.as_ptr(), chr.as_mut_ptr());
+ }
+ }
}
impl<R: ObjectDeref> DeviceMethods for R where R::Target: IsA<DeviceState> {}