00001 00002 #include "Core/precomp.h" 00003 #include "API/Core/System/event_listener.h" 00004 #include "event_listener_generic.h" 00005 00006 #ifdef WIN32 00007 #include "Core/System/Win32/event_listener_win32.h" 00008 #else 00009 #include "Core/System/Unix/event_listener_unix.h" 00010 #endif 00011 00013 // CL_EventListener construction: 00014 00015 CL_EventListener::CL_EventListener() 00016 : impl(NULL) 00017 { 00018 #ifdef WIN32 00019 impl = new CL_EventListener_Win32(this); 00020 #else 00021 impl = new CL_EventListener_Unix(this); 00022 #endif 00023 } 00024 00025 CL_EventListener::CL_EventListener(CL_EventTrigger *trigger) 00026 : impl(NULL) 00027 { 00028 #ifdef WIN32 00029 impl = new CL_EventListener_Win32(this); 00030 #else 00031 impl = new CL_EventListener_Unix(this); 00032 #endif 00033 00034 add_trigger(trigger); 00035 } 00036 00037 CL_EventListener::~CL_EventListener() 00038 { 00039 delete impl; 00040 } 00041 00043 // CL_EventListener attributes: 00044 00046 // CL_EventListener operations: 00047 00048 void CL_EventListener::add_trigger(CL_EventTrigger *trigger) 00049 { 00050 if (impl) impl->add_trigger(trigger); 00051 } 00052 00053 void CL_EventListener::remove_trigger(CL_EventTrigger *trigger) 00054 { 00055 if (impl) impl->remove_trigger(trigger); 00056 } 00057 00058 void CL_EventListener::clear() 00059 { 00060 if (impl) impl->clear(); 00061 } 00062 00063 void CL_EventListener::reset_all() 00064 { 00065 if (impl) impl->reset_all(); 00066 } 00067 00068 bool CL_EventListener::wait(int timeout) 00069 { 00070 if (impl) return impl->wait(timeout); 00071 else return false; 00072 } 00073 00075 // CL_EventListener implementation:
1.2.6 written by Dimitri van Heesch,
© 1997-2001