// @(#)root/thread:$Id$
// Author: Fons Rademakers   01/07/97

/*************************************************************************
 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#ifndef ROOT_TMutexImp
#define ROOT_TMutexImp


//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TMutexImp                                                            //
//                                                                      //
// This class provides an abstract interface to the OS dependent mutex  //
// classes (TPosixMutex and TWin32Mutex).                               //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_Rtypes
#include "Rtypes.h"
#endif
#ifndef ROOT_TObject
#include "TObject.h"
#endif


class TMutexImp : public TObject {

public:
   TMutexImp() { }
   virtual ~TMutexImp() { }

   virtual Int_t  Lock() = 0;
   virtual Int_t  TryLock() = 0;
   virtual Int_t  UnLock() = 0;

   ClassDef(TMutexImp,0)  // Mutex lock implementation ABC
};

#endif
 TMutexImp.h:1
 TMutexImp.h:2
 TMutexImp.h:3
 TMutexImp.h:4
 TMutexImp.h:5
 TMutexImp.h:6
 TMutexImp.h:7
 TMutexImp.h:8
 TMutexImp.h:9
 TMutexImp.h:10
 TMutexImp.h:11
 TMutexImp.h:12
 TMutexImp.h:13
 TMutexImp.h:14
 TMutexImp.h:15
 TMutexImp.h:16
 TMutexImp.h:17
 TMutexImp.h:18
 TMutexImp.h:19
 TMutexImp.h:20
 TMutexImp.h:21
 TMutexImp.h:22
 TMutexImp.h:23
 TMutexImp.h:24
 TMutexImp.h:25
 TMutexImp.h:26
 TMutexImp.h:27
 TMutexImp.h:28
 TMutexImp.h:29
 TMutexImp.h:30
 TMutexImp.h:31
 TMutexImp.h:32
 TMutexImp.h:33
 TMutexImp.h:34
 TMutexImp.h:35
 TMutexImp.h:36
 TMutexImp.h:37
 TMutexImp.h:38
 TMutexImp.h:39
 TMutexImp.h:40
 TMutexImp.h:41
 TMutexImp.h:42
 TMutexImp.h:43
 TMutexImp.h:44
 TMutexImp.h:45
 TMutexImp.h:46