00001 #if !defined(__MCFILEMUTEX_H_)
00002 #define __MCFILEMUTEX_H_
00003
00004 #ident "@(#)$Id: MCFileMutex.h,v 1.4 2003/05/12 07:07:58 mike Exp $"
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include "mcllib/MCNonCopy.h"
00026 #include "mcllib/MCTestMutex.h"
00027 #include "mcllib/MCByteRegion.h"
00028 #include "mcllib/MCFile.h"
00029
00030 namespace mcllib
00031 {
00038 class MCFileMutex : public MCTestMutex, public MCNonCopy
00039 {
00040 public:
00042 MCFileMutex(const MCFile& file,
00043 const MCByteRegion& region = MCByteRegion());
00045 MCFileMutex(const MCString& fileName,
00046 const MCByteRegion& region = MCByteRegion());
00048 virtual ~MCFileMutex();
00049
00051 virtual void lock();
00053 virtual void unlock();
00054
00059 virtual bool testLock();
00060 private:
00061 MCFile m_file;
00062 MCByteRegion m_region;
00063 };
00064 };
00065
00066 #endif