mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
bugfix: segregate send and delete list to client
This commit is contained in:
@@ -241,6 +241,11 @@ QString UpdateController::getCurrentStreamingPath() const
|
||||
return currentStreamingPath;
|
||||
}
|
||||
|
||||
QList<FileData> UpdateController::prepareRealPathList(QList<FileData> fileData)
|
||||
{
|
||||
return *assetManager->prepareRealPathList(&fileData);
|
||||
}
|
||||
|
||||
void UpdateController::setLocalFileData(QList<FileData> dataList)
|
||||
{
|
||||
serverDataList.append(dataList);
|
||||
@@ -250,9 +255,8 @@ bool UpdateController::checkNeedUpdate(ClientHandler *handler)
|
||||
{
|
||||
QList<FileData> *forSend = new QList<FileData>;
|
||||
QList<FileData> *forDelete = new QList<FileData>;
|
||||
Client *client = handler->getClient();
|
||||
|
||||
fileSendList.clear();
|
||||
fileDeleteList.clear();
|
||||
sizeToSend = 0;
|
||||
|
||||
bool needUpdate = false;
|
||||
@@ -282,45 +286,38 @@ bool UpdateController::checkNeedUpdate(ClientHandler *handler)
|
||||
if(forSend->length() > 0) //формирование сообщения об обновлении
|
||||
{
|
||||
QString log;
|
||||
log.append(" Client: " + handler->getClient()->getLogin());
|
||||
log.append(" Client: " + client->getLogin());
|
||||
log.append(" Need updates: ");
|
||||
log.append(QString::number(forSend->length()));
|
||||
log.append(" objects");
|
||||
fileSendList = *forSend;
|
||||
|
||||
client->setFileSendList(*forSend);
|
||||
Logger::instance().log(log);
|
||||
//printFileList(*forSend);
|
||||
|
||||
//handler->sendMessageBlock(log);
|
||||
needUpdate = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
QString log;
|
||||
log.append(" Client: " + handler->getClient()->getLogin());
|
||||
log.append(" Client: " + client->getLogin());
|
||||
log.append(" no update required");
|
||||
Logger::instance().log(log);
|
||||
//handler->sendMessageBlock(log);
|
||||
}
|
||||
|
||||
if(forDelete->length() > 0){
|
||||
QString log;
|
||||
log.append(" Client: " + handler->getClient()->getLogin());
|
||||
log.append(" Client: " + client->getLogin());
|
||||
|
||||
log.append(" Need delete: ");
|
||||
log.append(QString::number(forDelete->length()));
|
||||
log.append(" objects");
|
||||
fileDeleteList = *forDelete;
|
||||
client->setFileDeleteList(*forDelete);
|
||||
|
||||
Logger::instance().log(log);
|
||||
//printFileList(*forDelete);
|
||||
//handler->sendMessageBlock(log);
|
||||
needUpdate = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
QString log;
|
||||
log.append(" Client: " + handler->getClient()->getLogin());
|
||||
log.append(" Client: " + client->getLogin());
|
||||
log.append(" no delete required");
|
||||
|
||||
Logger::instance().log(log);
|
||||
@@ -329,6 +326,7 @@ bool UpdateController::checkNeedUpdate(ClientHandler *handler)
|
||||
|
||||
CalculateSizeToSend(*forSend);
|
||||
handler->sendNeedUpdate(needUpdate,sizeToSend,forSend->length(),forDelete->length());
|
||||
|
||||
return needUpdate;
|
||||
}
|
||||
|
||||
@@ -550,6 +548,8 @@ void UpdateController::xmlFileDataParse(QByteArray array)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
StreamingVersionData* UpdateController::getCurrentVersion()
|
||||
{
|
||||
return assetManager->getCurrentVersionData();
|
||||
@@ -566,18 +566,6 @@ void UpdateController::printFileList(QList<FileData> fileData)
|
||||
}
|
||||
}
|
||||
|
||||
QList<FileData> UpdateController::getFileDeleteList() const
|
||||
{
|
||||
return fileDeleteList;
|
||||
}
|
||||
|
||||
QList<FileData> UpdateController::getFileSendList()
|
||||
{
|
||||
QList<FileData> *copy = new QList<FileData>(fileSendList);
|
||||
QList<FileData> sendList = *assetManager->prepareRealPathList(copy);
|
||||
return sendList;
|
||||
}
|
||||
|
||||
QList<FileData> UpdateController::getClientDataList() const
|
||||
{
|
||||
return clientDataList;
|
||||
|
||||
Reference in New Issue
Block a user