// 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::Object; use crate::Pad; use crate::ProxyPad; use glib::object::IsA; use glib::translate::*; glib::wrapper! { #[doc(alias = "GstGhostPad")] pub struct GhostPad(Object) @extends ProxyPad, Pad, Object; match fn { type_ => || ffi::gst_ghost_pad_get_type(), } } impl GhostPad { pub const NONE: Option<&'static GhostPad> = None; } unsafe impl Send for GhostPad {} unsafe impl Sync for GhostPad {} pub trait GhostPadExt: 'static { #[doc(alias = "gst_ghost_pad_get_target")] #[doc(alias = "get_target")] fn target(&self) -> Option; #[doc(alias = "gst_ghost_pad_set_target")] fn set_target(&self, newtarget: Option<&impl IsA>) -> Result<(), glib::error::BoolError>; } impl> GhostPadExt for O { fn target(&self) -> Option { unsafe { from_glib_full(ffi::gst_ghost_pad_get_target( self.as_ref().to_glib_none().0, )) } } fn set_target(&self, newtarget: Option<&impl IsA>) -> Result<(), glib::error::BoolError> { unsafe { glib::result_from_gboolean!( ffi::gst_ghost_pad_set_target( self.as_ref().to_glib_none().0, newtarget.map(|p| p.as_ref()).to_glib_none().0 ), "Failed to set target" ) } } }