47 bool add(
const std::string &realDir,
const std::string &filterName,
const std::string &reportPath,
48 int scanInterval = 1);
51 bool remove(
const std::string &reportPath);
57 bool poll(
Event &out);
63 std::chrono::steady_clock::time_point readyAt;
66#ifndef EVENGINE_WEBGPU
67 void onAdded(
const void *sender,
const Poco::DirectoryWatcher::DirectoryEvent &event);
68 void onRemoved(
const void *sender,
const Poco::DirectoryWatcher::DirectoryEvent &event);
69 void onModified(
const void *sender,
const Poco::DirectoryWatcher::DirectoryEvent &event);
70 void onMovedFrom(
const void *sender,
const Poco::DirectoryWatcher::DirectoryEvent &event);
71 void onMovedTo(
const void *sender,
const Poco::DirectoryWatcher::DirectoryEvent &event);
74 void unsubscribeDelegates(DirWatch *dw);
77 void handlePocoEvent(
const std::string &
kind,
const std::string &itemPath);
78 void enqueue(Event event);
80 mutable std::mutex mu_;
81 std::deque<PendingEvent> queue_;
82 std::unordered_map<std::string, std::unique_ptr<DirWatch>> byDir_;
83 std::unordered_map<std::string, std::string> reportToDir_;