/*** Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: LSEvent.NT.hpp Date: 2021-10-1 Author: Reece ***/ #pragma once #include "LSHandle.hpp" namespace Aurora::IO::Loop { struct LSEvent : ILSEvent, virtual LSHandle { LSEvent(HANDLE h); LSEvent(bool triggered, bool atomicRelease, bool permitMultipleTriggers); ~LSEvent(); bool Set() override; bool Reset() override; virtual bool ILSEvent::IsSignaled() override; virtual bool ILSEvent::WaitOn(AuUInt32 timeout) override; virtual ELoopSource ILSEvent::GetType() override; }; }