-
Notifications
You must be signed in to change notification settings - Fork 0
/
testclientsession.h
48 lines (38 loc) · 1.11 KB
/
testclientsession.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
#ifndef TESTCLIENTSESSION_H
#define TESTCLIENTSESSION_H
#include "testclient.h"
#include "aseman/artclient.h"
#include <QObject>
#include <QSharedPointer>
#include <QTcpSocket>
#include <QFile>
#include <QTimer>
#include <QProcess>
#include <QPointer>
class TestClientSession : public QObject
{
Q_OBJECT
public:
explicit TestClientSession(const TestClient::TestObject &test, const QString &sessionId, TestClient *client);
virtual ~TestClientSession();
public Q_SLOTS:
void updateFileRequest(const QString &path, qint32 port, const QString &token);
void runTest();
Q_SIGNALS:
void statusChanged(ARTClient::Status status);
void submitLog(const QString &log, bool error);
void finalize(quint64 duration, const QString &error);
protected:
void doRunTest();
void terminate();
private:
TestClient *mClient;
TestClient::TestObject mTest;
QString mSessionId;
QHash<QTcpSocket*, QFile*> mSocketFiles;
QTimer *mRunTimer;
QPointer<QProcess> mProcess;
QDateTime mStartedTime;
};
typedef QSharedPointer<TestClientSession> TestClientSessionPtr;
#endif // TESTCLIENTSESSION_H