Add class to coordinate automatic library updates

This commit is contained in:
Luis Ángel San Martín
2023-08-13 10:33:24 +02:00
parent 86e0e7be0a
commit afa9763499
3 changed files with 149 additions and 0 deletions

View File

@ -0,0 +1,34 @@
#ifndef LIBRARIES_UPDATE_COORDINATOR_H
#define LIBRARIES_UPDATE_COORDINATOR_H
#include <QtCore>
class YACReaderLibraries;
class LibrariesUpdateCoordinator : public QObject
{
Q_OBJECT
public:
LibrariesUpdateCoordinator(QSettings *settings, YACReaderLibraries &libraries, QObject *parent = 0);
void updateLibraries();
signals:
void updateStarted();
void updateEnded();
private slots:
void checkUpdatePolicy();
void startUpdate();
void updateLibrary(const QString &path);
private:
QSettings *settings;
YACReaderLibraries &libraries;
QTimer *timer;
QElapsedTimer elapsedTimer;
std::future<void> updateFuture;
};
#endif // LIBRARIES_UPDATE_COORDINATOR_H