[][src]Trait gstreamer_gl::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 VideoEncoderClass

type Instance = VideoEncoder

impl IsClassFor for VideoBufferPoolClass

type Instance = VideoBufferPool

impl IsClassFor for VideoDecoderClass

type Instance = VideoDecoder

impl IsClassFor for VideoFilterClass

type Instance = VideoFilter

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 GLBaseFilterClass

impl IsClassFor for GLColorConvertClass

impl IsClassFor for GLContextClass

impl IsClassFor for GLDisplayClass

impl IsClassFor for GLDisplayEGLClass

impl IsClassFor for GLDisplayWaylandClass

impl IsClassFor for GLDisplayX11Class

impl IsClassFor for GLFramebufferClass

impl IsClassFor for GLOverlayCompositorClass

impl IsClassFor for GLSLStageClass

impl IsClassFor for GLShaderClass

impl IsClassFor for GLUploadClass

impl IsClassFor for GLViewConvertClass

impl IsClassFor for GLWindowClass

Loading content...