-
Notifications
You must be signed in to change notification settings - Fork 1
/
SessionsWindow.h
75 lines (59 loc) · 1.65 KB
/
SessionsWindow.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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#ifndef SESSIONS_WINDOW_H
#define SESSIONS_WINDOW_H
#include <QApplication>
#include <QMainWindow>
#include <QString>
#include <QList>
#include <QMap>
#include <QSet>
class QCheckBox;
class QPushButton;
class QTimerEvent;
struct JobDefinition;
class SessionListWidget;
class LoginDialog;
class AddSessionDialog;
class SubmitJobThread;
class SSHCredentials;
class SSHCommand;
class BusyButton;
class SessionsWindow : public QMainWindow
{
Q_OBJECT
public:
SessionsWindow();
virtual ~SessionsWindow();
virtual void show();
public slots:
void authorized(SSHCredentials *credentials);
void commandFailed(QString const& error);
void updateSessionList();
void toggleShowFinished(int state);
void vncSessionClosed(int screen);
void addSession();
void submitJobs(QSet<int> const& jobNums,
QString const& imagePath,
int numCpus,
QString const& memory,
QString const& jobName,
QString const& startupScript);
void submitComplete();
// slots from the session list
void sessionsUpdated();
void viewSession(JobDefinition *job);
void removeSession(JobDefinition *job);
void resumeSession(JobDefinition *job);
void releaseSession(JobDefinition *job);
protected:
virtual void timerEvent(QTimerEvent *);
private:
SSHCredentials *sshCredentials;
AddSessionDialog *sessionDlg;
SubmitJobThread *jobThread;
SessionListWidget *wSessionList;
QCheckBox *wShowFinished;
BusyButton *wAddSession;
BusyButton *wRefresh;
QSet<int> availScreens;
};
#endif /* SESSIONS_WINDOW_H */