CCIMXDesktop
 
Loading...
Searching...
No Matches
FileMonitor.h
1#ifndef FILEMONITOR_H
2#define FILEMONITOR_H
3#include <QObject>
4#include <QSet>
5class QMutex;
6class FileMonitor : public QObject {
7 Q_OBJECT
8 static constexpr const int MONIT_INTV = 2000;
9
10public:
11 explicit FileMonitor(const QString& path, QObject* parent = nullptr);
12 void setMonitorDirent(const QString& newPath);
13 QString monitorDirent() const;
14 void setMonitorScanInterval(const int interval);
15 int monitorScanInterval() const;
16
17 void setMonitoringState(bool st);
18 bool monitoringState() const;
19
20signals:
21 void newFiles(const QStringList& files);
22 void deletedFiles(const QStringList& files);
23 void monitoringChanged(const QString& path);
24 void monitoringIntervalChanged(const int new_interval);
25 void monitoringStateChanged(const bool new_state);
26
27private slots:
28 void processCompareSession();
29
30private:
31 QString monitoring_folder;
32 QTimer* timer_scan;
33 QSet<QString> scanFiles() const;
34 QSet<QString> prevFiles;
35 std::shared_ptr<QMutex> mutex;
36};
37
38#endif // FILEMONITOR_H
Definition FileMonitor.h:6