SourceXtractorPlusPlus 0.22
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
SourceXtractor::FileManager Class Referenceabstract
Inheritance diagram for SourceXtractor::FileManager:
Collaboration diagram for SourceXtractor::FileManager:

Public Types

typedef intptr_t FileId
 

Public Member Functions

 FileManager ()
 
virtual ~FileManager ()
 
std::shared_ptr< FileHandler > getFileHandler (const boost::filesystem::path &path)
 
std::pair< FileId, TFD > open (const boost::filesystem::path &path, bool write, std::function< bool(FileId)> request_close)
 
void close (FileId id, TFD &fd)
 
void closeAll ()
 
virtual void notifyUsed (FileId id)
 
bool hasHandler (const boost::filesystem::path &path) const
 
- Public Member Functions inherited from std::enable_shared_from_this< FileManager >
enable_shared_from_this (T... args)
 
operator= (T... args)
 
shared_from_this (T... args)
 
~enable_shared_from_this (T... args)
 

Static Public Member Functions

static std::shared_ptr< FileManagergetDefault ()
 

Protected Types

typedef std::chrono::steady_clock Clock
 
typedef Clock::time_point Timestamp
 

Protected Member Functions

virtual void notifyIntentToOpen (bool write)=0
 
virtual void notifyOpenedFile (FileId)=0
 
virtual void notifyClosedFile (FileId)=0
 

Protected Attributes

std::mutex m_mutex
 
std::map< boost::filesystem::path, std::weak_ptr< FileHandler > > m_handlers
 
std::map< FileId, std::unique_ptr< FileMetadata > > m_files
 

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