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

TGo4LockGuard.h

Go to the documentation of this file.
00001 //-------------------------------------------------------------
00002 //        Go4 Release Package v3.04-01 (build 30401)
00003 //                      28-November-2008
00004 //---------------------------------------------------------------
00005 //   The GSI Online Offline Object Oriented (Go4) Project
00006 //   Experiment Data Processing at EE department, GSI
00007 //---------------------------------------------------------------
00008 //
00009 //Copyright (C) 2000- Gesellschaft f. Schwerionenforschung, GSI
00010 //                    Planckstr. 1, 64291 Darmstadt, Germany
00011 //Contact:            http://go4.gsi.de
00012 //----------------------------------------------------------------
00013 //This software can be used under the license agreements as stated
00014 //in Go4License.txt file which is part of the distribution.
00015 //----------------------------------------------------------------
00016 #ifndef TGO4LOCKGUARD_H
00017 #define TGO4LOCKGUARD_H
00018 
00039 #include "Rtypes.h"
00040 
00041 class TMutex;
00042 
00043 class TGo4LockGuard {
00044    public:
00045 
00046       TGo4LockGuard(TMutex* mutex=0);
00047 
00048       virtual ~TGo4LockGuard();
00049 
00050       static void LockMainMutex();
00051 
00052       static void UnLockMainMutex();
00053 
00054    private:
00055 
00057       TMutex *fxMutex;        
00058 
00060       Bool_t fbIsLocked;      
00061 
00064       Bool_t fbIsMainMutex;   
00065 
00070       static TMutex* fgxMainMutex;   
00071 
00073       static Int_t fgiLockCount;     
00074 
00075    ClassDef(TGo4LockGuard,1)
00076 };
00077 
00078 #endif
00079 
00080 //----------------------------END OF GO4 SOURCE FILE ---------------------

Generated on Fri Nov 28 12:59:26 2008 for Go4-v3.04-1 by  doxygen 1.4.2