4 #include <msp/core/noncopyable.h>
5 #include <msp/fs/path.h>
6 #include <msp/io/eventdispatcher.h>
11 class FileMonitor: NonCopyable
19 bool modified = false;
24 sigc::signal<void, const FS::Path &> signal_file_modified;
27 Private *priv = nullptr;
28 IO::EventDispatcher *event_disp = nullptr;
29 std::vector<MonitoredFile> files;
35 void add_file(const FS::Path &);
36 void remove_file(const FS::Path &);
38 void prepare_file(MonitoredFile &);
39 void cleanup_file(MonitoredFile &);
42 void use_event_dispatcher(IO::EventDispatcher &);
44 void platform_use_event_dispatcher();
48 void tick(const Msp::Time::TimeDelta &);