// 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 #if defined(NAZARA_PLATFORM_WINDOWS) #include #elif defined(NAZARA_PLATFORM_POSIX) #include #else #error Lack of implementation: Semaphore #endif #include namespace Nz { Semaphore::Semaphore(unsigned int count) { m_impl = new SemaphoreImpl(count); } Semaphore::~Semaphore() { delete m_impl; } unsigned int Semaphore::GetCount() const { return m_impl->GetCount(); } void Semaphore::Post() { m_impl->Post(); } void Semaphore::Wait() { m_impl->Wait(); } bool Semaphore::Wait(UInt32 timeout) { return m_impl->Wait(timeout); } }