-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbash_process_manager.h
44 lines (32 loc) · 975 Bytes
/
bash_process_manager.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#ifndef BASH_PROCESS_MANAGER_H
#define BASH_PROCESS_MANAGER_H
#include <QObject>
#include <QProcess>
#include <QDateTime>
class Bash_Process_Manager : public QObject
{
Q_OBJECT
//Q_PROPERTY(long status NOTIFY slurm_status_changed)
public:
//explicit Bash_Process_Manager(QObject *parent = nullptr);
explicit Bash_Process_Manager(QObject *parent = nullptr);
void startProcess(const QStringList &arguments);
void sendSignal(int signal);
void killProcess();
int slurm_job_id=0;
signals:
void slurmIdReady(const int);
void slurm_status_changed(QString status);
void slotEndTime(QDateTime(time));
private slots:
void handleOutput();
void handleError();
void handleProcessFinished(int exitCode, QProcess::ExitStatus exitStatus);
//void handleError();
//void handleProcessFinished();
private:
QProcess *process;
QString m_status;
bool m_kill_signal = false;
};
#endif // BASH_PROCESS_MANAGER_H