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

RIPCLock.h

00001 #ifndef __RIPC_LOCK_H__
00002 #define __RIPC_LOCK_H__
00003 
00004 #include "RIPCPrimitive.h"
00005 
00029 class RIPC_DLL_ENTRY RIPCLock : public virtual RIPCPrimitive { 
00030   public:
00034     void exclusiveLock() { 
00035         priorityExclusiveLock(DEFAULT_RANK);
00036     }
00037     
00045     bool exclusiveLock(unsigned timeout) { 
00046         return priorityExclusiveLock(DEFAULT_RANK, timeout);
00047     }
00048        
00049 
00054     void sharedLock() { 
00055         prioritySharedLock(DEFAULT_RANK);
00056     }
00057 
00065     bool sharedLock(unsigned timeout) { 
00066         return prioritySharedLock(DEFAULT_RANK, timeout);
00067     }
00068         
00069 
00075     virtual void priorityExclusiveLock(int rank) = 0;
00076     
00086     virtual bool priorityExclusiveLock(int rank, unsigned timeout) = 0;
00087 
00094     virtual void prioritySharedLock(int rank) = 0;
00095 
00105     virtual bool prioritySharedLock(int rank, unsigned timeout) = 0;
00106 
00110     virtual void unlock() = 0;
00111 
00112     RIPCPrimitiveType getType() { 
00113         return RIPC_LOCK;
00114     }
00115 };
00116 
00117 #endif
00118 
00119 
00120 
00121 

Generated on Wed Nov 26 14:58:18 2003 for RIPC by doxygen 1.3.5