// 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 crate::ClockTime; use crate::Object; use glib::object::IsA; use glib::translate::*; use glib::StaticType; glib::wrapper! { #[doc(alias = "GstControlBinding")] pub struct ControlBinding(Object) @extends Object; match fn { type_ => || ffi::gst_control_binding_get_type(), } } impl ControlBinding { pub const NONE: Option<&'static ControlBinding> = None; } unsafe impl Send for ControlBinding {} unsafe impl Sync for ControlBinding {} pub trait ControlBindingExt: 'static { #[doc(alias = "gst_control_binding_get_value")] #[doc(alias = "get_value")] fn value(&self, timestamp: ClockTime) -> Option; //#[doc(alias = "gst_control_binding_get_value_array")] //#[doc(alias = "get_value_array")] //fn is_value_array(&self, timestamp: impl Into>, interval: impl Into>, values: /*Unimplemented*/&[&Fundamental: Pointer]) -> bool; #[doc(alias = "gst_control_binding_is_disabled")] fn is_disabled(&self) -> bool; #[doc(alias = "gst_control_binding_set_disabled")] fn set_disabled(&self, disabled: bool); #[doc(alias = "gst_control_binding_sync_values")] fn sync_values( &self, object: &impl IsA, timestamp: ClockTime, last_sync: impl Into>, ) -> bool; fn object(&self) -> Option; } impl> ControlBindingExt for O { fn value(&self, timestamp: ClockTime) -> Option { unsafe { from_glib_full(ffi::gst_control_binding_get_value( self.as_ref().to_glib_none().0, timestamp.into_glib(), )) } } //fn is_value_array(&self, timestamp: impl Into>, interval: impl Into>, values: /*Unimplemented*/&[&Fundamental: Pointer]) -> bool { // unsafe { TODO: call ffi:gst_control_binding_get_value_array() } //} fn is_disabled(&self) -> bool { unsafe { from_glib(ffi::gst_control_binding_is_disabled( self.as_ref().to_glib_none().0, )) } } fn set_disabled(&self, disabled: bool) { unsafe { ffi::gst_control_binding_set_disabled( self.as_ref().to_glib_none().0, disabled.into_glib(), ); } } fn sync_values( &self, object: &impl IsA, timestamp: ClockTime, last_sync: impl Into>, ) -> bool { unsafe { from_glib(ffi::gst_control_binding_sync_values( self.as_ref().to_glib_none().0, object.as_ref().to_glib_none().0, timestamp.into_glib(), last_sync.into().into_glib(), )) } } fn object(&self) -> Option { glib::ObjectExt::property(self.as_ref(), "object") } }