Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members

mitkMutex.h

00001 /*=========================================================================
00002 
00003   Program:   3DMed
00004   Date:      $Date: 2014-02-25 18:30:00 +0800 $
00005   Version:   $Version: 4.6.0 $
00006   Copyright: MIPG, Institute of Automation, Chinese Academy of Sciences
00007 
00008 =========================================================================*/
00009 
00010 #ifndef __mitkMutex_h
00011 #define __mitkMutex_h
00012 
00013 #include "mitkObject.h"
00014 // An abstract class defining the interface of a mutex implementor
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 

Generated on Tue Feb 25 15:00:37 2014 for MITK (Medical Imaging ToolKit) by  doxygen 1.4.3