[][src]Trait gstreamer_base::prelude::IsClassFor

pub unsafe trait IsClassFor: 'static {
    type Instance: ObjectType;
    fn get_type(&self) -> Type { ... }
fn upcast_ref<U>(&self) -> &U
    where
        U: IsClassFor,
        Self::Instance: IsA<<U as IsClassFor>::Instance>,
        <U as IsClassFor>::Instance: ObjectType
, { ... }
fn upcast_ref_mut<U>(&mut self) -> &mut U
    where
        U: IsClassFor,
        Self::Instance: IsA<<U as IsClassFor>::Instance>,
        <U as IsClassFor>::Instance: ObjectType
, { ... }
fn downcast_ref<U>(&self) -> Option<&U>
    where
        U: IsClassFor,
        <U as IsClassFor>::Instance: IsA<Self::Instance>,
        Self::Instance: ObjectType
, { ... }
fn downcast_ref_mut<U>(&mut self) -> Option<&mut U>
    where
        U: IsClassFor,
        <U as IsClassFor>::Instance: IsA<Self::Instance>,
        Self::Instance: ObjectType
, { ... }
fn from_type(type_: Type) -> Option<ClassRef<Self>> { ... } }

Trait for mapping a class struct type to its corresponding instance type.

Associated Types

type Instance: ObjectType

Corresponding Rust instance type for this class.

Loading content...

Provided methods

fn get_type(&self) -> Type

Get the type id for this class.

fn upcast_ref<U>(&self) -> &U where
    U: IsClassFor,
    Self::Instance: IsA<<U as IsClassFor>::Instance>,
    <U as IsClassFor>::Instance: ObjectType

Casts this class to a reference to a parent type's class.

fn upcast_ref_mut<U>(&mut self) -> &mut U where
    U: IsClassFor,
    Self::Instance: IsA<<U as IsClassFor>::Instance>,
    <U as IsClassFor>::Instance: ObjectType

Casts this class to a mutable reference to a parent type's class.

fn downcast_ref<U>(&self) -> Option<&U> where
    U: IsClassFor,
    <U as IsClassFor>::Instance: IsA<Self::Instance>,
    Self::Instance: ObjectType

Casts this class to a reference to a child type's class or fails if this class is not implementing the child class.

fn downcast_ref_mut<U>(&mut self) -> Option<&mut U> where
    U: IsClassFor,
    <U as IsClassFor>::Instance: IsA<Self::Instance>,
    Self::Instance: ObjectType

Casts this class to a mutable reference to a child type's class or fails if this class is not implementing the child class.

fn from_type(type_: Type) -> Option<ClassRef<Self>>

Gets the class struct corresponding to type_.

This will return None if type_ is not a subclass of Self.

Loading content...

Implementations on Foreign Types

impl IsClassFor for ElementClass

type Instance = Element

impl IsClassFor for TypeFindFactoryClass

type Instance = TypeFindFactory

impl IsClassFor for SystemClockClass

type Instance = SystemClock

impl IsClassFor for AllocatorClass

type Instance = Allocator

impl IsClassFor for StreamCollectionClass

type Instance = StreamCollection

impl IsClassFor for ProxyPadClass

type Instance = ProxyPad

impl IsClassFor for ObjectClass

type Instance = Object

impl IsClassFor for DeviceMonitorClass

type Instance = DeviceMonitor

impl IsClassFor for DeviceClass

type Instance = Device

impl IsClassFor for DeviceProviderFactoryClass

type Instance = DeviceProviderFactory

impl IsClassFor for BufferPoolClass

type Instance = BufferPool

impl IsClassFor for RegistryClass

type Instance = Registry

impl IsClassFor for PluginClass

type Instance = Plugin

impl IsClassFor for PipelineClass

type Instance = Pipeline

impl IsClassFor for BinClass

type Instance = Bin

impl IsClassFor for StreamClass

type Instance = Stream

impl IsClassFor for ClockClass

type Instance = Clock

impl IsClassFor for PadClass

type Instance = Pad

impl IsClassFor for ElementFactoryClass

type Instance = ElementFactory

impl IsClassFor for GhostPadClass

type Instance = GhostPad

impl IsClassFor for PluginFeatureClass

type Instance = PluginFeature

impl IsClassFor for BusClass

type Instance = Bus

impl IsClassFor for DeviceProviderClass

type Instance = DeviceProvider

impl IsClassFor for PadTemplateClass

type Instance = PadTemplate

impl IsClassFor for ObjectClass[src]

type Instance = Object

impl IsClassFor for InitiallyUnownedClass[src]

type Instance = InitiallyUnowned

impl IsClassFor for BindingClass[src]

type Instance = Binding

Loading content...

Implementors

impl IsClassFor for AdapterClass

impl IsClassFor for AggregatorClass

impl IsClassFor for AggregatorPadClass

impl IsClassFor for BaseParseClass

impl IsClassFor for BaseSinkClass

impl IsClassFor for BaseSrcClass

impl IsClassFor for BaseTransformClass

impl IsClassFor for PushSrcClass

Loading content...