PulseAudio  9.0
thread-mainloop.h
Go to the documentation of this file.
00001 #ifndef foothreadmainloophfoo
00002 #define foothreadmainloophfoo
00003 
00004 /***
00005   This file is part of PulseAudio.
00006 
00007   Copyright 2006 Lennart Poettering
00008   Copyright 2006 Pierre Ossman <ossman@cendio.se> for Cendio AB
00009 
00010   PulseAudio is free software; you can redistribute it and/or modify
00011   it under the terms of the GNU Lesser General Public License as published
00012   by the Free Software Foundation; either version 2.1 of the License,
00013   or (at your option) any later version.
00014 
00015   PulseAudio is distributed in the hope that it will be useful, but
00016   WITHOUT ANY WARRANTY; without even the implied warranty of
00017   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00018   General Public License for more details.
00019 
00020   You should have received a copy of the GNU Lesser General Public License
00021   along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
00022 ***/
00023 
00024 #include <pulse/mainloop-api.h>
00025 #include <pulse/cdecl.h>
00026 #include <pulse/version.h>
00027 
00028 PA_C_DECL_BEGIN
00029 
00246 typedef struct pa_threaded_mainloop pa_threaded_mainloop;
00247 
00251 pa_threaded_mainloop *pa_threaded_mainloop_new(void);
00252 
00256 void pa_threaded_mainloop_free(pa_threaded_mainloop* m);
00257 
00259 int pa_threaded_mainloop_start(pa_threaded_mainloop *m);
00260 
00263 void pa_threaded_mainloop_stop(pa_threaded_mainloop *m);
00264 
00271 void pa_threaded_mainloop_lock(pa_threaded_mainloop *m);
00272 
00274 void pa_threaded_mainloop_unlock(pa_threaded_mainloop *m);
00275 
00285 void pa_threaded_mainloop_wait(pa_threaded_mainloop *m);
00286 
00292 void pa_threaded_mainloop_signal(pa_threaded_mainloop *m, int wait_for_accept);
00293 
00298 void pa_threaded_mainloop_accept(pa_threaded_mainloop *m);
00299 
00302 int pa_threaded_mainloop_get_retval(pa_threaded_mainloop *m);
00303 
00307 pa_mainloop_api* pa_threaded_mainloop_get_api(pa_threaded_mainloop*m);
00308 
00310 int pa_threaded_mainloop_in_thread(pa_threaded_mainloop *m);
00311 
00313 void pa_threaded_mainloop_set_name(pa_threaded_mainloop *m, const char *name);
00314 
00315 PA_C_DECL_END
00316 
00317 #endif