#pragma once #if IL2CPP_THREADS_WIN32 #include "os/ErrorCodes.h" #include "os/WaitStatus.h" #include "utils/NonCopyable.h" #include "WindowsHeaders.h" namespace il2cpp { namespace os { class EventImpl : public il2cpp::utils::NonCopyable { public: EventImpl(bool manualReset = false, bool signaled = false); ~EventImpl(); ErrorCode Set(); ErrorCode Reset(); WaitStatus Wait(bool interruptible); WaitStatus Wait(uint32_t ms, bool interruptible); private: HANDLE m_Event; }; } } #endif