X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fsupport%2FFileMonitor.h;h=3f0b91785b3a56917b946b52344781942551d519;hb=0a9735c5f7bbbaa24ac2e3e4fa745c6dfbc95a18;hp=ba84bb549e26d4918040f4df67e37699333f5c9c;hpb=ec94b42f515c771687a2f0b8ba9fb306081aaf47;p=lyx.git diff --git a/src/support/FileMonitor.h b/src/support/FileMonitor.h index ba84bb549e..3f0b91785b 100644 --- a/src/support/FileMonitor.h +++ b/src/support/FileMonitor.h @@ -15,28 +15,31 @@ #ifndef FILEMONITOR_H #define FILEMONITOR_H -#include -#include #include namespace lyx { namespace support { -class FileMonitor : boost::noncopyable { +class FileName; + +class FileMonitor +{ public: /** Once monitoring begins, the file will be monitored every * interval ms. + * + * FIXME: rewrite and simplify using an encapsulation of QFileSystemWatcher. */ - FileMonitor(std::string const & file_with_path, int interval); + FileMonitor(FileName const & file_with_path, int interval); - /// Define an empty d-tor out-of-line to keep boost::scoped_ptr happy. + /// Destructor ~FileMonitor(); /// - void reset(std::string const & file_with_path) const; + void reset(FileName const & file_with_path) const; /// - std::string const & filename() const; + FileName const & filename() const; /// Begin monitoring the file void start() const; @@ -58,11 +61,14 @@ public: boost::signals::connection connect(slot_type const &) const; private: + /// noncopyable + FileMonitor(FileMonitor const &); + void operator=(FileMonitor const &); + /// Use the Pimpl idiom to hide the internals. class Impl; - /// The pointer never changes although *pimpl_'s contents may. - boost::scoped_ptr const pimpl_; + Impl * const pimpl_; }; } // namespace support