/*** Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: AuConditionMutex.Win32.hpp Date: 2021-6-12 Author: Reece ***/ #pragma once #include "AuIConditionMutexEx.hpp" #if !defined(_AURUNTIME_GENERICCM) namespace Aurora::Threading::Primitives { struct Win32ConditionMutex : IConditionMutexEx { Win32ConditionMutex(); ~Win32ConditionMutex(); bool TryLock() override; void Lock() override; void Unlock() override; AuUInt GetOSHandle() override; private: SRWLOCK lock_; }; using ConditionMutexImpl = Win32ConditionMutex; } #endif