00001 #line 2736 "./lpsrc/flx_sdl.pak"
00002 #ifndef __FAIO_SDL_EVENT__
00003 #define __FAIO_SDL_EVENT__
00004 #include <flx_sdl_config.hpp>
00005 #include "pthread_work_fifo.hpp"
00006 #include "faio_drv.hpp"
00007 #include "faio_asyncio.hpp"
00008 #include "SDL_mutex.h"
00009 #include "SDL_events.h"
00010
00011 namespace flx { namespace faio {
00012
00013
00014
00015
00016 class SDL_EXTERN faio_sdl_event : public flx_driver_request_base,
00017 public flx::pthread::worker_task {
00018 thread_wakeup fw;
00019 SDL_Event *e;
00020 SDL_mutex *m;
00021 public:
00022 faio_sdl_event() {}
00023 faio_sdl_event(SDL_Event *_e, SDL_mutex *_m);
00024
00025
00026 bool start_async_op(demux::demuxer& demux, flx_drv* drv, void* f);
00027
00028
00029 void doit();
00030 void finished();
00031 };
00032
00033 }}
00034 #endif
00035