mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJClient.git
synced 2026-03-28 05:25:39 +03:00
bugfix: update without hot update
This commit is contained in:
@@ -146,7 +146,6 @@ void UpdateController::updateFilesOnServer(QList<FileData> *fileSendList){
|
||||
}
|
||||
|
||||
calculateCommonHash();
|
||||
sendSystem->sendPacketType(PacketType::TYPE_FINISH);
|
||||
sendSystem->sendPacketType(PacketType::RECALCULATE_DOCS);
|
||||
emit sigUpdateComplete(true);
|
||||
}
|
||||
|
||||
@@ -206,15 +206,8 @@ void RecognizeSystem::recognize(QTcpSocket *socket)
|
||||
|
||||
}
|
||||
|
||||
if (packetType ==PacketType::TYPE_FINISH) //для повторного создания хэша после загрузки
|
||||
{
|
||||
postProcessorSystem->calculateCommonHash();
|
||||
|
||||
emit sigLoadComplete();
|
||||
packetType = PacketType::TYPE_NONE;
|
||||
}
|
||||
|
||||
if(packetType == PacketType::TYPE_NEEDUPDATE){ //нужно обновление
|
||||
if(packetType == PacketType::TYPE_NEEDUPDATE)
|
||||
{ //нужно обновление
|
||||
|
||||
bool flag = false;
|
||||
quint64 size = 0;
|
||||
@@ -254,7 +247,7 @@ void RecognizeSystem::recognize(QTcpSocket *socket)
|
||||
emit sigCheckUpdate();
|
||||
}
|
||||
|
||||
if(packetType == PacketType::HASH_CALCULATE_START)
|
||||
if(packetType == PacketType::RECALCULATE_HASH)
|
||||
{
|
||||
emit sigdRecalculateHashOnServerState();
|
||||
}
|
||||
@@ -269,10 +262,19 @@ void RecognizeSystem::recognize(QTcpSocket *socket)
|
||||
emit sigAnimationActivated(false);
|
||||
}
|
||||
|
||||
if(packetType == PacketType::TYPE_XMLANSWER_DOCS_CHANGED)
|
||||
if (packetType == PacketType::TYPE_XMLANSWER_DOCS_CHANGED) //на случай общего обновления
|
||||
{
|
||||
emit sigSendPacketType(PacketType::GET_DOCS);
|
||||
}
|
||||
|
||||
if (packetType == PacketType::UPDATE_FILE_COMPLETE)
|
||||
{
|
||||
postProcessorSystem->calculateCommonHash();
|
||||
emit sigLoadComplete();
|
||||
emit sigSendPacketType(PacketType::GET_DOCS);
|
||||
packetType = PacketType::TYPE_NONE;
|
||||
}
|
||||
|
||||
packetType = PacketType::TYPE_NONE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,6 +31,9 @@ signals:
|
||||
void sigCheckUpdate();
|
||||
void sigdRecalculateHashOnServerState();
|
||||
void sigSendPacketType(PacketType packetType);
|
||||
void sigSendPacketTypeWithDelay(PacketType packetType,int delay);
|
||||
void sigSendToInlineLog(QString message);
|
||||
void sigCallUpdateList();
|
||||
|
||||
private:
|
||||
VersionContainer *versionContainer;
|
||||
|
||||
@@ -165,12 +165,47 @@ void SendSystem::sendPacketType(PacketType packetType)
|
||||
stream << packetType;
|
||||
}
|
||||
|
||||
void SendSystem::sendPacketTypeWithDelay(PacketType packetType,int delay)
|
||||
{
|
||||
QDataStream stream(socket);
|
||||
stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
|
||||
socket->waitForReadyRead(delay);
|
||||
stream << packetType;
|
||||
}
|
||||
void SendSystem::sendCheckHash()
|
||||
{
|
||||
QDataStream stream(socket);
|
||||
stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
|
||||
QString fullPath = Tools::createSendFullPath(staticDataFolderName + hashFilename);
|
||||
|
||||
sendFileBlock(staticDataFolderName + hashFilename);
|
||||
quint64 fileSize = 0;
|
||||
int countSend = 0;
|
||||
|
||||
|
||||
QFile file(fullPath); //Открываем файл для чтения
|
||||
QFileInfo fileInfo(file);
|
||||
|
||||
fileSize = fileInfo.size();
|
||||
|
||||
stream << PacketType::SEND_HASH; //Отправляем тип блока
|
||||
stream << fileSize;
|
||||
|
||||
socket->waitForReadyRead(20);
|
||||
//socket->waitForBytesWritten();
|
||||
|
||||
if(file.open(QFile::ReadOnly)){
|
||||
while(!file.atEnd()){
|
||||
QByteArray data = file.read(readSize);
|
||||
stream << data;
|
||||
socket->waitForBytesWritten(20);
|
||||
countSend++;
|
||||
}
|
||||
|
||||
qDebug() << Tools::getTime() << "count end Final: " << countSend;
|
||||
}
|
||||
|
||||
file.close();
|
||||
countSend = 0;
|
||||
|
||||
socket->waitForReadyRead(2000);
|
||||
stream << PacketType::TYPE_CHECK_VERSION;
|
||||
|
||||
@@ -25,6 +25,7 @@ public:
|
||||
void sendCheckHash();
|
||||
void sendPacketType(PacketType packetType);
|
||||
~SendSystem(){};
|
||||
void sendPacketTypeWithDelay(PacketType packetType, int delay);
|
||||
signals:
|
||||
void sigSend();
|
||||
QByteArray sigGetXmlAnswer(QString);
|
||||
|
||||
@@ -39,13 +39,14 @@ enum PacketType{
|
||||
TYPE_COMMAND = 3,
|
||||
TYPE_FOLDER = 4,
|
||||
TYPE_DELETE = 5,
|
||||
TYPE_FINISH = 6,
|
||||
UPDATE_FILE_COMPLETE = 6,
|
||||
TYPE_NEEDUPDATE = 7,
|
||||
TYPE_XMLANSWER = 8,
|
||||
TYPE_QT = 9,
|
||||
TYPE_DISABLE = 11,
|
||||
TYPE_UPDATE = 12,
|
||||
TYPE_CHECK_VERSION = 13,
|
||||
UPDATE_DOCS_COMPLETE = 22,
|
||||
|
||||
TYPE_XMLANSWER_DOCS_CHANGED = 132,
|
||||
|
||||
@@ -55,9 +56,10 @@ enum PacketType{
|
||||
DELETE_DATA_VERSION = 153,
|
||||
BUSY = 154,
|
||||
FREE = 155,
|
||||
HASH_CALCULATE_START = 156,
|
||||
RECALCULATE_HASH = 156,
|
||||
RECALCULATE_DOCS = 157,
|
||||
GET_DOCS = 158
|
||||
GET_DOCS = 158,
|
||||
SEND_HASH = 159
|
||||
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user