Files
squeezelite-esp32/components/spotify/cspot/bell/include/platform/win32/WrappedMutex.h
Philippe G 898998efb0 big merge
2021-12-18 21:04:23 -08:00

40 lines
663 B
C++

#ifndef WIN32_WRAPPED_MUTEX_H
#define WIN32_WRAPPED_MUTEX_H
#include <Windows.h>
/**
* Wraps a windows mutex.
* Header only since all the methods call one function, we want them to be inlined
**/
class WrappedMutex
{
public:
WrappedMutex()
{
this->_mutex = CreateMutex(
NULL, // default security attributes
FALSE, // initially not owned
NULL); // unnamed mutex
}
~WrappedMutex()
{
CloseHandle(_mutex);
}
void lock()
{
WaitForSingleObject(_mutex, INFINITE);
}
void unlock()
{
ReleaseMutex(_mutex);
}
private:
HANDLE _mutex;
};
#endif