#ifndef FILESCANWORKER_H #define FILESCANWORKER_H #include <QString> #include <QObject> #include <QtConcurrent> #include <utility> #include "paralleldirscanner.h" #include "filesaver.h" typedef std::pair<QString, SaveFileResult> FileScanResult; class FileScanWorker : public QObject, public QRunnable { Q_OBJECT protected: SqliteDbService *dbService; ConcurrentQueue<QString> *queue; int batchsize; std::atomic<bool> *stopToken; public: FileScanWorker(SqliteDbService &db, ConcurrentQueue<QString> &queue, int batchsize, std::atomic<bool> &stopToken); void run() override; signals: void result(FileScanResult); void finished(); }; #endif // FILESCANWORKER_H