gstreamer::prelude

Trait ChildProxyExt

Source
pub trait ChildProxyExt: IsA<ChildProxy> + 'static {
    // Provided methods
    fn child_added(&self, child: &impl IsA<Object>, name: &str) { ... }
    fn child_removed(&self, child: &impl IsA<Object>, name: &str) { ... }
    fn child_by_index(&self, index: u32) -> Option<Object> { ... }
    fn child_by_name(&self, name: &str) -> Option<Object> { ... }
    fn child_by_name_recurse(&self, name: &str) -> Option<Object> { ... }
    fn children_count(&self) -> u32 { ... }
    fn connect_child_added<F: Fn(&Self, &Object, &str) + Send + Sync + 'static>(
        &self,
        f: F,
    ) -> SignalHandlerId { ... }
    fn connect_child_removed<F: Fn(&Self, &Object, &str) + Send + Sync + 'static>(
        &self,
        f: F,
    ) -> SignalHandlerId { ... }
}
Expand description

Trait containing all ChildProxy methods.

§Implementors

Bin, ChildProxy, Pipeline

Provided Methods§

Source

fn child_added(&self, child: &impl IsA<Object>, name: &str)

Emits the child-added signal.

§child

the newly added child

§name

the name of the new child

Source

fn child_removed(&self, child: &impl IsA<Object>, name: &str)

Emits the child-removed signal.

§child

the removed child

§name

the name of the old child

Source

fn child_by_index(&self, index: u32) -> Option<Object>

Fetches a child by its number.

§index

the child’s position in the child list

§Returns

the child object or None if not found (index too high).

Source

fn child_by_name(&self, name: &str) -> Option<Object>

Looks up a child element by the given name.

This virtual method has a default implementation that uses Object together with GstObjectExt::name(). If the interface is to be used with GObjects, this methods needs to be overridden.

§name

the child’s name

§Returns

the child object or None if not found.

Source

fn child_by_name_recurse(&self, name: &str) -> Option<Object>

Looks up a child element by the given full-path name.

Similar to child_by_name(), this method searches and returns a child given a name. The difference is that this method allows a hierarchical path in the form of child1::child2::child3. In the later example this method would return a reference to child3, if found. The name should be made of element names only and should not contain any property names.

§name

the full-path child’s name

§Returns

the child object or None if not found.

Source

fn children_count(&self) -> u32

Gets the number of child objects this parent contains.

§Returns

the number of child objects

Source

fn connect_child_added<F: Fn(&Self, &Object, &str) + Send + Sync + 'static>( &self, f: F, ) -> SignalHandlerId

Will be emitted after the object was added to the child_proxy.

§object

the glib::Object that was added

§name

the name of the new child

Source

fn connect_child_removed<F: Fn(&Self, &Object, &str) + Send + Sync + 'static>( &self, f: F, ) -> SignalHandlerId

Will be emitted after the object was removed from the child_proxy.

§object

the glib::Object that was removed

§name

the name of the old child

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§