39 #ifndef BLOCXX_RWLOCKER_HPP_INCLUDE_GUARD_
40 #define BLOCXX_RWLOCKER_HPP_INCLUDE_GUARD_
41 #include "blocxx/BLOCXX_config.h"
50 class BLOCXX_COMMON_API RWLocker
59 void getReadLock(
const Timeout& timeout);
68 void getWriteLock(const Timeout& timeout);
74 void releaseReadLock();
79 void releaseWriteLock();
87 bool operator()(Thread_t x, Thread_t y)
const;
97 class BLOCXX_COMMON_API ReadLock
100 ReadLock(RWLocker& locker,
const Timeout& timeout)
104 m_locker->getReadLock(timeout);
106 ReadLock(RWLocker& locker, UInt32 sTimeout, UInt32 usTimeout=0)
BLOCXX_DEPRECATED;
111 void lock(
const Timeout& timeout)
115 m_locker->getReadLock(timeout);
131 m_locker->releaseReadLock();
158 m_locker->getWriteLock(timeout);
165 void lock(
const Timeout& timeout)
169 m_locker->getWriteLock(timeout);
177 m_locker->getWriteLock(
Timeout::relative(sTimeout +
static_cast<float>(usTimeout) * 1000000.0));
185 m_locker->releaseWriteLock();