00001 #ifndef foothreadmainloophfoo 00002 #define foothreadmainloophfoo 00003 00004 /* $Id: thread-mainloop.h 1971 2007-10-28 19:13:50Z lennart $ */ 00005 00006 /*** 00007 This file is part of PulseAudio. 00008 00009 Copyright 2006 Lennart Poettering 00010 Copyright 2006 Pierre Ossman <ossman@cendio.se> for Cendio AB 00011 00012 PulseAudio is free software; you can redistribute it and/or modify 00013 it under the terms of the GNU Lesser General Public License as published 00014 by the Free Software Foundation; either version 2 of the License, 00015 or (at your option) any later version. 00016 00017 PulseAudio is distributed in the hope that it will be useful, but 00018 WITHOUT ANY WARRANTY; without even the implied warranty of 00019 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00020 General Public License for more details. 00021 00022 You should have received a copy of the GNU Lesser General Public License 00023 along with PulseAudio; if not, write to the Free Software 00024 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 00025 USA. 00026 ***/ 00027 00028 #include <pulse/mainloop-api.h> 00029 #include <pulse/cdecl.h> 00030 00031 PA_C_DECL_BEGIN 00032 00242 typedef struct pa_threaded_mainloop pa_threaded_mainloop; 00243 00247 pa_threaded_mainloop *pa_threaded_mainloop_new(void); 00248 00252 void pa_threaded_mainloop_free(pa_threaded_mainloop* m); 00253 00255 int pa_threaded_mainloop_start(pa_threaded_mainloop *m); 00256 00259 void pa_threaded_mainloop_stop(pa_threaded_mainloop *m); 00260 00267 void pa_threaded_mainloop_lock(pa_threaded_mainloop *m); 00268 00270 void pa_threaded_mainloop_unlock(pa_threaded_mainloop *m); 00271 00279 void pa_threaded_mainloop_wait(pa_threaded_mainloop *m); 00280 00286 void pa_threaded_mainloop_signal(pa_threaded_mainloop *m, int wait_for_accept); 00287 00292 void pa_threaded_mainloop_accept(pa_threaded_mainloop *m); 00293 00295 int pa_threaded_mainloop_get_retval(pa_threaded_mainloop *m); 00296 00298 pa_mainloop_api* pa_threaded_mainloop_get_api(pa_threaded_mainloop*m); 00299 00301 int pa_threaded_mainloop_in_thread(pa_threaded_mainloop *m); 00302 00303 PA_C_DECL_END 00304 00305 #endif