Files
RRJClient/Core/postprocessorsystem.cpp
2026-03-18 10:47:43 +03:00

93 lines
2.5 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#include "postprocessorsystem.h"
PostProcessorSystem::PostProcessorSystem(QObject *parent) :
QObject(parent),
hashComparer(nullptr),
versionContainer(nullptr),
updateController(nullptr),
dataParserOutput(nullptr){}
void PostProcessorSystem::initialize(DataParserOutput *dataParserOutput,
HashComparer *hashComparer,
VersionContainer* versionContainer,
UpdateController* updateController)
{
this->hashComparer = hashComparer;
this->versionContainer = versionContainer;
this->updateController = updateController;
this->dataParserOutput = dataParserOutput;
}
void PostProcessorSystem::userArchived()
{
emit sigShowError(ErrorsEnum::ARCHIVED);
}
void PostProcessorSystem::wrongLoginOrPass()
{
emit sigShowError(ErrorsEnum::LOGIN_OR_PASS);
}
void PostProcessorSystem::alreadyLogin()
{
emit sigShowError(ErrorsEnum::ALREADYLOGIN);
}
void PostProcessorSystem::socketDisable()
{
emit sigShowError(ErrorsEnum::DISABLE);
}
void PostProcessorSystem::serverBlocked()
{
emit sigShowError(ErrorsEnum::BLOCKED);
}
void PostProcessorSystem::startCompare()
{
QList<FileData> *serverStreamingHash = new QList<FileData>;
QList<FileData> *localStreamingHash = new QList<FileData>;
QFile file(serverHash);
file.open(QIODevice::ReadOnly | QIODevice::Text);
serverStreamingHash = dataParserOutput->xmlFileDataParse(file.readAll(),"StreamingAssets");
file.close();
QFile file2(streamingHashFilename);
file2.open(QIODevice::ReadOnly | QIODevice::Text);
localStreamingHash = dataParserOutput->xmlFileDataParse(file2.readAll(),"StreamingAssets");
file2.close();
emit sigStartCompare(serverStreamingHash,*localStreamingHash);
}
void PostProcessorSystem::compareFiles()
{
updateController->updateFilesOnServer(hashComparer->getFilesForUpdate());
}
void PostProcessorSystem::saveLoginData(ServerAuthorization *auth)
{
emit sigSaveLoginData(auth);
dataParserOutput->createAuthData(auth);
}
void PostProcessorSystem::setServerVersion(StreamingVersionData *serverVersion)
{
versionContainer->setServerVersionData(serverVersion);
}
void PostProcessorSystem::calculateCommonHash()
{
updateController->calculateCommonHash();
}
void UpdateController::checkCanUpdate()
{
QByteArray checkUpdate = dataParserOut->xmlAnswer_notify("CANCHANGE"); //TODO: ПЕРЕВЕСТИ НА PACKAGETYPE
sendSystem->sendXMLAnswer(checkUpdate);
}