41 lines
913 B
C++
41 lines
913 B
C++
#ifndef TERMINALWORKER_H
|
|
#define TERMINALWORKER_H
|
|
|
|
#include <main.h>
|
|
|
|
class TerminalTab;
|
|
|
|
class TerminalWorker : public QObject
|
|
{
|
|
Q_OBJECT
|
|
|
|
TerminalTab* terminalTab = nullptr;
|
|
QWebSocket* websocket = nullptr;
|
|
QUrl wsUrl;
|
|
QString otp;
|
|
bool started = false;
|
|
std::atomic<bool> stopped = false;
|
|
|
|
public:
|
|
TerminalWorker(TerminalTab* terminalTab, const QString &otp, const QUrl& wsUrl, QObject* parent = nullptr);
|
|
~TerminalWorker() override;
|
|
|
|
Q_SIGNALS:
|
|
void binaryMessageToTerminal(const QByteArray& msg);
|
|
void connectedToTerminal();
|
|
void finished();
|
|
void errorStop();
|
|
|
|
public Q_SLOTS:
|
|
void start();
|
|
void stop();
|
|
void sendData(const QByteArray& data);
|
|
|
|
private Q_SLOTS:
|
|
void onWsConnected();
|
|
void onWsBinaryMessageReceived(const QByteArray& msg);
|
|
void onWsError(QAbstractSocket::SocketError error);
|
|
};
|
|
|
|
#endif
|