19 #ifndef LIB_QUENTIER_UTILITY_FILE_SYSTEM_WATCHER_H
20 #define LIB_QUENTIER_UTILITY_FILE_SYSTEM_WATCHER_H
22 #include <quentier/utility/Macros.h>
23 #include <quentier/utility/Linkage.h>
25 #include <QStringList>
27 #define FILE_SYSTEM_WATCHER_DEFAULT_REMOVAL_TIMEOUT_MSEC (500)
31 QT_FORWARD_DECLARE_CLASS(FileSystemWatcherPrivate)
37 explicit FileSystemWatcher(
const int removalTimeoutMSec = FILE_SYSTEM_WATCHER_DEFAULT_REMOVAL_TIMEOUT_MSEC,
38 QObject * parent = Q_NULLPTR);
39 explicit FileSystemWatcher(
const QStringList & paths,
const int removalTimeoutMSec = FILE_SYSTEM_WATCHER_DEFAULT_REMOVAL_TIMEOUT_MSEC,
40 QObject * parent = Q_NULLPTR);
44 void addPath(
const QString & path);
45 void addPaths(
const QStringList & paths);
47 QStringList directories()
const;
48 QStringList files()
const;
50 void removePath(
const QString & path);
51 void removePaths(
const QStringList & paths);
54 void directoryChanged(
const QString & path);
55 void directoryRemoved(
const QString & path);
57 void fileChanged(
const QString & path);
58 void fileRemoved(
const QString & path);
64 FileSystemWatcherPrivate * d_ptr;
70 #endif // LIB_QUENTIER_UTILITY_FILE_SYSTEM_WATCHER_H