mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJClient.git
synced 2026-03-28 05:25:39 +03:00
feat: add send scenario
This commit is contained in:
@@ -25,11 +25,12 @@ void UpdateController::calculateCommonHash()
|
|||||||
QElapsedTimer timer;
|
QElapsedTimer timer;
|
||||||
timer.start();
|
timer.start();
|
||||||
qDebug() << "Start calculate... ";
|
qDebug() << "Start calculate... ";
|
||||||
//appDataList = calculateHash(applicationFolderPath,"StreamingAssets");
|
|
||||||
hashCalculator->calculateHashes(applicationFolderPath,"StreamingAssets");
|
hashCalculator->calculateHashes(applicationFolderPath,"StreamingAssets");
|
||||||
appDataList = *hashCalculator->getHashList();
|
appDataList = *hashCalculator->getHashList();
|
||||||
calculateStreamingHash();
|
calculateStreamingHash();
|
||||||
appDataList.append(streamingDataList);
|
appDataList.append(streamingDataList);
|
||||||
|
|
||||||
qDebug() << "Hash count: " << appDataList.count() ;
|
qDebug() << "Hash count: " << appDataList.count() ;
|
||||||
dataParserOut->createFileDataList(appDataList,fullStaticDataFolderName + hashFilename);
|
dataParserOut->createFileDataList(appDataList,fullStaticDataFolderName + hashFilename);
|
||||||
qDebug() << "UpdateController threadID " << QThread::currentThreadId();
|
qDebug() << "UpdateController threadID " << QThread::currentThreadId();
|
||||||
@@ -39,10 +40,8 @@ void UpdateController::calculateCommonHash()
|
|||||||
void UpdateController::calculateStreamingHash()
|
void UpdateController::calculateStreamingHash()
|
||||||
{
|
{
|
||||||
streamingDataList.clear();
|
streamingDataList.clear();
|
||||||
//streamingDataList = calculateHash(QDir::currentPath() + streamingAssetsPath,"");
|
|
||||||
hashCalculator->calculateHashes(QDir::currentPath() + streamingAssetsPath,"");
|
hashCalculator->calculateHashes(QDir::currentPath() + streamingAssetsPath,"");
|
||||||
streamingDataList = *hashCalculator->getHashList();
|
streamingDataList = *hashCalculator->getHashList();
|
||||||
//std::sort(streamingDataList.begin(),streamingDataList.end());
|
|
||||||
dataParserOut->createFileDataList(streamingDataList,streamingHashFilename);
|
dataParserOut->createFileDataList(streamingDataList,streamingHashFilename);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -147,8 +146,8 @@ void UpdateController::updateFilesOnServer(QList<FileData> *fileSendList){
|
|||||||
}
|
}
|
||||||
|
|
||||||
calculateCommonHash();
|
calculateCommonHash();
|
||||||
sendSystem->sendFinish();
|
sendSystem->sendPacketType(PacketType::TYPE_FINISH);
|
||||||
|
sendSystem->sendPacketType(PacketType::RECALCULATE_DOCS);
|
||||||
emit sigUpdateComplete(true);
|
emit sigUpdateComplete(true);
|
||||||
}
|
}
|
||||||
catch (...)
|
catch (...)
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ void FastHashCalculator::calculateHashes(const QString& path, const QString& ign
|
|||||||
QList<FileData> *folders = new QList<FileData>;
|
QList<FileData> *folders = new QList<FileData>;
|
||||||
fullSize = Tools::convertFileSize(getDirectorySize(path),false);
|
fullSize = Tools::convertFileSize(getDirectorySize(path),false);
|
||||||
|
|
||||||
|
//только папки
|
||||||
QDirIterator dirIterator(path,filter, QDir::AllEntries, QDirIterator::Subdirectories);
|
QDirIterator dirIterator(path,filter, QDir::AllEntries, QDirIterator::Subdirectories);
|
||||||
|
|
||||||
while (dirIterator.hasNext())
|
while (dirIterator.hasNext())
|
||||||
@@ -38,7 +39,7 @@ void FastHashCalculator::calculateHashes(const QString& path, const QString& ign
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//только файлы
|
||||||
QDirIterator fileIterator(path,filter,QDir::Files | QDir::NoDotAndDotDot,QDirIterator::Subdirectories);
|
QDirIterator fileIterator(path,filter,QDir::Files | QDir::NoDotAndDotDot,QDirIterator::Subdirectories);
|
||||||
|
|
||||||
QList<QString> files;
|
QList<QString> files;
|
||||||
@@ -67,6 +68,7 @@ void FastHashCalculator::calculateHashes(const QString& path, const QString& ign
|
|||||||
|
|
||||||
currentFile.path = Tools::createLocalPath(filePath);
|
currentFile.path = Tools::createLocalPath(filePath);
|
||||||
currentFile.hash = hash.toHex();
|
currentFile.hash = hash.toHex();
|
||||||
|
|
||||||
hashList->append(currentFile);
|
hashList->append(currentFile);
|
||||||
}).waitForFinished();
|
}).waitForFinished();
|
||||||
|
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ void HashComparer::CompareDeltas(QList<FileData> *serverStreamingHash, QList<Fil
|
|||||||
{
|
{
|
||||||
if(!serverStreamingHash->contains(item))
|
if(!serverStreamingHash->contains(item))
|
||||||
{
|
{
|
||||||
|
if (item.path.contains("docs.xml")) continue; //фильтр на docs
|
||||||
files->append(item);
|
files->append(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -252,7 +252,6 @@ void RecognizeSystem::recognize(QTcpSocket *socket)
|
|||||||
if(packetType == PacketType::HASH_READY)
|
if(packetType == PacketType::HASH_READY)
|
||||||
{
|
{
|
||||||
emit sigCheckUpdate();
|
emit sigCheckUpdate();
|
||||||
//mainWindow->checkUpdate();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(packetType == PacketType::HASH_CALCULATE_START)
|
if(packetType == PacketType::HASH_CALCULATE_START)
|
||||||
@@ -270,6 +269,10 @@ void RecognizeSystem::recognize(QTcpSocket *socket)
|
|||||||
emit sigAnimationActivated(false);
|
emit sigAnimationActivated(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(packetType == PacketType::TYPE_XMLANSWER_DOCS_CHANGED)
|
||||||
|
{
|
||||||
|
emit sigSendPacketType(PacketType::GET_DOCS);
|
||||||
|
}
|
||||||
packetType = PacketType::TYPE_NONE;
|
packetType = PacketType::TYPE_NONE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ signals:
|
|||||||
void sigAnimationActivated(bool flag);
|
void sigAnimationActivated(bool flag);
|
||||||
void sigCheckUpdate();
|
void sigCheckUpdate();
|
||||||
void sigdRecalculateHashOnServerState();
|
void sigdRecalculateHashOnServerState();
|
||||||
|
void sigSendPacketType(PacketType packetType);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
VersionContainer *versionContainer;
|
VersionContainer *versionContainer;
|
||||||
|
|||||||
@@ -157,16 +157,6 @@ void SendSystem::sendXMLAnswer(const QByteArray& array)
|
|||||||
qDebug() << "Send XML answer in byte";
|
qDebug() << "Send XML answer in byte";
|
||||||
}
|
}
|
||||||
|
|
||||||
void SendSystem::sendFinish()
|
|
||||||
{
|
|
||||||
socket->waitForReadyRead(100);
|
|
||||||
QDataStream stream(socket);
|
|
||||||
stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
|
|
||||||
|
|
||||||
stream << PacketType::TYPE_FINISH;
|
|
||||||
socket->waitForReadyRead(100);
|
|
||||||
}
|
|
||||||
|
|
||||||
void SendSystem::sendPacketType(PacketType packetType)
|
void SendSystem::sendPacketType(PacketType packetType)
|
||||||
{
|
{
|
||||||
QDataStream stream(socket);
|
QDataStream stream(socket);
|
||||||
|
|||||||
@@ -12,12 +12,12 @@ QString Tools::getTime()
|
|||||||
|
|
||||||
QString Tools::createLocalPath(QString path)
|
QString Tools::createLocalPath(QString path)
|
||||||
{
|
{
|
||||||
qDebug() << "Full path: " << path;
|
//qDebug() << "Full path: " << path;
|
||||||
qint8 pos = path.indexOf("Application");
|
qint8 pos = path.indexOf("Application");
|
||||||
|
|
||||||
QString localPath = path.remove(0,--pos);
|
QString localPath = path.remove(0,--pos);
|
||||||
|
|
||||||
qDebug() << "Local path: " << localPath;
|
//qDebug() << "Local path: " << localPath;
|
||||||
return localPath;
|
return localPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -47,13 +47,17 @@ enum PacketType{
|
|||||||
TYPE_UPDATE = 12,
|
TYPE_UPDATE = 12,
|
||||||
TYPE_CHECK_VERSION = 13,
|
TYPE_CHECK_VERSION = 13,
|
||||||
|
|
||||||
|
TYPE_XMLANSWER_DOCS_CHANGED = 132,
|
||||||
|
|
||||||
HASH_READY = 150,
|
HASH_READY = 150,
|
||||||
CHANGE_DATA_VERSION = 151,
|
CHANGE_DATA_VERSION = 151,
|
||||||
COPY_VERSION = 152,
|
COPY_VERSION = 152,
|
||||||
DELETE_DATA_VERSION = 153,
|
DELETE_DATA_VERSION = 153,
|
||||||
BUSY = 154,
|
BUSY = 154,
|
||||||
FREE = 155,
|
FREE = 155,
|
||||||
HASH_CALCULATE_START = 156
|
HASH_CALCULATE_START = 156,
|
||||||
|
RECALCULATE_DOCS = 157,
|
||||||
|
GET_DOCS = 158
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<AuthData Login="O1" Password="b59c67bf196a4758191e42f76670ceba" InstructorName="" ClientName="Коровин А.В." AccessType="trainee"/>
|
<AuthData Login="I1" Password="b59c67bf196a4758191e42f76670ceba" InstructorName="Петрушкин А.А." ClientName="Петрушкин А.А." AccessType="instructor"/>
|
||||||
File diff suppressed because it is too large
Load Diff
8925
StaticData/serverHash.xml
Normal file
8925
StaticData/serverHash.xml
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
<ServerSettingsContainer>
|
<ServerSettingsContainer>
|
||||||
<ServerSettings Address="192.168.100.134" Port="6000" Language="RUS" AutoStart="0" DestPortMath="18003" LocalPortMath="18004" UseMathModel="1"/>
|
<ServerSettings AutoStart="0" DestPortMath="18003" Language="RUS" UseMathModel="1" Port="6000" Address="192.168.100.83" LocalPortMath="18004"/>
|
||||||
<VersionData Version="base" isChangable="1"/>
|
<VersionData Created="Пн ноя 17 15:59:34 2025" isChangable="1" Version="custom"/>
|
||||||
</ServerSettingsContainer>
|
</ServerSettingsContainer>
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,2 +1,2 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<ClientAutorization Login="O1" Password="b59c67bf196a4758191e42f76670ceba"/>
|
<ClientNotify Code="DISABLE"/>
|
||||||
|
|||||||
@@ -66,10 +66,11 @@ void CoreManager::binding()
|
|||||||
|
|
||||||
connect(this,&CoreManager::sigInitializeClient,client,&TCPClient::initialize,Qt::AutoConnection);
|
connect(this,&CoreManager::sigInitializeClient,client,&TCPClient::initialize,Qt::AutoConnection);
|
||||||
connect(this,&CoreManager::sigSetConnect,client,&TCPClient::setConnect,Qt::AutoConnection);
|
connect(this,&CoreManager::sigSetConnect,client,&TCPClient::setConnect,Qt::AutoConnection);
|
||||||
connect(this,&CoreManager::sigSendCommand,sendSystem,&SendSystem::sendPacketType,Qt::AutoConnection);
|
connect(this,&CoreManager::sigSendPacketType,sendSystem,&SendSystem::sendPacketType,Qt::AutoConnection);
|
||||||
connect(this,&CoreManager::sigSendCheckUpdate,sendSystem,&SendSystem::sendCheckHash,Qt::AutoConnection);
|
connect(this,&CoreManager::sigSendCheckUpdate,sendSystem,&SendSystem::sendCheckHash,Qt::AutoConnection);
|
||||||
connect(this,&CoreManager::sigSendXMLAnswer,sendSystem,&SendSystem::xmlAnswer,Qt::AutoConnection);
|
connect(this,&CoreManager::sigSendXMLAnswer,sendSystem,&SendSystem::xmlAnswer,Qt::AutoConnection);
|
||||||
connect(this,&CoreManager::sigSendAutorization,sendSystem,&SendSystem::sendClientAutorization);
|
connect(this,&CoreManager::sigSendAutorization,sendSystem,&SendSystem::sendClientAutorization);
|
||||||
|
|
||||||
connect(this,&CoreManager::sigSendUpdateToServer,updateController,&UpdateController::checkCanUpdate,Qt::AutoConnection);
|
connect(this,&CoreManager::sigSendUpdateToServer,updateController,&UpdateController::checkCanUpdate,Qt::AutoConnection);
|
||||||
connect(this,&CoreManager::sigGetConnected,client,&TCPClient::getIsConnected);
|
connect(this,&CoreManager::sigGetConnected,client,&TCPClient::getIsConnected);
|
||||||
connect(this,&CoreManager::sigCalculateHash,updateController,&UpdateController::calculateCommonHash);
|
connect(this,&CoreManager::sigCalculateHash,updateController,&UpdateController::calculateCommonHash);
|
||||||
@@ -89,6 +90,7 @@ void CoreManager::binding()
|
|||||||
connect(recognizeSystem,&RecognizeSystem::sigNeedUpdate,this,&CoreManager::checkNeedUpdate,Qt::AutoConnection);
|
connect(recognizeSystem,&RecognizeSystem::sigNeedUpdate,this,&CoreManager::checkNeedUpdate,Qt::AutoConnection);
|
||||||
connect(recognizeSystem,&RecognizeSystem::sigCheckUpdate,this,&CoreManager::checkUpdate,Qt::AutoConnection);
|
connect(recognizeSystem,&RecognizeSystem::sigCheckUpdate,this,&CoreManager::checkUpdate,Qt::AutoConnection);
|
||||||
connect(recognizeSystem,&RecognizeSystem::sigdRecalculateHashOnServerState,this,&CoreManager::recalculateState,Qt::AutoConnection);
|
connect(recognizeSystem,&RecognizeSystem::sigdRecalculateHashOnServerState,this,&CoreManager::recalculateState,Qt::AutoConnection);
|
||||||
|
connect(recognizeSystem,&RecognizeSystem::sigSendPacketType,this,&CoreManager::sendPacketType,Qt::AutoConnection);
|
||||||
|
|
||||||
connect(hashComparer,&HashComparer::sigCallCheck,this,&CoreManager::checkUpdate);
|
connect(hashComparer,&HashComparer::sigCallCheck,this,&CoreManager::checkUpdate);
|
||||||
connect(hashComparer,&HashComparer::sigHaveDelta,this,&CoreManager::checkUpdateInfo);
|
connect(hashComparer,&HashComparer::sigHaveDelta,this,&CoreManager::checkUpdateInfo);
|
||||||
@@ -323,7 +325,7 @@ void CoreManager::undoCurrentChanges()
|
|||||||
isRecovery = true;
|
isRecovery = true;
|
||||||
widgetManager->setUndoCurrentChangesState();
|
widgetManager->setUndoCurrentChangesState();
|
||||||
emit sigSendCheckUpdate();
|
emit sigSendCheckUpdate();
|
||||||
emit sigSendCommand(PacketType::TYPE_UPDATE);
|
emit sigSendPacketType(PacketType::TYPE_UPDATE);
|
||||||
//тут был таймер
|
//тут был таймер
|
||||||
isRecovery = false;
|
isRecovery = false;
|
||||||
|
|
||||||
@@ -339,6 +341,11 @@ void CoreManager::startOffline()
|
|||||||
startUnityClient();
|
startUnityClient();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CoreManager::sendPacketType(PacketType packetType)
|
||||||
|
{
|
||||||
|
emit sigSendPacketType(packetType);
|
||||||
|
}
|
||||||
|
|
||||||
void CoreManager::saveServerSettingsWithConnect()
|
void CoreManager::saveServerSettingsWithConnect()
|
||||||
{
|
{
|
||||||
widgetManager->activateLoadingAnimation(true);
|
widgetManager->activateLoadingAnimation(true);
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ public:
|
|||||||
void startUnityClient();
|
void startUnityClient();
|
||||||
void tryLogin();
|
void tryLogin();
|
||||||
void startOffline();
|
void startOffline();
|
||||||
|
void sendPacketType(PacketType packetType);
|
||||||
|
|
||||||
void saveServerSettingsWithConnect();
|
void saveServerSettingsWithConnect();
|
||||||
|
|
||||||
@@ -50,7 +51,7 @@ public:
|
|||||||
void recalculateState();
|
void recalculateState();
|
||||||
signals:
|
signals:
|
||||||
void sigInitializeClient(RecognizeSystem *recognize,SendSystem *sendSystem);
|
void sigInitializeClient(RecognizeSystem *recognize,SendSystem *sendSystem);
|
||||||
void sigSendCommand(PacketType packetType);
|
void sigSendPacketType(PacketType packetType);
|
||||||
void sigSendXMLAnswer(QString answer);
|
void sigSendXMLAnswer(QString answer);
|
||||||
void sigSetConnect(ServerSettings* serverSettings);
|
void sigSetConnect(ServerSettings* serverSettings);
|
||||||
void sigCalculateHash();
|
void sigCalculateHash();
|
||||||
@@ -59,6 +60,7 @@ signals:
|
|||||||
bool sigGetConnected();
|
bool sigGetConnected();
|
||||||
void sigSendUpdateToServer();
|
void sigSendUpdateToServer();
|
||||||
|
|
||||||
|
|
||||||
void sigSetLoadSettings(ServerSettings *serverSettings);
|
void sigSetLoadSettings(ServerSettings *serverSettings);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
2
mathModelConfig.xml
Normal file
2
mathModelConfig.xml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<MathModelSettings SendIP="10.100.7.255" SendPortMath="18004" ListenIP="10.100.7.1" LocalPortMath="18003" />
|
||||||
Reference in New Issue
Block a user