IsSubclassable

Trait IsSubclassable 

Source
pub unsafe trait IsSubclassable<T>: IsSubclassableDefault<T>
where T: ObjectSubclass,
{ // Provided methods fn class_init(class: &mut Class<Self>) { ... } fn instance_init(instance: &mut InitializingObject<T>) { ... } }
Expand description

Trait for subclassable class structs.

Provided Methods§

Source

fn class_init(class: &mut Class<Self>)

Override the virtual methods of this class for the given subclass and do other class initialization.

This is automatically called during type initialization and must call class_init() of the parent class.

Source

fn instance_init(instance: &mut InitializingObject<T>)

Instance specific initialization.

This is automatically called during instance initialization and must call instance_init() of the parent class.

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.

Implementations on Foreign Types§

Source§

impl<T> IsSubclassable<T> for Allocator
where T: AllocatorImpl,

Source§

impl<T> IsSubclassable<T> for Bin
where T: BinImpl,

Source§

fn class_init(klass: &mut Class<Bin>)

Source§

impl<T> IsSubclassable<T> for BufferPool
where T: BufferPoolImpl,

Source§

impl<T> IsSubclassable<T> for Clock
where T: ClockImpl,

Source§

fn class_init(klass: &mut Class<Clock>)

Source§

impl<T> IsSubclassable<T> for Device
where T: DeviceImpl,

Source§

impl<T> IsSubclassable<T> for DeviceProvider

Source§

impl<T> IsSubclassable<T> for Element
where T: ElementImpl,

Source§

impl<T> IsSubclassable<T> for GhostPad
where T: GhostPadImpl,

Source§

impl<T> IsSubclassable<T> for Object
where T: GstObjectImpl,

Source§

impl<T> IsSubclassable<T> for Pad
where T: PadImpl,

Source§

fn class_init(klass: &mut Class<Pad>)

Source§

impl<T> IsSubclassable<T> for Pipeline
where T: PipelineImpl,

Source§

impl<T> IsSubclassable<T> for ProxyPad
where T: ProxyPadImpl,

Source§

impl<T> IsSubclassable<T> for SystemClock
where T: SystemClockImpl,

Source§

impl<T> IsSubclassable<T> for TaskPool
where T: TaskPoolImpl,

Source§

impl<T> IsSubclassable<T> for Tracer
where T: TracerImpl,

Source§

impl<T> IsSubclassable<T> for Application
where T: ApplicationImpl,

Source§

impl<T> IsSubclassable<T> for FileEnumerator

Source§

impl<T> IsSubclassable<T> for FileMonitor
where T: FileMonitorImpl,

Source§

impl<T> IsSubclassable<T> for InputStream
where T: InputStreamImpl,

Source§

impl<T> IsSubclassable<T> for IOStream
where T: IOStreamImpl,

Source§

impl<T> IsSubclassable<T> for OutputStream

Source§

impl<T> IsSubclassable<T> for SocketControlMessage

Source§

impl<T> IsSubclassable<T> for Vfs
where T: VfsImpl,

Source§

fn class_init(class: &mut Class<Vfs>)

§

impl<T> IsSubclassable<T> for Aggregator
where T: AggregatorImpl,

§

fn class_init(klass: &mut Class<Aggregator>)

§

impl<T> IsSubclassable<T> for AggregatorPad
where T: AggregatorPadImpl,

§

fn class_init(klass: &mut Class<AggregatorPad>)

§

impl<T> IsSubclassable<T> for AudioAggregator
where T: AudioAggregatorImpl,

§

fn class_init(klass: &mut Class<AudioAggregator>)

§

impl<T> IsSubclassable<T> for AudioAggregatorConvertPad
where T: AudioAggregatorConvertPadImpl,

§

impl<T> IsSubclassable<T> for AudioAggregatorPad
where T: AudioAggregatorPadImpl,

§

fn class_init(klass: &mut Class<AudioAggregatorPad>)

§

impl<T> IsSubclassable<T> for AudioBaseSink
where T: AudioBaseSinkImpl,

§

impl<T> IsSubclassable<T> for AudioBaseSrc
where T: AudioBaseSrcImpl,

§

impl<T> IsSubclassable<T> for AudioDecoder
where T: AudioDecoderImpl,

§

fn class_init(klass: &mut Class<AudioDecoder>)

§

impl<T> IsSubclassable<T> for AudioEncoder
where T: AudioEncoderImpl,

§

fn class_init(klass: &mut Class<AudioEncoder>)

§

impl<T> IsSubclassable<T> for AudioFilter
where T: AudioFilterImpl,

§

fn class_init(klass: &mut Class<AudioFilter>)

§

impl<T> IsSubclassable<T> for AudioSink
where T: AudioSinkImpl,

§

fn class_init(klass: &mut Class<AudioSink>)

§

impl<T> IsSubclassable<T> for AudioSrc
where T: AudioSrcImpl,

§

fn class_init(klass: &mut Class<AudioSrc>)

§

impl<T> IsSubclassable<T> for AudioVisualizer
where T: AudioVisualizerImpl,

§

fn class_init(klass: &mut Class<AudioVisualizer>)

§

impl<T> IsSubclassable<T> for BaseParse
where T: BaseParseImpl,

§

fn class_init(klass: &mut Class<BaseParse>)

§

impl<T> IsSubclassable<T> for BaseSink
where T: BaseSinkImpl,

§

fn class_init(klass: &mut Class<BaseSink>)

§

impl<T> IsSubclassable<T> for BaseSrc
where T: BaseSrcImpl,

§

fn class_init(klass: &mut Class<BaseSrc>)

§

fn instance_init(instance: &mut InitializingObject<T>)

§

impl<T> IsSubclassable<T> for BaseTransform
where T: BaseTransformImpl,

§

fn class_init(klass: &mut Class<BaseTransform>)

§

impl<T> IsSubclassable<T> for PushSrc
where T: PushSrcImpl,

§

fn class_init(klass: &mut Class<PushSrc>)

§

impl<T> IsSubclassable<T> for VideoAggregator
where T: VideoAggregatorImpl,

§

fn class_init(klass: &mut Class<VideoAggregator>)

§

impl<T> IsSubclassable<T> for VideoAggregatorConvertPad
where T: VideoAggregatorConvertPadImpl,

§

impl<T> IsSubclassable<T> for VideoAggregatorPad
where T: VideoAggregatorPadImpl,

§

fn class_init(klass: &mut Class<VideoAggregatorPad>)

§

impl<T> IsSubclassable<T> for VideoDecoder
where T: VideoDecoderImpl,

§

fn class_init(klass: &mut Class<VideoDecoder>)

§

impl<T> IsSubclassable<T> for VideoEncoder
where T: VideoEncoderImpl,

§

fn class_init(klass: &mut Class<VideoEncoder>)

§

impl<T> IsSubclassable<T> for VideoFilter
where T: VideoFilterImpl,

§

fn class_init(klass: &mut Class<VideoFilter>)

§

impl<T> IsSubclassable<T> for VideoSink
where T: VideoSinkImpl,

§

fn class_init(klass: &mut Class<VideoSink>)

Implementors§