[−][src]Struct libpulse_binding::mainloop::api::MainloopInner
Mainloop inner wrapper.
This contains the actual main loop object pointers, holding both the pointer to the actual opaque main loop C object, and the pointer to the associated API vtable.
An instance of this type will be held, in an Rc
ref counted wrapper both in an outer Mainloop
wrapper, and by all event objects. With event objects holding a ref-counted copy, this both
gives event objects access to the API pointer, which they need, and also it allows us to ensure
that event objects do not outlive the main loop object (which internally owns the API object),
and thus ensures correct destruction order of event and main loop objects.
Fields
ptr: *mut T
An opaque main loop object.
api: *const MainloopApi
The abstract main loop API vtable for the GLIB main loop object. No need to free this API as it is owned by the loop and is destroyed when the loop is freed.
dropfn: fn(_: &mut MainloopInner<T>)
All implementations must provide a drop method, to be called from an actual drop call.
supports_rtclock: bool
Whether or not the implementation supports monotonic based time events. (true
if so).
Trait Implementations
impl<T> Drop for MainloopInner<T> where
T: MainloopInternalType,
[src]
T: MainloopInternalType,
impl<T> MainloopInnerType for MainloopInner<T> where
T: MainloopInternalType,
[src]
T: MainloopInternalType,
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.
type I = T
pub fn get_ptr(&self) -> *mut T
[src]
Gets opaque main loop object pointer.
pub fn get_api(&self) -> &MainloopApi
[src]
Gets main loop API object pointer.
pub fn supports_rtclock(&self) -> bool
[src]
Auto Trait Implementations
impl<T> RefUnwindSafe for MainloopInner<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> !Send for MainloopInner<T>
impl<T> !Sync for MainloopInner<T>
impl<T> Unpin for MainloopInner<T>
impl<T> UnwindSafe for MainloopInner<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,