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 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, write to the Free Software 00022 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 00023 USA. 00024 ***/ 00025 00026 #include <pulse/mainloop-api.h> 00027 #include <pulse/cdecl.h> 00028 #include <pulse/version.h> 00029 00030 PA_C_DECL_BEGIN 00031 00241 typedef struct pa_threaded_mainloop pa_threaded_mainloop; 00242 00246 pa_threaded_mainloop *pa_threaded_mainloop_new(void); 00247 00251 void pa_threaded_mainloop_free(pa_threaded_mainloop* m); 00252 00254 int pa_threaded_mainloop_start(pa_threaded_mainloop *m); 00255 00258 void pa_threaded_mainloop_stop(pa_threaded_mainloop *m); 00259 00266 void pa_threaded_mainloop_lock(pa_threaded_mainloop *m); 00267 00269 void pa_threaded_mainloop_unlock(pa_threaded_mainloop *m); 00270 00278 void pa_threaded_mainloop_wait(pa_threaded_mainloop *m); 00279 00285 void pa_threaded_mainloop_signal(pa_threaded_mainloop *m, int wait_for_accept); 00286 00291 void pa_threaded_mainloop_accept(pa_threaded_mainloop *m); 00292 00294 int pa_threaded_mainloop_get_retval(pa_threaded_mainloop *m); 00295 00297 pa_mainloop_api* pa_threaded_mainloop_get_api(pa_threaded_mainloop*m); 00298 00300 int pa_threaded_mainloop_in_thread(pa_threaded_mainloop *m); 00301 00302 PA_C_DECL_END 00303 00304 #endif