Atlas Game Manager
A game manager for f95 and dlsite written in c++
Loading...
Searching...
No Matches
GameScanner.hpp
Go to the documentation of this file.
1//
2// Created by kj16609 on 6/5/23.
3//
4
5#pragma once
6#ifndef ATLASGAMEMANAGER_GAMESCANNER_HPP
7#define ATLASGAMEMANAGER_GAMESCANNER_HPP
8
9#include <QFuture>
10#include <QFutureWatcher>
11#include <QThreadPool>
12
13#include "GameImportData.hpp"
14
15class GameScanner final : public QObject
16{
17 Q_OBJECT
18
20 QFutureWatcher< void > m_watcher {};
21
22 void mainRunner(
23 QPromise< void >& promise, const std::filesystem::path base, const QString regex, const bool size_folder );
24
25 public:
26
27 std::atomic< uint64_t > directories_left { 0 };
28
29 void start( const std::filesystem::path path, const QString regex, const bool size_folders );
30
31 ~GameScanner() override;
32
33 public slots:
34 void pause();
35 void resume();
36 void abort();
37 bool isRunning();
38 bool isPaused();
39
40 void emitComplete() { emit scanComplete(); }
41
42 signals:
44 void foundGame( const GameImportData data );
47};
48
49#endif //ATLASGAMEMANAGER_GAMESCANNER_HPP
Definition GameScanner.hpp:16
void pause()
Definition GameScanner.cpp:310
void emitComplete()
Definition GameScanner.hpp:40
void scanComplete()
std::atomic< uint64_t > directories_left
Definition GameScanner.hpp:27
void prescanWaiting()
Emitted when the prescanner has reached the point of waiting for the other threads to finish their wo...
void abort()
Definition GameScanner.cpp:320
~GameScanner() override
Definition GameScanner.cpp:335
void resume()
Definition GameScanner.cpp:315
bool isPaused()
Definition GameScanner.cpp:330
QFutureWatcher< void > m_watcher
Definition GameScanner.hpp:20
void mainRunner(QPromise< void > &promise, const std::filesystem::path base, const QString regex, const bool size_folder)
Definition GameScanner.cpp:208
QFuture< void > m_runner_future
Definition GameScanner.hpp:19
void foundGame(const GameImportData data)
bool isRunning()
Definition GameScanner.cpp:325
void start(const std::filesystem::path path, const QString regex, const bool size_folders)
Definition GameScanner.cpp:295
Definition regex.cpp:15
Definition GameImportData.hpp:19