[][src]Trait gstreamer_video::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 ObjectClass[src]

type Instance = Object

impl IsClassFor for InitiallyUnownedClass[src]

type Instance = InitiallyUnowned

impl IsClassFor for BindingClass[src]

type Instance = Binding

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 AdapterClass

type Instance = Adapter

impl IsClassFor for BaseSrcClass

type Instance = BaseSrc

impl IsClassFor for BaseParseClass

type Instance = BaseParse

impl IsClassFor for BaseTransformClass

type Instance = BaseTransform

impl IsClassFor for AggregatorClass

type Instance = Aggregator

impl IsClassFor for BaseSinkClass

type Instance = BaseSink

impl IsClassFor for AggregatorPadClass

type Instance = AggregatorPad

impl IsClassFor for PushSrcClass

type Instance = PushSrc

Loading content...

Implementors

impl IsClassFor for VideoBufferPoolClass

impl IsClassFor for VideoDecoderClass

impl IsClassFor for VideoEncoderClass

impl IsClassFor for VideoFilterClass

Loading content...