pub trait ElementImpl: ElementImplExt + ObjectImpl + Send + Sync {
fn metadata() -> Option<&'static ElementMetadata> { ... }
fn pad_templates() -> &'static [PadTemplate]ⓘ { ... }
fn change_state(
&self,
element: &Self::Type,
transition: StateChange
) -> Result<StateChangeSuccess, StateChangeError> { ... }
fn request_new_pad(
&self,
element: &Self::Type,
templ: &PadTemplate,
name: Option<String>,
caps: Option<&Caps>
) -> Option<Pad> { ... }
fn release_pad(&self, element: &Self::Type, pad: &Pad) { ... }
fn send_event(&self, element: &Self::Type, event: Event) -> bool { ... }
fn query(&self, element: &Self::Type, query: &mut QueryRef) -> bool { ... }
fn set_context(&self, element: &Self::Type, context: &Context) { ... }
fn set_clock(&self, element: &Self::Type, clock: Option<&Clock>) -> bool { ... }
fn provide_clock(&self, element: &Self::Type) -> Option<Clock> { ... }
fn post_message(&self, element: &Self::Type, msg: Message) -> bool { ... }
}