isle/LEGO1/mxsemaphore.h
2023-12-25 13:23:48 -05:00

26 lines
427 B
C++

#ifndef MX_SEMAPHORE_H
#define MX_SEMAPHORE_H
#include "mxtypes.h"
#include <windows.h>
// SIZE 0x08
class MxSemaphore {
public:
MxSemaphore();
// Inlined only, no offset
~MxSemaphore() { CloseHandle(m_hSemaphore); }
virtual MxResult Init(MxU32 p_initialCount, MxU32 p_maxCount);
void Wait(MxU32 p_timeoutMS);
void Release(MxU32 p_releaseCount);
private:
HANDLE m_hSemaphore; // 0x04
};
#endif // MX_SEMAPHORE_H