19 #ifndef POOLTESTS_FILEACCESSOR_H
20 #define POOLTESTS_FILEACCESSOR_H
22 #include <boost/thread/shared_mutex.hpp>
53 template <
typename TFD>
80 template <
typename TFD>
120 template <typename TFD>
152 #define FILEACCESSOR_IMPL
154 #undef FILEACCESSOR_IMPL
156 #endif // POOLTESTS_FILEACCESSOR_H
boost::unique_lock< SharedMutex > UniqueLock
boost::upgrade_lock< SharedMutex > UpgradeLock
FileReadAccessor(TFD &&fd, ReleaseDescriptorCallback release_callback, SharedLock lock)
FileAccessor< TFD > Base_
ReleaseDescriptorCallback m_release_callback
std::function< void(TFD &&)> ReleaseDescriptorCallback
bool isReadOnly() const final
TFD m_fd
The wrapped file descriptor.
virtual ~FileAccessor()=default
Destructor.
FileAccessor(TFD &&fd, ReleaseDescriptorCallback release_callback)
boost::shared_lock< SharedMutex > SharedLock
virtual ~FileReadAccessor()
Destructor.
virtual bool isReadOnly() const =0
FileAccessor< TFD > Base_
boost::shared_mutex SharedMutex
virtual ~FileAccessorBase()=default
boost::upgrade_to_unique_lock< SharedMutex > UpgradeToUniqueLock