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

mitkConditionVariable.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 __mitkConditionVariable_h
00011 #define __mitkConditionVariable_h
00012 
00013 #include "mitkObject.h"
00014 // An abstract class defining the interface of a  implementor
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 

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