File indexing completed on 2023-05-30 09:06:28
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2011 Dennis Nienhüser <nienhueser@kde.org> 0004 // 0005 0006 #ifndef JOBMANAGER_H 0007 #define JOBMANAGER_H 0008 0009 #include "jobqueue.h" 0010 #include "region.h" 0011 0012 #include <QObject> 0013 #include <QVector> 0014 0015 struct PendingJob { 0016 Region m_region; 0017 QString m_transport; 0018 QString m_profile; 0019 }; 0020 0021 class JobManager : public QObject 0022 { 0023 Q_OBJECT 0024 public: 0025 explicit JobManager(QObject *parent = nullptr); 0026 0027 void run(); 0028 0029 void setRegionsFile(const QString &filename); 0030 0031 void setResumeId(const QString &resumeId); 0032 0033 void setJobParameters(const JobParameters ¶meters); 0034 0035 private Q_SLOTS: 0036 void update(); 0037 0038 private: 0039 void addJob(const PendingJob ®ion); 0040 0041 JobQueue m_queue; 0042 0043 JobParameters m_jobParameters; 0044 0045 QFileInfo m_monavSettings; 0046 0047 QVector<PendingJob> m_pendingJobs; 0048 0049 QString m_resumeId; 0050 }; 0051 0052 #endif // JOBMANAGER_H