feat: add versionListData

*draft versionWindow
*repair version
This commit is contained in:
semenov
2024-12-19 10:16:14 +03:00
parent 066a90691c
commit 01e736dd1e
28 changed files with 233 additions and 111 deletions

View File

@@ -20,7 +20,7 @@ void UpdateController::calculateCommonHash()
appDataList = calculateHash(applicationFolderPath,"StreamingAssets");
calculateStreamingHash();
appDataList.append(streamingDataList);
dataParser->createFileDataList(appDataList,hashFilename);
dataParser->createFileDataList(appDataList,QDir::currentPath() + hashFilename);
qDebug() << "UpdateController threadID " << QThread::currentThreadId();
}
@@ -29,7 +29,7 @@ void UpdateController::calculateStreamingHash()
streamingDataList.clear();
streamingDataList = calculateHash(QDir::currentPath() + streamingAssetsPath,"");
std::sort(streamingDataList.begin(),streamingDataList.end());
dataParser->createFileDataList(streamingDataList,streamingHashFilename);
dataParser->createFileDataList(streamingDataList,QDir::currentPath() + streamingHashFilename);
}
void UpdateController::setServerVersion(StreamingVersionData *version)

View File

@@ -421,6 +421,39 @@ void DataParser::xmlParser(QByteArray array)
recognizeSystem->setServerVersion(serverVersion);
}
if(xmlReader.name() == "VersionList")
{
QList<StreamingVersionData*> *serverStreamingVersionDataList = new QList<StreamingVersionData*>;
xmlReader.readNext();
while (!xmlReader.atEnd())
{
if(xmlReader.isStartElement())
{
if(xmlReader.name() == "VersionData")
{
StreamingVersionData *data = new StreamingVersionData;
foreach(const QXmlStreamAttribute &attr,xmlReader.attributes())
{
QString name = attr.name().toString();
QString value = attr.value().toString();
if(name == "Version")
data->setName(value);
else if(name == "Created")
data->setCreateData(QDateTime::fromString(value));
}
serverStreamingVersionDataList->append(data);
}
}
xmlReader.readNext();
}
recognizeSystem->showServerDataList(serverStreamingVersionDataList);
}
xmlReader.readNext();
}
}

View File

@@ -41,6 +41,7 @@ void RecognizeSystem::initialize(UpdateController *updateController,
connect(this,&RecognizeSystem::sigSaveLoginData,mainWindow,&MainWindow::checkLoginResult); //TODO: прибратся! 2 бинда на 1 сигнал
connect(this,&RecognizeSystem::sigSocketWaitForReadyRead,client,&TCPClient::waitRead,Qt::DirectConnection);
connect(this,&RecognizeSystem::sigServerBlocked,mainWindow,&MainWindow::serverBlocked);
connect(this,&RecognizeSystem::sigShowServerList,mainWindow,&MainWindow::showServerListWidget);
}
void RecognizeSystem::recognize(QTcpSocket *socket)
@@ -280,4 +281,10 @@ void RecognizeSystem::checkAccessType(QString type)
void RecognizeSystem::setServerVersion(StreamingVersionData *serverVersion)
{
updateController->setServerVersion(serverVersion);
mainWindow->setCurrentVersionName(serverVersion->getViewName());
}
void RecognizeSystem::showServerDataList(QList<StreamingVersionData*> *showServerDataList)
{
emit sigShowServerList(showServerDataList);
}

View File

@@ -31,6 +31,7 @@ public:
void recognize(QTcpSocket *socket);
void checkAccessType(QString type);
void setServerVersion(StreamingVersionData *serverVersion);
void showServerDataList(QList<StreamingVersionData*> *showServerDataList);
signals:
void sigUpdateBytesAvailable();
@@ -42,6 +43,7 @@ signals:
void sigSaveLoginData(ServerAuthorization *serverAuth);
void sigSocketWaitForReadyRead(int waitTime);
void sigStartCompare();
void sigShowServerList(QList<StreamingVersionData*> *serverDatas);
private:
QList<QString> *folderList;

View File

@@ -33,6 +33,8 @@ void SendSystem::xmlAnswer(QString message)
stream << PacketType::TYPE_XMLANSWER;
stream << data;
qDebug() << "Send answer " + message;
socket->waitForBytesWritten();
}
@@ -50,6 +52,7 @@ void SendSystem::sendClientAutorization()
stream << array;
socket->waitForBytesWritten();
qDebug() << "Send client auth";
file.close();
}
@@ -122,6 +125,8 @@ void SendSystem::sendXMLAnswer(QByteArray array)
socket->waitForBytesWritten();
socket->waitForReadyRead(100);
qDebug() << "Send XML answer in byte";
}
void SendSystem::sendFinish()

View File

@@ -43,6 +43,7 @@ QString Tools::createReceiveFullPath(QString path, StreamingVersionData *version
//StreamingAssets section
localPath = path.remove(0,pos + version->getViewName().length());
localPath.prepend(streamingAssetsPath);
fullPath = QDir::currentPath() + localPath;
}
}
else