Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

event_trigger_win32.cpp

Go to the documentation of this file.
00001 
00002 #include "Core/precomp.h"
00003 #include "event_trigger_win32.h"
00004 
00006 // CL_EventTrigger_Win32 construction:
00007 
00008 CL_EventTrigger_Win32::CL_EventTrigger_Win32()
00009 :
00010         wait_handle(NULL)
00011 {
00012         wait_handle = CreateEvent(NULL, FALSE, FALSE, NULL);
00013 }
00014 
00015 CL_EventTrigger_Win32::~CL_EventTrigger_Win32()
00016 {
00017         CloseHandle(wait_handle);
00018 }
00019 
00021 // CL_EventTrigger_Win32 attributes:
00022 
00023 bool CL_EventTrigger_Win32::get_flag() const
00024 {
00025         return WaitForSingleObject(wait_handle, 0) != WAIT_TIMEOUT;
00026 }
00027 
00029 // CL_EventTrigger_Win32 operations:
00030 
00031 void CL_EventTrigger_Win32::reset() const
00032 {
00033         ResetEvent(wait_handle);
00034 }
00035 
00036 void CL_EventTrigger_Win32::set_flag()
00037 {
00038         SetEvent(wait_handle);
00039 }
00040 
00041 bool CL_EventTrigger_Win32::wait(int timeout) const
00042 {
00043         DWORD result = WaitForSingleObject(
00044                 wait_handle,
00045                 (timeout == -1) ? INFINITE : timeout);
00046 
00047         return (result == WAIT_TIMEOUT);
00048 }
00049 
00051 // CL_EventTrigger_Win32 implementation:

Generated at Wed Apr 4 19:54:00 2001 for ClanLib by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001