Files
RRJClient/Core/postprocessorsystem.cpp
2025-08-15 14:47:57 +03:00

86 lines
2.3 KiB
C++
Raw Permalink 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::socketDisable()
{
emit sigSocketDisabled();
}
void PostProcessorSystem::serverBlocked()
{
emit sigServerBlocked();
}
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::checkAccessType(const QString& type)
{
if(type == "instructor")
{
emit sigCallUpdateList();
}
}
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);
}