24 std::function<void(std::string_view)> added;
25 std::function<void(std::string_view)> removed;
41 using Filter = smallfun::function<
42 std::function<void()>(std::string_view),
43#if defined(_MSC_VER) && !defined(NDEBUG)
48 smallfun::DefaultAlign, smallfun::Methods::Move>;
53 void setWatchedFolder(std::string root) { m_root = root; }
55 void registerWatch(std::string extension, Callbacks callbacks)
57 m_watched[extension].push_back(std::move(callbacks));
60 void registerWatch(std::string extension, AsyncCallbacks callbacks)
62 m_asyncWatched[extension].push_back(std::move(callbacks));
71 void scanAsync(QObject* context);
76 void cancelAsync() noexcept;
83 static
void cancelAll() noexcept;
86 RecursiveWatch(const RecursiveWatch&) = delete;
87 RecursiveWatch& operator=(const RecursiveWatch&) = delete;
94 ossia::string_map<
std::vector<Callbacks>> m_watched;
95 ossia::string_map<
std::vector<AsyncCallbacks>> m_asyncWatched;
96 std::shared_ptr<AsyncScan> m_scan;