/*** Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: LSMutex.NT.hpp Date: 2021-10-1 Author: Reece ***/ #pragma once #include "LSHandle.hpp" namespace Aurora::IO::Loop { struct LSMutex : ILSMutex, virtual LSHandle { LSMutex(HANDLE handle); ~LSMutex(); PROXY_LOOP_LOOPSOURCE_EXT_APIS_; bool Unlock() override; bool IsSignaled() override; bool WaitOn(AuUInt32 timeout) override; ELoopSource GetType() override; }; }