mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJClient.git
synced 2026-03-28 05:25:39 +03:00
feat: add server blocked behaviour
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
#include "updatecontroller.h"
|
||||
#include "UpdateController.h"
|
||||
|
||||
UpdateController::UpdateController(DataParser *parser, QObject *parent) :
|
||||
QObject(parent)
|
||||
|
||||
@@ -127,7 +127,7 @@ QByteArray DataParser::xmlAnswer_notify(QString code)
|
||||
|
||||
SAttribute attribute1 = {"Code", code};
|
||||
QList<SAttribute> listAttr = {attribute1};
|
||||
SXmlAnswerTag tag = {"ServerNotify", listAttr};
|
||||
SXmlAnswerTag tag = {"ClientNotify", listAttr};
|
||||
|
||||
listTag.append(tag);
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ void ExternalExecuter::callApp()
|
||||
args << "1";
|
||||
|
||||
myProcess->start(programPath,args);
|
||||
myProcess->waitForFinished(3000);
|
||||
myProcess->waitForStarted();
|
||||
QCoreApplication::exit();
|
||||
}
|
||||
|
||||
|
||||
@@ -262,11 +262,16 @@ void RecognizeSystem::xmlParser(QByteArray array)
|
||||
QString name = attr.name().toString();
|
||||
QString value = attr.value().toString();
|
||||
|
||||
if(name == "Code"){
|
||||
if (value == "END"){
|
||||
|
||||
if(name == "Code")
|
||||
{
|
||||
if (value == "END")
|
||||
{
|
||||
emit sigSocketDisabled();
|
||||
}
|
||||
|
||||
if(value == "BLOCKED")
|
||||
{
|
||||
emit sigServerBlocked();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#include <QTcpSocket>
|
||||
#include <mainwindow.h>
|
||||
#include <Core\tools.h>
|
||||
#include <Core\updatecontroller.h>
|
||||
#include <Core\UpdateController.h>
|
||||
|
||||
class UpdateController;
|
||||
|
||||
@@ -27,6 +27,7 @@ signals:
|
||||
void sigNeedUpdate(bool flag,qint64 size,quint64 fileCount);
|
||||
void sigSendDebugLog(QString message);
|
||||
void sigSocketDisabled();
|
||||
void sigServerBlocked();
|
||||
void sigSaveLoginData(ServerAuthorization *serverAuth);
|
||||
void sigSocketWaitForReadyRead(int waitTime);
|
||||
|
||||
|
||||
@@ -89,11 +89,11 @@ void TCPClient::sendFile()
|
||||
countSend = 0;
|
||||
}
|
||||
|
||||
void TCPClient::sendUnityConnect()
|
||||
|
||||
void TCPClient::sendQTConnect()
|
||||
{
|
||||
QDataStream stream(socket);
|
||||
stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
|
||||
stream << PacketType::TYPE_CHANGEPACKAGERESPONSE;
|
||||
QString value = QString::number(PacketType::TYPE_QT);
|
||||
socket->write(value.toUtf8());
|
||||
socket->waitForBytesWritten();
|
||||
}
|
||||
|
||||
@@ -106,15 +106,15 @@ void TCPClient::setDisconnect()
|
||||
|
||||
void TCPClient::sendDisable()
|
||||
{
|
||||
// QDataStream stream(socket);
|
||||
// stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
|
||||
QDataStream stream(socket);
|
||||
stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
|
||||
|
||||
// QByteArray data;
|
||||
// data = emit sigGetXmlAnswer("END");
|
||||
QByteArray data;
|
||||
data = emit sigGetXmlAnswer("DISABLE");
|
||||
|
||||
// stream << PacketType::TYPE_XMLANSWER;
|
||||
// stream << data;
|
||||
// socket->waitForBytesWritten();
|
||||
stream << PacketType::TYPE_XMLANSWER;
|
||||
stream << data;
|
||||
socket->waitForBytesWritten();
|
||||
}
|
||||
|
||||
void TCPClient::waitRead(int time)
|
||||
@@ -162,14 +162,18 @@ void TCPClient::slotMessageEntered(QString message)
|
||||
|
||||
void TCPClient::slotConnectNotify()
|
||||
{
|
||||
if(socket->state() != QTcpSocket::ConnectedState){
|
||||
emit sigSendDebugLog("Connect invalid");
|
||||
emit sigConnectionState(false);
|
||||
return;
|
||||
}else{
|
||||
emit sigSendDebugLog("Connect complete");
|
||||
emit sigConnectionState(true);
|
||||
}
|
||||
if(socket->state() != QTcpSocket::ConnectedState)
|
||||
{
|
||||
emit sigSendDebugLog("Connect invalid");
|
||||
emit sigConnectionState(false);
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
emit sigSendDebugLog("Connect complete");
|
||||
emit sigConnectionState(true);
|
||||
sendQTConnect();
|
||||
}
|
||||
}
|
||||
|
||||
void TCPClient::slotReadyRead()
|
||||
@@ -178,9 +182,10 @@ void TCPClient::slotReadyRead()
|
||||
emit sigSendDebugLog("WRONG SOCKET");
|
||||
return;
|
||||
}
|
||||
// qDebug() << "Transaction before recognize: " << socket->isTransactionStarted();
|
||||
|
||||
// if(socket->isTransactionStarted()) return;
|
||||
// qDebug() << "Transaction before recognize: " << socket->isTransactionStarted();
|
||||
|
||||
// if(socket->isTransactionStarted()) return;
|
||||
|
||||
emit sigRecognize(socket);
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ public:
|
||||
void initialize(RecognizeSystem *recognize,ExternalExecuter *externalExecuter);
|
||||
void setConnect(ServerSettings *serverSettings);
|
||||
void sendClientAutorization();
|
||||
void sendUnityConnect();
|
||||
void sendQTConnect();
|
||||
|
||||
void sendDisable();
|
||||
void waitRead(int time);
|
||||
|
||||
@@ -18,7 +18,7 @@ static QString displayTemp = staticDataFolderName + "/displayData.xml";
|
||||
|
||||
enum PacketType{
|
||||
TYPE_NONE = 0,
|
||||
TYPE_MSG = 1,
|
||||
TYPE_UNITY = 1,
|
||||
TYPE_FILE = 2,
|
||||
TYPE_COMMAND = 3,
|
||||
TYPE_FOLDER = 4,
|
||||
@@ -26,7 +26,7 @@ enum PacketType{
|
||||
TYPE_FINISH = 6,
|
||||
TYPE_NEEDUPDATE = 7,
|
||||
TYPE_XMLANSWER = 8,
|
||||
TYPE_CHANGEPACKAGERESPONSE = 9,
|
||||
TYPE_QT = 9,
|
||||
TYPE_DISABLE = 11
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user