00001 #ifndef __RIPC_MUTEX_H__ 00002 #define __RIPC_MUTEX_H__ 00003 00004 #include "RIPCPrimitive.h" 00005 00006 00021 class RIPC_DLL_ENTRY RIPCMutex : public virtual RIPCPrimitive { 00022 public: 00026 void lock() { 00027 priorityLock(DEFAULT_RANK); 00028 } 00029 00037 bool lock(unsigned timeout) { 00038 return priorityLock(DEFAULT_RANK, timeout); 00039 } 00040 00046 virtual void priorityLock(int rank) = 0; 00047 00057 virtual bool priorityLock(int rank, unsigned timeout) = 0; 00058 00063 virtual void unlock() = 0; 00064 00065 RIPCPrimitiveType getType() { 00066 return RIPC_MUTEX; 00067 } 00068 }; 00069 00070 #endif