[client,sdl] wrap WinPR event in class

This commit is contained in:
Armin Novak
2023-05-30 21:04:53 +02:00
committed by Martin Fleisz
parent ccbcc4cb65
commit 68995ddffb
4 changed files with 56 additions and 35 deletions

View File

@@ -194,3 +194,33 @@ void CriticalSection::unlock()
{
LeaveCriticalSection(&_section);
}
WinPREvent::WinPREvent(bool initial)
: _handle(CreateEventA(nullptr, TRUE, initial ? TRUE : FALSE, nullptr))
{
}
WinPREvent::~WinPREvent()
{
CloseHandle(_handle);
}
void WinPREvent::set()
{
SetEvent(_handle);
}
void WinPREvent::clear()
{
ResetEvent(_handle);
}
bool WinPREvent::isSet() const
{
return WaitForSingleObject(_handle, 0) == WAIT_OBJECT_0;
}
HANDLE WinPREvent::handle() const
{
return _handle;
}