1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
// This file was generated by gir (https://github.com/gtk-rs/gir) // from gir-files (https://github.com/gtk-rs/gir-files) // from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git) // DO NOT EDIT use glib::object::Cast; use glib::object::IsA; use glib::translate::*; glib::wrapper! { /// A [`gst::ControlBinding`][crate::gst::ControlBinding] that forwards requests to another [`gst::ControlBinding`][crate::gst::ControlBinding] /// /// # Implements /// /// [`trait@gst::prelude::ControlBindingExt`], [`trait@gst::prelude::ObjectExt`] #[doc(alias = "GstProxyControlBinding")] pub struct ProxyControlBinding(Object<ffi::GstProxyControlBinding, ffi::GstProxyControlBindingClass>) @extends gst::ControlBinding, gst::Object; match fn { type_ => || ffi::gst_proxy_control_binding_get_type(), } } impl ProxyControlBinding { /// [`ProxyControlBinding`][crate::ProxyControlBinding] forwards all access to data or ``sync_values()`` /// requests from `property_name` on `object` to the control binding at /// `ref_property_name` on `ref_object`. /// ## `object` /// a [`gst::Object`][crate::gst::Object] /// ## `property_name` /// the property name in `object` to control /// ## `ref_object` /// a [`gst::Object`][crate::gst::Object] to forward all /// [`gst::ControlBinding`][crate::gst::ControlBinding] requests to /// ## `ref_property_name` /// the property_name in `ref_object` to control /// /// # Returns /// /// a new [`gst::ControlBinding`][crate::gst::ControlBinding] that proxies the control interface between /// properties on different [`gst::Object`][crate::gst::Object]'s #[doc(alias = "gst_proxy_control_binding_new")] pub fn new<P: IsA<gst::Object>, Q: IsA<gst::Object>>( object: &P, property_name: &str, ref_object: &Q, ref_property_name: &str, ) -> ProxyControlBinding { assert_initialized_main_thread!(); unsafe { gst::ControlBinding::from_glib_none(ffi::gst_proxy_control_binding_new( object.as_ref().to_glib_none().0, property_name.to_glib_none().0, ref_object.as_ref().to_glib_none().0, ref_property_name.to_glib_none().0, )) .unsafe_cast() } } } unsafe impl Send for ProxyControlBinding {} unsafe impl Sync for ProxyControlBinding {} pub const NONE_PROXY_CONTROL_BINDING: Option<&ProxyControlBinding> = None;