A retain-release type of smart pointer.
Definition SmartPtr.hpp:132
Handle for a file or directory.
Definition FileHandle.hpp:46
Interface for accessing file systems.
Definition FileSystem.hpp:28
Interface for file watcher implementations.
Definition FileWatcher.hpp:114
Representation of the local file system on Linux.
Definition LinuxFileSystem.hpp:23
File watcher for the local file system on Linux platforms.
Definition LinuxFileWatcher.hpp:26
HashMap< int, Watcher > mWatchers
Map of watch handle -> file handle.
Definition LinuxFileWatcher.hpp:45
void add(FileHandle &dir, UInt32 events, bool recursive) final
LinuxFileWatcher(LinuxFileWatcher &&) noexcept=delete
void watch(Int32 timeout) final
Int32 mInotify
File handle for the inotify instance.
Definition LinuxFileWatcher.hpp:42
IFileSystem * getFileSystem() const final
Gets file system that this watcher watches for.
RC< LinuxFileSystem > mFileSystem
File system that created this watcher.
Definition LinuxFileWatcher.hpp:39
LinuxFileWatcher(LinuxFileSystem &fileSystem)
Creates a new LinuxFileWatcher instance.
Definition Application.hpp:19
std::unordered_map< Key, T, Hash, KeyEqual, ScopedAllocatorAdaptor< StdAllocator< Pair< const Key, T >, RawAllocator > > > HashMap
HashMap is an associative container that contains key-value pairs with unique keys.
Definition Map.hpp:33
std::int32_t Int32
Definition DataTypes.hpp:21
std::uint32_t UInt32
Definition DataTypes.hpp:23
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25
Watcher entry.
Definition LinuxFileWatcher.hpp:32
bool recursive
Definition LinuxFileWatcher.hpp:35
FileHandle dir
Definition LinuxFileWatcher.hpp:33
UInt32 events
Definition LinuxFileWatcher.hpp:34