Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00025
00026 #ifndef ICL_CORE_THREAD_MUTEX_IMPL_WIN32_H_INCLUDED
00027 #define ICL_CORE_THREAD_MUTEX_IMPL_WIN32_H_INCLUDED
00028
00029 #include <Windows.h>
00030
00031 #include "icl_core_thread/MutexImpl.h"
00032
00033 namespace icl_core {
00034 namespace thread {
00035
00036 class MutexImplWin32 : public MutexImpl, protected virtual icl_core::Noncopyable
00037 {
00038 public:
00039 MutexImplWin32();
00040 virtual ~MutexImplWin32();
00041
00042 virtual bool lock();
00043 virtual bool lock(const TimeStamp& timeout);
00044 virtual bool lock(const TimeSpan& timeout);
00045 virtual bool tryLock();
00046 virtual void unlock();
00047
00048 private:
00049 HANDLE m_mutex;
00050 };
00051
00052 }
00053 }
00054
00055 #endif