00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef __mitkMutex_h
00011 #define __mitkMutex_h
00012
00013 #include "mitkObject.h"
00014
00015 class mitkMutexImp
00016 {
00017 public:
00018 mitkMutexImp(){}
00019 virtual ~mitkMutexImp(){}
00020 virtual void Lock()=0;
00021 virtual void Unlock()=0;
00022 };
00023
00027 class MITK_COMMON_API mitkMutex: public mitkObject
00028 {
00029 public:
00030 MITK_TYPE(mitkMutex,mitkObject)
00031 mitkMutex();
00035 void Lock()
00036 {
00037 m_Imp->Lock();
00038 }
00042 void Unlock()
00043 {
00044 m_Imp->Unlock();
00045 }
00046 protected:
00047 virtual ~mitkMutex();
00048 private:
00049 mitkMutex(const mitkMutex&);
00050 void operator = (const mitkMutex&);
00051 mitkMutexImp *m_Imp;
00052 };
00053
00054 #endif
00055