[−][src]Struct libpulse_glib_binding::Mainloop
This acts as a safe interface to the internal PA Mainloop.
The mainloop object pointers are further enclosed here in a ref counted wrapper, allowing this outer wrapper to have clean methods for creating event objects, which can cleanly pass a copy of the inner ref counted mainloop object to them. Giving this to events serves two purposes, firstly because they need the API pointer, secondly, it ensures that event objects do not outlive the mainloop object.
Fields
_inner: Rc<MainloopInner<MainloopInternal>>
The ref-counted inner data.
Methods
impl Mainloop
[src]
pub fn new(context: Option<&mut MainContext>) -> Option<Self>
[src]
Creates a new GLIB main loop object for the specified GLIB main loop context.
Takes an argument context
for the glib::MainContext
to use. If context is None
the
default context is used.
This returns the object in an Rc wrapper, allowing multiple references to be held, which allows event objects to hold one, thus ensuring they do not outlive it.
pub fn get_api<'a>(&self) -> &'a MainloopApi
[src]
Gets the abstract main loop abstraction layer vtable for this main loop.
No need to free the API as it is owned by the loop and is destroyed when the loop is freed.
Talking to PA directly with C requires fetching this pointer explicitly via this function. This is actually unnecessary through this binding. The pointer is retrieved automatically upon Mainloop creation, stored internally, and automatically obtained from it by functions that need it.
Trait Implementations
impl Mainloop for Mainloop
[src]
type MI = MainloopInner<MainloopInternal>
fn inner(&self) -> Rc<MainloopInner<MainloopInternal>>
[src]
fn new_io_event(
&mut self,
fd: i32,
events: u32,
callback: Box<dyn FnMut(IoEventRef<Self::MI>, i32, u32) + 'static>
) -> Option<IoEvent<Self::MI>>
[src]
&mut self,
fd: i32,
events: u32,
callback: Box<dyn FnMut(IoEventRef<Self::MI>, i32, u32) + 'static>
) -> Option<IoEvent<Self::MI>>
fn new_timer_event(
&mut self,
tv: &UnixTs,
callback: Box<dyn FnMut(TimeEventRef<Self::MI>) + 'static>
) -> Option<TimeEvent<Self::MI>>
[src]
&mut self,
tv: &UnixTs,
callback: Box<dyn FnMut(TimeEventRef<Self::MI>) + 'static>
) -> Option<TimeEvent<Self::MI>>
fn new_timer_event_rt(
&mut self,
t: MonotonicTs,
callback: Box<dyn FnMut(TimeEventRef<Self::MI>) + 'static>
) -> Option<TimeEvent<Self::MI>>
[src]
&mut self,
t: MonotonicTs,
callback: Box<dyn FnMut(TimeEventRef<Self::MI>) + 'static>
) -> Option<TimeEvent<Self::MI>>
fn new_deferred_event(
&mut self,
callback: Box<dyn FnMut(DeferEventRef<Self::MI>) + 'static>
) -> Option<DeferEvent<Self::MI>>
[src]
&mut self,
callback: Box<dyn FnMut(DeferEventRef<Self::MI>) + 'static>
) -> Option<DeferEvent<Self::MI>>
fn once_event(&mut self, callback: Box<dyn FnMut() + 'static>)
[src]
fn quit(&mut self, retval: Retval)
[src]
impl MainloopSignals for Mainloop
[src]
fn init_signals(&mut self) -> Result<(), PAErr>
[src]
fn signals_done(&self)
[src]
Auto Trait Implementations
impl !RefUnwindSafe for Mainloop
impl !Send for Mainloop
impl !Sync for Mainloop
impl Unpin for Mainloop
impl UnwindSafe for Mainloop
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,
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.
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>,