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 00029 PA_C_DECL_BEGIN 00030 00240 typedef struct pa_threaded_mainloop pa_threaded_mainloop; 00241 00245 pa_threaded_mainloop *pa_threaded_mainloop_new(void); 00246 00250 void pa_threaded_mainloop_free(pa_threaded_mainloop* m); 00251 00253 int pa_threaded_mainloop_start(pa_threaded_mainloop *m); 00254 00257 void pa_threaded_mainloop_stop(pa_threaded_mainloop *m); 00258 00265 void pa_threaded_mainloop_lock(pa_threaded_mainloop *m); 00266 00268 void pa_threaded_mainloop_unlock(pa_threaded_mainloop *m); 00269 00277 void pa_threaded_mainloop_wait(pa_threaded_mainloop *m); 00278 00284 void pa_threaded_mainloop_signal(pa_threaded_mainloop *m, int wait_for_accept); 00285 00290 void pa_threaded_mainloop_accept(pa_threaded_mainloop *m); 00291 00293 int pa_threaded_mainloop_get_retval(pa_threaded_mainloop *m); 00294 00296 pa_mainloop_api* pa_threaded_mainloop_get_api(pa_threaded_mainloop*m); 00297 00299 int pa_threaded_mainloop_in_thread(pa_threaded_mainloop *m); 00300 00301 PA_C_DECL_END 00302 00303 #endif