pub trait ElementImplExt: ObjectSubclass {
fn parent_change_state(
&self,
element: &Self::Type,
transition: StateChange
) -> Result<StateChangeSuccess, StateChangeError>;
fn parent_request_new_pad(
&self,
element: &Self::Type,
templ: &PadTemplate,
name: Option<String>,
caps: Option<&Caps>
) -> Option<Pad>;
fn parent_release_pad(&self, element: &Self::Type, pad: &Pad);
fn parent_send_event(&self, element: &Self::Type, event: Event) -> bool;
fn parent_query(&self, element: &Self::Type, query: &mut QueryRef) -> bool;
fn parent_set_context(&self, element: &Self::Type, context: &Context);
fn parent_set_clock(
&self,
element: &Self::Type,
clock: Option<&Clock>
) -> bool;
fn parent_provide_clock(&self, element: &Self::Type) -> Option<Clock>;
fn parent_post_message(&self, element: &Self::Type, msg: Message) -> bool;
fn panicked(&self) -> &AtomicBool;
fn catch_panic<R, F: FnOnce(&Self) -> R, G: FnOnce() -> R, P: IsA<Element>>(
&self,
element: &P,
fallback: G,
f: F
) -> R;
fn catch_panic_pad_function<R, F: FnOnce(&Self, &Self::Type) -> R, G: FnOnce() -> R>(
parent: Option<&Object>,
fallback: G,
f: F
) -> R;
}