BinImpl

Trait BinImpl 

Source
pub trait BinImpl<T: BinBase>:
    AnyImpl
    + ObjectImpl<T>
    + ElementImpl<T>
    + Send
    + Sync
    + 'static{
    // Provided methods
    fn add_element(&self, bin: &T, element: &Element) -> bool { ... }
    fn remove_element(&self, bin: &T, element: &Element) -> bool { ... }
    fn handle_message(&self, bin: &T, message: Message) { ... }
}

Provided Methods§

Source

fn add_element(&self, bin: &T, element: &Element) -> bool

Source

fn remove_element(&self, bin: &T, element: &Element) -> bool

Source

fn handle_message(&self, bin: &T, message: Message)

Implementations§

Source§

impl<T: BinBase> dyn BinImpl<T>

Source

pub fn downcast_ref<U: BinImpl<T>>(&self) -> Option<&U>

Source

pub unsafe fn downcast_ref_unchecked<U: BinImpl<T>>(&self) -> &U

Source

pub fn is<U: BinImpl<T>>(&self) -> bool

Trait Implementations§

Source§

impl<T: BinBase> BinImpl<T> for Box<dyn BinImpl<T>>

Source§

fn add_element(&self, bin: &T, element: &Element) -> bool

Source§

fn remove_element(&self, bin: &T, element: &Element) -> bool

Source§

fn handle_message(&self, bin: &T, message: Message)

Source§

impl<T: ElementBase> ElementImpl<T> for Box<dyn BinImpl<T>>

Source§

fn change_state( &self, element: &T, transition: StateChange, ) -> StateChangeReturn

Source§

fn request_new_pad( &self, element: &T, templ: &PadTemplate, name: Option<String>, caps: Option<&CapsRef>, ) -> Option<Pad>

Source§

fn release_pad(&self, element: &T, pad: &Pad)

Source§

fn send_event(&self, element: &T, event: Event) -> bool

Source§

fn query(&self, element: &T, query: &mut QueryRef) -> bool

Source§

fn set_context(&self, element: &T, context: &Context)

Source§

impl<T: ObjectBase> ObjectImpl<T> for Box<dyn BinImpl<T>>

Source§

fn set_property(&self, obj: &Object, id: u32, value: &Value)

Source§

fn get_property(&self, obj: &Object, id: u32) -> Result<Value, ()>

Source§

fn constructed(&self, obj: &T)

Implementations on Foreign Types§

Source§

impl<T: BinBase> BinImpl<T> for Box<dyn PipelineImpl<T>>

Source§

fn add_element(&self, bin: &T, element: &Element) -> bool

Source§

fn remove_element(&self, bin: &T, element: &Element) -> bool

Source§

fn handle_message(&self, bin: &T, message: Message)

Source§

impl<T: BinBase> BinImpl<T> for Box<dyn BinImpl<T>>

Source§

fn add_element(&self, bin: &T, element: &Element) -> bool

Source§

fn remove_element(&self, bin: &T, element: &Element) -> bool

Source§

fn handle_message(&self, bin: &T, message: Message)

Implementors§