refactor: reduced server signal

This commit is contained in:
Barry 2022-04-09 20:40:03 +08:00
commit 2088c7f76f
3 changed files with 17 additions and 25 deletions

View file

@ -217,14 +217,7 @@ void Device::initSignals()
} }
if (m_server) { if (m_server) {
connect(m_server, &Server::serverStartResult, this, [this](bool success) { connect(m_server, &Server::serverStarted, this, [this](bool success, const QString &deviceName, const QSize &size) {
if (success) {
m_server->connectTo();
} else {
deleteLater();
}
});
connect(m_server, &Server::connectToResult, this, [this](bool success, const QString &deviceName, const QSize &size) {
Q_UNUSED(deviceName); Q_UNUSED(deviceName);
if (success) { if (success) {
double diff = m_startTimeCount.elapsed() / 1000.0; double diff = m_startTimeCount.elapsed() / 1000.0;
@ -299,7 +292,7 @@ void Device::initSignals()
deleteLater(); deleteLater();
} }
}); });
connect(m_server, &Server::onServerStop, this, [this]() { connect(m_server, &Server::serverStoped, this, [this]() {
deleteLater(); deleteLater();
qDebug() << "server process stop"; qDebug() << "server process stop";
}); });

View file

@ -24,7 +24,7 @@ Server::Server(QObject *parent) : QObject(parent)
m_videoSocket = dynamic_cast<VideoSocket *>(tmp); m_videoSocket = dynamic_cast<VideoSocket *>(tmp);
if (!m_videoSocket->isValid() || !readInfo(m_videoSocket, m_deviceName, m_deviceSize)) { if (!m_videoSocket->isValid() || !readInfo(m_videoSocket, m_deviceName, m_deviceSize)) {
stop(); stop();
emit connectToResult(false); emit serverStarted(false);
} }
} else { } else {
m_controlSocket = tmp; m_controlSocket = tmp;
@ -35,10 +35,10 @@ Server::Server(QObject *parent) : QObject(parent)
// we don't need the adb tunnel anymore // we don't need the adb tunnel anymore
disableTunnelReverse(); disableTunnelReverse();
m_tunnelEnabled = false; m_tunnelEnabled = false;
emit connectToResult(true, m_deviceName, m_deviceSize); emit serverStarted(true, m_deviceName, m_deviceSize);
} else { } else {
stop(); stop();
emit connectToResult(false); emit serverStarted(false);
} }
stopAcceptTimeoutTimer(); stopAcceptTimeoutTimer();
} }
@ -223,7 +223,7 @@ void Server::timerEvent(QTimerEvent *event)
{ {
if (event && m_acceptTimeoutTimer == event->timerId()) { if (event && m_acceptTimeoutTimer == event->timerId()) {
stopAcceptTimeoutTimer(); stopAcceptTimeoutTimer();
emit connectToResult(false, "", QSize()); emit serverStarted(false);
} else if (event && m_connectTimeoutTimer == event->timerId()) { } else if (event && m_connectTimeoutTimer == event->timerId()) {
onConnectTimer(); onConnectTimer();
} }
@ -294,7 +294,7 @@ bool Server::startServerByStep()
} }
if (!stepSuccess) { if (!stepSuccess) {
emit serverStartResult(false); emit serverStarted(false);
} }
return stepSuccess; return stepSuccess;
} }
@ -405,7 +405,7 @@ result:
disableTunnelForward(); disableTunnelForward();
m_tunnelEnabled = false; m_tunnelEnabled = false;
m_restartCount = 0; m_restartCount = 0;
emit connectToResult(success, deviceName, deviceSize); emit serverStarted(success, deviceName, deviceSize);
return; return;
} }
@ -424,7 +424,7 @@ result:
start(m_params); start(m_params);
} else { } else {
m_restartCount = 0; m_restartCount = 0;
emit connectToResult(false); emit serverStarted(false);
} }
} }
} }
@ -446,7 +446,7 @@ void Server::onWorkProcessResult(AdbProcess::ADB_EXEC_RESULT processResult)
} else if (AdbProcess::AER_SUCCESS_START != processResult) { } else if (AdbProcess::AER_SUCCESS_START != processResult) {
qCritical("adb push failed"); qCritical("adb push failed");
m_serverStartStep = SSS_NULL; m_serverStartStep = SSS_NULL;
emit serverStartResult(false); emit serverStarted(false);
} }
break; break;
case SSS_ENABLE_TUNNEL_REVERSE: case SSS_ENABLE_TUNNEL_REVERSE:
@ -461,7 +461,7 @@ void Server::onWorkProcessResult(AdbProcess::ADB_EXEC_RESULT processResult)
qCritical() << QString("Could not listen on port %1").arg(m_params.localPort).toStdString().c_str(); qCritical() << QString("Could not listen on port %1").arg(m_params.localPort).toStdString().c_str();
m_serverStartStep = SSS_NULL; m_serverStartStep = SSS_NULL;
disableTunnelReverse(); disableTunnelReverse();
emit serverStartResult(false); emit serverStarted(false);
break; break;
} }
@ -483,7 +483,7 @@ void Server::onWorkProcessResult(AdbProcess::ADB_EXEC_RESULT processResult)
} else if (AdbProcess::AER_SUCCESS_START != processResult) { } else if (AdbProcess::AER_SUCCESS_START != processResult) {
qCritical("adb forward failed"); qCritical("adb forward failed");
m_serverStartStep = SSS_NULL; m_serverStartStep = SSS_NULL;
emit serverStartResult(false); emit serverStarted(false);
} }
break; break;
default: default:
@ -496,7 +496,7 @@ void Server::onWorkProcessResult(AdbProcess::ADB_EXEC_RESULT processResult)
if (AdbProcess::AER_SUCCESS_START == processResult) { if (AdbProcess::AER_SUCCESS_START == processResult) {
m_serverStartStep = SSS_RUNNING; m_serverStartStep = SSS_RUNNING;
m_tunnelEnabled = true; m_tunnelEnabled = true;
emit serverStartResult(true); connectTo();
} else if (AdbProcess::AER_ERROR_START == processResult) { } else if (AdbProcess::AER_ERROR_START == processResult) {
if (!m_tunnelForward) { if (!m_tunnelForward) {
m_serverSocket.close(); m_serverSocket.close();
@ -506,11 +506,11 @@ void Server::onWorkProcessResult(AdbProcess::ADB_EXEC_RESULT processResult)
} }
qCritical("adb shell start server failed"); qCritical("adb shell start server failed");
m_serverStartStep = SSS_NULL; m_serverStartStep = SSS_NULL;
emit serverStartResult(false); emit serverStarted(false);
} }
} else if (SSS_RUNNING == m_serverStartStep) { } else if (SSS_RUNNING == m_serverStartStep) {
m_serverStartStep = SSS_NULL; m_serverStartStep = SSS_NULL;
emit onServerStop(); emit serverStoped();
} }
} }
} }

View file

@ -52,9 +52,8 @@ public:
void stop(); void stop();
signals: signals:
void serverStartResult(bool success); void serverStarted(bool success, const QString &deviceName = "", const QSize &size = QSize());
void connectToResult(bool success, const QString &deviceName = "", const QSize &size = QSize()); void serverStoped();
void onServerStop();
private slots: private slots:
void onWorkProcessResult(AdbProcess::ADB_EXEC_RESULT processResult); void onWorkProcessResult(AdbProcess::ADB_EXEC_RESULT processResult);