18 #ifndef LUNCHBOX_TIMEDLOCK_H
19 #define LUNCHBOX_TIMEDLOCK_H
23 #include <boost/noncopyable.hpp>
27 namespace detail {
class TimedLock; }
55 LUNCHBOX_API
void unset();
63 LUNCHBOX_API
bool trySet();
71 LUNCHBOX_API
bool isSet();
74 detail::TimedLock*
const _impl;
77 #endif //LUNCHBOX_TIMEDLOCK_H
void unset()
Release the lock.
Defines export visibility macros for library Lunchbox.
bool isSet()
Test if the lock is set.
Basic type definitions not provided by the operating system.
bool trySet()
Attempt to set the lock.
A mutex with timeout capabilities.
~TimedLock()
Destruct the lock.
#define LB_TIMEOUT_INDEFINITE
Constant defining 'wait forever' in methods with wait parameters.
bool set(const uint32_t timeout=LB_TIMEOUT_INDEFINITE)
Set the lock.
Abstraction layer and common utilities for multi-threaded programming.
TimedLock()
Construct a new timed lock.