logo
pub trait MainloopInnerType {
    type I: MainloopInternalType;
    fn get_ptr(&self) -> *mut Self::I;
fn get_api_ptr(&self) -> *const MainloopApi;
fn get_api(&self) -> &MainloopApi;
fn supports_rtclock(&self) -> bool; unsafe fn new(
        ptr: *mut Self::I,
        api: *const MainloopApi,
        dropfn: fn(_: &mut MainloopInner<Self::I>),
        supports_rtclock: bool
    ) -> MainloopInner<Self::I> { ... } }
Expand description

This enables generic type enforcement with MainloopInner objects, and describes mandatory accessors for the internal pointers, allowing access to these pointers across the generic implementations to work.

Associated Types

Internal mainloop type.

Required methods

Return opaque main loop object pointer.

Warning: The pointer is only valid for the lifetime of this object.

Return raw API object pointer.

Warning: The pointer is only valid for the lifetime of this object.

Return main loop API object pointer.

Returns true if the mainloop implementation supports monotonic based time events.

Provided methods

Create a new instance

Implementors

This is the actual implementation of the ‘inner type’ trait.

It is not possible to replace this with ‘default’ method implementations within the trait itself since the trait does not know about the existence of the struct attributes being accessed.