diff options
author | Takashi Sakamoto <o-takashi@sakamocchi.jp> | 2022-07-07 13:08:53 +0900 |
---|---|---|
committer | Takashi Sakamoto <o-takashi@sakamocchi.jp> | 2022-07-07 13:08:53 +0900 |
commit | 1afa23ae1942ce97c5936782af52b2b002fe5c55 (patch) | |
tree | 4939af3a092f36f49b88d4be36da7faea6b1b943 | |
parent | 8b1d7bfbd4efedb8120ba3dccc46dfcd17ede640 (diff) | |
download | hinawa-rs-1afa23ae1942ce97c5936782af52b2b002fe5c55.tar.gz |
hinawa: unsupport deprecated FwRespExtManual::get_req_frames() and requested signal.
Libhinawa v2.2 deprecated Hinawa.FwResp.get_req_frames() and
Hinawa.FwResp::requested signal.
This commit deletes them.
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
-rw-r--r-- | hinawa/Gir.toml | 3 | ||||
-rw-r--r-- | hinawa/src/fw_resp.rs | 16 | ||||
-rw-r--r-- | hinawa/src/subclass/fw_resp.rs | 30 |
3 files changed, 4 insertions, 45 deletions
diff --git a/hinawa/Gir.toml b/hinawa/Gir.toml index 5707a6b..ccd7309 100644 --- a/hinawa/Gir.toml +++ b/hinawa/Gir.toml @@ -61,8 +61,7 @@ status = "generate" manual_traits = ["FwRespExtManual"] [[object.function]] name = "get_req_frame" - manual = true - doc_trait_name = "FwRespExtManual" + ignore = true [[object.signal]] name = "requested2" manual = true diff --git a/hinawa/src/fw_resp.rs b/hinawa/src/fw_resp.rs index 943b24f..792ff50 100644 --- a/hinawa/src/fw_resp.rs +++ b/hinawa/src/fw_resp.rs @@ -2,29 +2,17 @@ use crate::*; pub trait FwRespExtManual { - fn get_req_frames(&self) -> &[u8]; fn connect_requested2<F>(&self, f: F) -> SignalHandlerId where F: Fn(&Self, FwTcode, u64, u32, u32, u32, u32, &[u8]) -> FwRcode + 'static; } impl<O: IsA<FwResp>> FwRespExtManual for O { - fn get_req_frames(&self) -> &[u8] { - unsafe { - let mut ptr = std::ptr::null_mut() as *const u8; - let mut len = 0 as usize; - - ffi::hinawa_fw_resp_get_req_frame(self.as_ref().to_glib_none().0, &mut ptr, &mut len); - - std::slice::from_raw_parts(ptr, len) - } - } - fn connect_requested2<F>(&self, f: F) -> SignalHandlerId where F: Fn(&Self, FwTcode, u64, u32, u32, u32, u32, &[u8]) -> FwRcode + 'static, { - unsafe extern "C" fn requested_trampoline<P, F>( + unsafe extern "C" fn requested2_trampoline<P, F>( this: *mut ffi::HinawaFwResp, tcode: ffi::HinawaFwTcode, offset: u64, @@ -59,7 +47,7 @@ impl<O: IsA<FwResp>> FwRespExtManual for O { self.as_ptr() as *mut _, b"requested2\0".as_ptr() as *const _, Some(std::mem::transmute::<_, unsafe extern "C" fn()>( - requested_trampoline::<Self, F> as *const (), + requested2_trampoline::<Self, F> as *const (), )), std::boxed::Box::into_raw(f), ) diff --git a/hinawa/src/subclass/fw_resp.rs b/hinawa/src/subclass/fw_resp.rs index 8e003a9..94fc40c 100644 --- a/hinawa/src/subclass/fw_resp.rs +++ b/hinawa/src/subclass/fw_resp.rs @@ -3,10 +3,6 @@ use super::*; pub trait FwRespImpl: ObjectImpl + FwRespImplExt { - fn requested(&self, resp: &FwResp, tcode: FwTcode) -> FwRcode { - self.parent_requested(resp, tcode) - } - fn requested2( &self, resp: &FwResp, @@ -23,7 +19,6 @@ pub trait FwRespImpl: ObjectImpl + FwRespImplExt { } pub trait FwRespImplExt: ObjectSubclass { - fn parent_requested(&self, resp: &FwResp, tcode: FwTcode) -> FwRcode; fn parent_requested2( &self, resp: &FwResp, @@ -38,17 +33,6 @@ pub trait FwRespImplExt: ObjectSubclass { } impl<T: FwRespImpl> FwRespImplExt for T { - fn parent_requested(&self, resp: &FwResp, tcode: FwTcode) -> FwRcode { - unsafe { - let data = T::type_data(); - let parent_class = data.as_ref().parent_class() as *mut ffi::HinawaFwRespClass; - let f = (*parent_class) - .requested - .expect("No parent class implementation for \"requested\""); - from_glib(f(resp.to_glib_none().0, tcode.into_glib())) - } - } - fn parent_requested2( &self, resp: &FwResp, @@ -65,7 +49,7 @@ impl<T: FwRespImpl> FwRespImplExt for T { let parent_class = data.as_ref().parent_class() as *mut ffi::HinawaFwRespClass; let f = (*parent_class) .requested2 - .expect("No parent class implementation for \"requested\""); + .expect("No parent class implementation for \"requested2\""); from_glib(f( resp.to_glib_none().0, tcode.into_glib(), @@ -86,22 +70,10 @@ unsafe impl<T: FwRespImpl> IsSubclassable<T> for FwResp { Self::parent_class_init::<T>(class); let klass = class.as_mut(); - klass.requested = Some(fw_resp_requested::<T>); klass.requested2 = Some(fw_resp_requested2::<T>); } } -unsafe extern "C" fn fw_resp_requested<T: FwRespImpl>( - ptr: *mut ffi::HinawaFwResp, - tcode: ffi::HinawaFwTcode, -) -> ffi::HinawaFwRcode { - let instance = &*(ptr as *mut T::Instance); - let imp = instance.imp(); - let wrap: Borrowed<FwResp> = from_glib_borrow(ptr); - - imp.requested(&wrap, from_glib(tcode)).into_glib() -} - unsafe extern "C" fn fw_resp_requested2<T: FwRespImpl>( ptr: *mut ffi::HinawaFwResp, tcode: ffi::HinawaFwTcode, |