00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef __mitkConditionVariable_h
00011 #define __mitkConditionVariable_h
00012
00013 #include "mitkObject.h"
00014
00015 class mitkConditionVariableImp
00016 {
00017 public:
00018 mitkConditionVariableImp(){}
00019 ~mitkConditionVariableImp(){}
00020
00021 virtual void LockMutex()=0;
00022 virtual void UnlockMutex()=0;
00023 virtual void Wait()=0;
00024 virtual void BroadCast()=0;
00025 };
00026
00030 class MITK_COMMON_API mitkConditionVariable : public mitkObject
00031 {
00032 public:
00033 MITK_TYPE(mitkConditionVariable,mitkObject)
00034 mitkConditionVariable();
00035 void LockMutex()
00036 {
00037 m_Imp->LockMutex();
00038 }
00039 void UnlockMutex()
00040 {
00041 m_Imp->UnlockMutex();
00042 }
00043 void Wait()
00044 {
00045 m_Imp->Wait();
00046 }
00047 void BroadCast()
00048 {
00049 m_Imp->BroadCast();
00050 }
00051 protected:
00052 virtual ~mitkConditionVariable();
00053 private:
00054 mitkConditionVariable(const mitkConditionVariable&);
00055 void operator = (const mitkConditionVariable&);
00056 mitkConditionVariableImp *m_Imp;
00057 };
00058 #endif
00059
00060