3#include <ToolsFoundation/ToolsFoundationDLL.h>
5#if PL_ENABLED(PL_SUPPORTS_DIRECTORY_WATCHER)
7# include <Foundation/Application/Config/FileSystemConfig.h>
8# include <Foundation/IO/DirectoryWatcher.h>
9# include <Foundation/Threading/TaskSystem.h>
14struct plFileSystemWatcherEvent
30class PL_TOOLSFOUNDATION_DLL plFileSystemWatcher
34 ~plFileSystemWatcher();
43 void MainThreadTick();
50 static constexpr plUInt32 s_AddedFrameDelay = 5;
51 static constexpr plUInt32 s_RemovedFrameDelay = 10;
53 static constexpr plUInt32 s_ModifiedFrameDelay = 10;
58 plDirectoryWatcherAction m_Action;
59 plDirectoryWatcherType m_Type;
65 plUInt32 m_uiFrameDelay = 0;
69 void HandleWatcherChange(
const WatcherResult& res);
Definition FileSystemConfig.h:8
An atomic boolean variable. This is just a wrapper around an atomic int32 for convenience.
Definition AtomicInteger.h:100
Definition DynamicArray.h:81
A hybrid array uses in-place storage to handle the first few elements without any allocation....
Definition HybridArray.h:12
Provides a simple mechanism for mutual exclusion to prevent multiple threads from accessing a shared ...
Definition Mutex.h:13
A Shared ptr manages a shared object and destroys that object when no one references it anymore....
Definition SharedPtr.h:10
plStringView represent a read-only sub-string of a larger string, as it can store a dedicated string ...
Definition StringView.h:34
Given out by plTaskSystem::CreateTaskGroup to identify a task group.
Definition TaskSystemDeclarations.h:103
Base class for custom tasks.
Definition Task.h:10
A generic delegate class which supports static functions and member functions.
Definition Delegate.h:76