1234567891011121314151617181920212223242526272829303132 |
- #pragma once
- #include "cmConfigure.h"
- #include <functional>
- #include <string>
- #include <vector>
- #include "cm_uv.h"
- class cmRootWatcher;
- class cmFileMonitor
- {
- CM_DISABLE_COPY(cmFileMonitor)
- public:
- cmFileMonitor(uv_loop_t* l);
- ~cmFileMonitor();
- using Callback = std::function<void(const std::string&, int, int)>;
- void MonitorPaths(const std::vector<std::string>& paths, Callback const& cb);
- void StopMonitoring();
- std::vector<std::string> WatchedFiles() const;
- std::vector<std::string> WatchedDirectories() const;
- private:
- cmRootWatcher* Root;
- };
|