Swiftray  1.0
base-job.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <QMutex>
4 #include <QThread>
5 #include <QVariant>
6 
11 class BaseJob : public QThread {
12 Q_OBJECT
13 public:
14  enum class Status {
15  READY,
16  STARTING,
17  RUNNING,
18  PAUSED,
19  PAUSING,
20  RESUMING,
21  FINISHED,
24  };
25 
26  BaseJob(QObject *parent, QString endpoint, QVariant data);
27 
28  ~BaseJob();
29 
30  virtual void start();
31 
32  virtual void pause();
33 
34  virtual void resume();
35 
36  virtual int progress();
37 
38  Status status();
39 
40 signals:
41 
42  void error(const QString &error_message);
43 
44  void timeout(const QString &s);
45 
46 protected:
47 
48  void setStatus(Status status);
49 
50  QMutex mutex_;
51 
53 };
A class template for connection senders, we opensource this part to allow inserting GPL-licensed midd...
Definition: base-job.h:11
~BaseJob()
Definition: base-job.cpp:6
virtual void start()
Definition: base-job.cpp:18
Status
Definition: base-job.h:14
virtual int progress()
Definition: base-job.cpp:16
QMutex mutex_
Definition: base-job.h:50
void setStatus(Status status)
Definition: base-job.cpp:12
void error(const QString &error_message)
Status status_
Definition: base-job.h:52
virtual void pause()
Definition: base-job.cpp:20
BaseJob(QObject *parent, QString endpoint, QVariant data)
Definition: base-job.cpp:3
void timeout(const QString &s)
Status status()
Definition: base-job.cpp:8
virtual void resume()
Definition: base-job.cpp:22