Trait ICapeStreamImpl

Source
pub trait ICapeStreamImpl: ICapeStream {
    type T: ICapeInterfaceImpl + ICapeStreamImpl;

    const VTABLE: CAPEOPEN_1_2_ICapeStream_VTable = _;

    // Required method
    fn as_interface_pointer(&mut self) -> *mut ICapeInterface;

    // Provided methods
    fn init_interface() -> ICapeInterface { ... }
    fn init<Timpl: ICapeStreamImpl + ICapeInterfaceImpl>(u: &mut Timpl) { ... }
    extern "C" fn raw_stream_type(
        me: *mut c_void,
        stream_type: *mut CAPEOPEN_1_2_CapeStreamType,
    ) -> CapeResult { ... }
    extern "C" fn raw_get_stream_object(
        me: *mut c_void,
        stream_object: *mut *mut ICapeInterface,
    ) -> CapeResult { ... }
    extern "C" fn raw_get_upstream_port_connection(
        me: *mut c_void,
        upstream_port: *mut ICapeString,
        upstream_unit: *mut ICapeString,
    ) -> CapeResult { ... }
    extern "C" fn raw_get_downstream_port_connection(
        me: *mut c_void,
        downstream_port: *mut ICapeString,
        downstream_unit: *mut ICapeString,
    ) -> CapeResult { ... }
}

Provided Associated Constants§

Required Associated Types§

Required Methods§

Provided Methods§

Source

fn init_interface() -> ICapeInterface

prepare CAPEOPEN_1_2_ICapeStream interface and return as generic ICapeInterface pointer

Source

fn init<Timpl: ICapeStreamImpl + ICapeInterfaceImpl>(u: &mut Timpl)

Source

extern "C" fn raw_stream_type( me: *mut c_void, stream_type: *mut CAPEOPEN_1_2_CapeStreamType, ) -> CapeResult

Source

extern "C" fn raw_get_stream_object( me: *mut c_void, stream_object: *mut *mut ICapeInterface, ) -> CapeResult

Source

extern "C" fn raw_get_upstream_port_connection( me: *mut c_void, upstream_port: *mut ICapeString, upstream_unit: *mut ICapeString, ) -> CapeResult

Source

extern "C" fn raw_get_downstream_port_connection( me: *mut c_void, downstream_port: *mut ICapeString, downstream_unit: *mut ICapeString, ) -> CapeResult

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.

Implementors§