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 00245 typedef struct pa_threaded_mainloop pa_threaded_mainloop; 00246 00250 pa_threaded_mainloop *pa_threaded_mainloop_new(void); 00251 00255 void pa_threaded_mainloop_free(pa_threaded_mainloop* m); 00256 00258 int pa_threaded_mainloop_start(pa_threaded_mainloop *m); 00259 00262 void pa_threaded_mainloop_stop(pa_threaded_mainloop *m); 00263 00270 void pa_threaded_mainloop_lock(pa_threaded_mainloop *m); 00271 00273 void pa_threaded_mainloop_unlock(pa_threaded_mainloop *m); 00274 00284 void pa_threaded_mainloop_wait(pa_threaded_mainloop *m); 00285 00291 void pa_threaded_mainloop_signal(pa_threaded_mainloop *m, int wait_for_accept); 00292 00297 void pa_threaded_mainloop_accept(pa_threaded_mainloop *m); 00298 00300 int pa_threaded_mainloop_get_retval(pa_threaded_mainloop *m); 00301 00305 pa_mainloop_api* pa_threaded_mainloop_get_api(pa_threaded_mainloop*m); 00306 00308 int pa_threaded_mainloop_in_thread(pa_threaded_mainloop *m); 00309 00310 PA_C_DECL_END 00311 00312 #endif