// Copyright (C) 2015 Jérôme Leclercq // This file is part of the "Nazara Engine - Core module" // For conditions of distribution and use, see copyright notice in Config.hpp #include #include #include #if defined(NAZARA_PLATFORM_WINDOWS) #include #elif defined(NAZARA_PLATFORM_POSIX) #include #else #error Condition variable has no implementation #endif #include NzConditionVariable::NzConditionVariable() { m_impl = new NzConditionVariableImpl; } NzConditionVariable::~NzConditionVariable() { delete m_impl; } void NzConditionVariable::Signal() { m_impl->Signal(); } void NzConditionVariable::SignalAll() { m_impl->SignalAll(); } void NzConditionVariable::Wait(NzMutex* mutex) { NazaraAssert(mutex != nullptr, "Mutex must be valid"); m_impl->Wait(mutex->m_impl); } bool NzConditionVariable::Wait(NzMutex* mutex, nzUInt32 timeout) { NazaraAssert(mutex != nullptr, "Mutex must be valid"); return m_impl->Wait(mutex->m_impl, timeout); }