PulseAudio  16.0
thread-mainloop.h
Go to the documentation of this file.
1 #ifndef foothreadmainloophfoo
2 #define foothreadmainloophfoo
3 
4 /***
5  This file is part of PulseAudio.
6 
7  Copyright 2006 Lennart Poettering
8  Copyright 2006 Pierre Ossman <ossman@cendio.se> for Cendio AB
9 
10  PulseAudio is free software; you can redistribute it and/or modify
11  it under the terms of the GNU Lesser General Public License as published
12  by the Free Software Foundation; either version 2.1 of the License,
13  or (at your option) any later version.
14 
15  PulseAudio is distributed in the hope that it will be useful, but
16  WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  General Public License for more details.
19 
20  You should have received a copy of the GNU Lesser General Public License
21  along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
22 ***/
23 
24 #include <pulse/mainloop-api.h>
25 #include <pulse/cdecl.h>
26 #include <pulse/version.h>
27 
28 PA_C_DECL_BEGIN
29 
249 
254 
259 
262 
266 
274 
277 
288 
294 void pa_threaded_mainloop_signal(pa_threaded_mainloop *m, int wait_for_accept);
295 
301 
305 
310 
313 
316 
325  void *userdata);
326 
327 PA_C_DECL_END
328 
329 #endif
Main loop abstraction layer.
An abstract mainloop API vtable.
Definition: mainloop-api.h:87
void pa_threaded_mainloop_free(pa_threaded_mainloop *m)
Free a threaded main loop object.
void pa_threaded_mainloop_accept(pa_threaded_mainloop *m)
Accept a signal from the event thread issued with pa_threaded_mainloop_signal().
void pa_threaded_mainloop_stop(pa_threaded_mainloop *m)
Terminate the event loop thread cleanly.
int pa_threaded_mainloop_start(pa_threaded_mainloop *m)
Start the event loop thread.
void pa_threaded_mainloop_lock(pa_threaded_mainloop *m)
Lock the event loop object, effectively blocking the event loop thread from processing events.
int pa_threaded_mainloop_get_retval(const pa_threaded_mainloop *m)
Return the return value as specified with the main loop's pa_mainloop_quit() routine.
pa_threaded_mainloop * pa_threaded_mainloop_new(void)
Allocate a new threaded main loop object.
struct pa_threaded_mainloop pa_threaded_mainloop
An opaque threaded main loop object.
Definition: thread-mainloop.h:248
int pa_threaded_mainloop_in_thread(pa_threaded_mainloop *m)
Returns non-zero when called from within the event loop thread.
pa_mainloop_api * pa_threaded_mainloop_get_api(pa_threaded_mainloop *m)
Return the main loop abstraction layer vtable for this main loop.
void pa_threaded_mainloop_unlock(pa_threaded_mainloop *m)
Unlock the event loop object, inverse of pa_threaded_mainloop_lock().
void pa_threaded_mainloop_set_name(pa_threaded_mainloop *m, const char *name)
Sets the name of the thread.
void pa_threaded_mainloop_wait(pa_threaded_mainloop *m)
Wait for an event to be signalled by the event loop thread.
void pa_threaded_mainloop_once_unlocked(pa_threaded_mainloop *m, void(*callback)(pa_threaded_mainloop *m, void *userdata), void *userdata)
Runs the given callback in the mainloop thread without the lock held.
void pa_threaded_mainloop_signal(pa_threaded_mainloop *m, int wait_for_accept)
Signal all threads waiting for a signalling event in pa_threaded_mainloop_wait().