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, 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