// 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::Reporter; use crate::Runner; use glib::object::Cast; use glib::object::IsA; use glib::signal::connect_raw; use glib::signal::SignalHandlerId; use glib::translate::*; use glib::StaticType; use glib::ToValue; use std::boxed::Box as Box_; use std::mem::transmute; glib::wrapper! { #[doc(alias = "GstValidateMonitor")] pub struct Monitor(Object) @extends gst::Object, @implements Reporter; match fn { type_ => || ffi::gst_validate_monitor_get_type(), } } impl Monitor { pub const NONE: Option<&'static Monitor> = None; #[doc(alias = "gst_validate_monitor_factory_create")] pub fn factory_create( target: &impl IsA, runner: &impl IsA, parent: Option<&impl IsA>, ) -> Option { skip_assert_initialized!(); unsafe { from_glib_full(ffi::gst_validate_monitor_factory_create( target.as_ref().to_glib_none().0, runner.as_ref().to_glib_none().0, parent.map(|p| p.as_ref()).to_glib_none().0, )) } } } unsafe impl Send for Monitor {} unsafe impl Sync for Monitor {} pub trait MonitorExt: 'static { //#[doc(alias = "gst_validate_monitor_attach_override")] //fn attach_override(&self, override_: /*Ignored*/&Override); #[doc(alias = "gst_validate_monitor_get_element")] #[doc(alias = "get_element")] fn element(&self) -> Option; #[doc(alias = "gst_validate_monitor_get_element_name")] #[doc(alias = "get_element_name")] fn element_name(&self) -> Option; #[doc(alias = "gst_validate_monitor_get_target")] #[doc(alias = "get_target")] fn target(&self) -> Option; //#[doc(alias = "gst_validate_monitor_set_media_descriptor")] //fn set_media_descriptor(&self, media_descriptor: /*Ignored*/&MediaDescriptor); fn object(&self) -> Option; fn set_pipeline>(&self, pipeline: Option<&P>); #[doc(alias = "validate-parent")] fn validate_parent(&self) -> Option; #[doc(alias = "validate-runner")] fn validate_runner(&self) -> Option; //fn verbosity(&self) -> /*Ignored*/VerbosityFlags; //fn set_verbosity(&self, verbosity: /*Ignored*/VerbosityFlags); #[doc(alias = "pipeline")] fn connect_pipeline_notify( &self, f: F, ) -> SignalHandlerId; #[doc(alias = "verbosity")] fn connect_verbosity_notify( &self, f: F, ) -> SignalHandlerId; } impl> MonitorExt for O { //fn attach_override(&self, override_: /*Ignored*/&Override) { // unsafe { TODO: call ffi:gst_validate_monitor_attach_override() } //} fn element(&self) -> Option { unsafe { from_glib_none(ffi::gst_validate_monitor_get_element( self.as_ref().to_glib_none().0, )) } } fn element_name(&self) -> Option { unsafe { from_glib_full(ffi::gst_validate_monitor_get_element_name( self.as_ref().to_glib_none().0, )) } } fn target(&self) -> Option { unsafe { from_glib_full(ffi::gst_validate_monitor_get_target( self.as_ref().to_glib_none().0, )) } } //fn set_media_descriptor(&self, media_descriptor: /*Ignored*/&MediaDescriptor) { // unsafe { TODO: call ffi:gst_validate_monitor_set_media_descriptor() } //} fn object(&self) -> Option { glib::ObjectExt::property(self.as_ref(), "object") } fn set_pipeline>(&self, pipeline: Option<&P>) { glib::ObjectExt::set_property(self.as_ref(), "pipeline", &pipeline) } fn validate_parent(&self) -> Option { glib::ObjectExt::property(self.as_ref(), "validate-parent") } fn validate_runner(&self) -> Option { glib::ObjectExt::property(self.as_ref(), "validate-runner") } //fn verbosity(&self) -> /*Ignored*/VerbosityFlags { // glib::ObjectExt::property(self.as_ref(), "verbosity") //} //fn set_verbosity(&self, verbosity: /*Ignored*/VerbosityFlags) { // glib::ObjectExt::set_property(self.as_ref(),"verbosity", &verbosity) //} fn connect_pipeline_notify( &self, f: F, ) -> SignalHandlerId { unsafe extern "C" fn notify_pipeline_trampoline< P: IsA, F: Fn(&P) + Send + Sync + 'static, >( this: *mut ffi::GstValidateMonitor, _param_spec: glib::ffi::gpointer, f: glib::ffi::gpointer, ) { let f: &F = &*(f as *const F); f(Monitor::from_glib_borrow(this).unsafe_cast_ref()) } unsafe { let f: Box_ = Box_::new(f); connect_raw( self.as_ptr() as *mut _, b"notify::pipeline\0".as_ptr() as *const _, Some(transmute::<_, unsafe extern "C" fn()>( notify_pipeline_trampoline:: as *const (), )), Box_::into_raw(f), ) } } fn connect_verbosity_notify( &self, f: F, ) -> SignalHandlerId { unsafe extern "C" fn notify_verbosity_trampoline< P: IsA, F: Fn(&P) + Send + Sync + 'static, >( this: *mut ffi::GstValidateMonitor, _param_spec: glib::ffi::gpointer, f: glib::ffi::gpointer, ) { let f: &F = &*(f as *const F); f(Monitor::from_glib_borrow(this).unsafe_cast_ref()) } unsafe { let f: Box_ = Box_::new(f); connect_raw( self.as_ptr() as *mut _, b"notify::verbosity\0".as_ptr() as *const _, Some(transmute::<_, unsafe extern "C" fn()>( notify_verbosity_trampoline:: as *const (), )), Box_::into_raw(f), ) } } }