[][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.

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.

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

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

impl IsClassFor for AppInfoMonitorClass

impl IsClassFor for AppLaunchContextClass

impl IsClassFor for ApplicationClass

impl IsClassFor for ApplicationCommandLineClass

impl IsClassFor for BufferedInputStreamClass

impl IsClassFor for BufferedOutputStreamClass

impl IsClassFor for BytesIconClass

impl IsClassFor for CancellableClass

impl IsClassFor for CharsetConverterClass

impl IsClassFor for ConverterInputStreamClass

impl IsClassFor for ConverterOutputStreamClass

impl IsClassFor for CredentialsClass

impl IsClassFor for DataInputStreamClass

impl IsClassFor for DataOutputStreamClass

impl IsClassFor for DesktopAppInfoClass

impl IsClassFor for EmblemClass

impl IsClassFor for EmblemedIconClass

impl IsClassFor for FileEnumeratorClass

impl IsClassFor for FileIOStreamClass

impl IsClassFor for FileIconClass

impl IsClassFor for FileInfoClass

impl IsClassFor for FileInputStreamClass

impl IsClassFor for FileMonitorClass

impl IsClassFor for FileOutputStreamClass

impl IsClassFor for FilenameCompleterClass

impl IsClassFor for FilterInputStreamClass

impl IsClassFor for FilterOutputStreamClass

impl IsClassFor for IOStreamClass

impl IsClassFor for InetAddressClass

impl IsClassFor for InetAddressMaskClass

impl IsClassFor for InetSocketAddressClass

impl IsClassFor for InputStreamClass

impl IsClassFor for MemoryInputStreamClass

impl IsClassFor for MemoryOutputStreamClass

impl IsClassFor for MenuClass

impl IsClassFor for MenuAttributeIterClass

impl IsClassFor for MenuItemClass

impl IsClassFor for MenuLinkIterClass

impl IsClassFor for MenuModelClass

impl IsClassFor for MountOperationClass

impl IsClassFor for NetworkAddressClass

impl IsClassFor for NetworkServiceClass

impl IsClassFor for NotificationClass

impl IsClassFor for OutputStreamClass

impl IsClassFor for PermissionClass

impl IsClassFor for PropertyActionClass

impl IsClassFor for ProxyAddressClass

impl IsClassFor for ResolverClass

impl IsClassFor for SettingsClass

impl IsClassFor for SettingsBackendClass

impl IsClassFor for SimpleActionClass

impl IsClassFor for SimpleActionGroupClass

impl IsClassFor for SimplePermissionClass

impl IsClassFor for SocketClass

impl IsClassFor for SocketAddressClass

impl IsClassFor for SocketAddressEnumeratorClass

impl IsClassFor for SocketClientClass

impl IsClassFor for SocketConnectionClass

impl IsClassFor for SocketListenerClass

impl IsClassFor for SocketServiceClass

impl IsClassFor for SubprocessClass

impl IsClassFor for SubprocessLauncherClass

impl IsClassFor for TcpConnectionClass

impl IsClassFor for ThemedIconClass

impl IsClassFor for ThreadedSocketServiceClass

impl IsClassFor for TlsCertificateClass

impl IsClassFor for TlsConnectionClass

impl IsClassFor for TlsDatabaseClass

impl IsClassFor for TlsInteractionClass

impl IsClassFor for TlsPasswordClass

impl IsClassFor for UnixInputStreamClass

impl IsClassFor for UnixOutputStreamClass

impl IsClassFor for UnixSocketAddressClass

impl IsClassFor for VfsClass

impl IsClassFor for VolumeMonitorClass

impl IsClassFor for ZlibCompressorClass

impl IsClassFor for ZlibDecompressorClass