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 00248 typedef struct pa_threaded_mainloop pa_threaded_mainloop; 00249 00253 pa_threaded_mainloop *pa_threaded_mainloop_new(void); 00254 00258 void pa_threaded_mainloop_free(pa_threaded_mainloop* m); 00259 00261 int pa_threaded_mainloop_start(pa_threaded_mainloop *m); 00262 00265 void pa_threaded_mainloop_stop(pa_threaded_mainloop *m); 00266 00273 void pa_threaded_mainloop_lock(pa_threaded_mainloop *m); 00274 00276 void pa_threaded_mainloop_unlock(pa_threaded_mainloop *m); 00277 00287 void pa_threaded_mainloop_wait(pa_threaded_mainloop *m); 00288 00294 void pa_threaded_mainloop_signal(pa_threaded_mainloop *m, int wait_for_accept); 00295 00300 void pa_threaded_mainloop_accept(pa_threaded_mainloop *m); 00301 00303 int pa_threaded_mainloop_get_retval(pa_threaded_mainloop *m); 00304 00308 pa_mainloop_api* pa_threaded_mainloop_get_api(pa_threaded_mainloop*m); 00309 00311 int pa_threaded_mainloop_in_thread(pa_threaded_mainloop *m); 00312 00313 PA_C_DECL_END 00314 00315 #endif