From 540011a4a013dc2592ee1be38c12af78ba94fb9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Sat, 23 Sep 2017 19:58:18 +0300 Subject: [PATCH] Add some more boilerplate for impl trait inheritance This needs some macros added. --- gst-plugin/src/base_src.rs | 13 ++++++++++++- gst-plugin/src/element.rs | 12 +++++++++++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/gst-plugin/src/base_src.rs b/gst-plugin/src/base_src.rs index d0b1e9f2..ac876a4a 100644 --- a/gst-plugin/src/base_src.rs +++ b/gst-plugin/src/base_src.rs @@ -209,7 +209,18 @@ impl ElementImpl for Box { } } -impl ObjectImpl for Box {} +// FIXME: Boilerplate +impl ObjectImpl for Box { + fn set_property(&self, obj: &glib::Object, id: u32, value: &glib::Value) { + let imp: &BaseSrcImpl = self.as_ref(); + imp.set_property(obj, id, value); + } + + fn get_property(&self, obj: &glib::Object, id: u32, value: &mut glib::Value) { + let imp: &BaseSrcImpl = self.as_ref(); + imp.get_property(obj, id, value); + } +} impl ObjectType for RsBaseSrc { const NAME: &'static str = "RsBaseSrc"; diff --git a/gst-plugin/src/element.rs b/gst-plugin/src/element.rs index 042f9fce..5eb6a7e0 100644 --- a/gst-plugin/src/element.rs +++ b/gst-plugin/src/element.rs @@ -121,7 +121,17 @@ unsafe impl ElementClass for gst_ffi::GstElementClass {} unsafe impl ObjectClassStruct for gst_ffi::GstElementClass {} // FIXME: Boilerplate -impl ObjectImpl for Box {} +impl ObjectImpl for Box { + fn set_property(&self, obj: &glib::Object, id: u32, value: &glib::Value) { + let imp: &ElementImpl = self.as_ref(); + imp.set_property(obj, id, value); + } + + fn get_property(&self, obj: &glib::Object, id: u32, value: &mut glib::Value) { + let imp: &ElementImpl = self.as_ref(); + imp.get_property(obj, id, value); + } +} impl ElementImpl for Box { fn change_state(