SourceXtractorPlusPlus 1.0.3
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
SourceXtractor::FileHandler Class Reference
Collaboration diagram for SourceXtractor::FileHandler:

Classes

struct  FdWrapper
struct  TypedFdWrapper

Public Types

enum  Mode

Public Member Functions

virtual ~FileHandler ()
std::unique_ptr< FileAccessor< TFD > > getAccessor (Mode mode=kRead)
bool isReadOnly () const

Public Attributes

 kRead
 kWrite
 kTry
 kTryRead
 kTryWrite

Private Types

typedef typename FileAccessorBase::SharedMutex SharedMutex
typedef typename FileAccessorBase::SharedLock SharedLock
typedef typename FileAccessorBase::UniqueLock UniqueLock

Private Member Functions

 FileHandler (const boost::filesystem::path &path, std::weak_ptr< FileManager > file_manager)
bool close (FileManager::FileId id)
std::unique_ptr< FileAccessor< TFD > > getWriteAccessor (bool try_lock)
std::unique_ptr< FileAccessor< TFD > > getReadAccessor (bool try_lock)

Private Attributes

std::mutex m_handler_mutex
boost::filesystem::path m_path
std::weak_ptr< FileManagerm_file_manager
SharedMutex m_file_mutex
std::map< FileManager::FileId, std::unique_ptr< FdWrapper > > m_available_fd
bool m_is_readonly

Friends

friend class FileManager

The documentation for this class was generated from the following files: