From 20b9f2b42a3b58b6081af271774fbcc34025dccb Mon Sep 17 00:00:00 2001 From: Petr Mrázek Date: Sun, 25 Jul 2021 19:11:59 +0200 Subject: NOISSUE Flatten gui and logic libraries into MultiMC --- api/logic/net/FileSink.cpp | 115 --------------------------------------------- 1 file changed, 115 deletions(-) delete mode 100644 api/logic/net/FileSink.cpp (limited to 'api/logic/net/FileSink.cpp') diff --git a/api/logic/net/FileSink.cpp b/api/logic/net/FileSink.cpp deleted file mode 100644 index 8b3e917d..00000000 --- a/api/logic/net/FileSink.cpp +++ /dev/null @@ -1,115 +0,0 @@ -#include "FileSink.h" -#include -#include -#include "Env.h" -#include "FileSystem.h" - -namespace Net { - -FileSink::FileSink(QString filename) - :m_filename(filename) -{ - // nil -} - -FileSink::~FileSink() -{ - // nil -} - -JobStatus FileSink::init(QNetworkRequest& request) -{ - auto result = initCache(request); - if(result != Job_InProgress) - { - return result; - } - // create a new save file and open it for writing - if (!FS::ensureFilePathExists(m_filename)) - { - qCritical() << "Could not create folder for " + m_filename; - return Job_Failed; - } - wroteAnyData = false; - m_output_file.reset(new QSaveFile(m_filename)); - if (!m_output_file->open(QIODevice::WriteOnly)) - { - qCritical() << "Could not open " + m_filename + " for writing"; - return Job_Failed; - } - - if(initAllValidators(request)) - return Job_InProgress; - return Job_Failed; -} - -JobStatus FileSink::initCache(QNetworkRequest &) -{ - return Job_InProgress; -} - -JobStatus FileSink::write(QByteArray& data) -{ - if (!writeAllValidators(data) || m_output_file->write(data) != data.size()) - { - qCritical() << "Failed writing into " + m_filename; - m_output_file->cancelWriting(); - m_output_file.reset(); - wroteAnyData = false; - return Job_Failed; - } - wroteAnyData = true; - return Job_InProgress; -} - -JobStatus FileSink::abort() -{ - m_output_file->cancelWriting(); - failAllValidators(); - return Job_Failed; -} - -JobStatus FileSink::finalize(QNetworkReply& reply) -{ - bool gotFile = false; - QVariant statusCodeV = reply.attribute(QNetworkRequest::HttpStatusCodeAttribute); - bool validStatus = false; - int statusCode = statusCodeV.toInt(&validStatus); - if(validStatus) - { - // this leaves out 304 Not Modified - gotFile = statusCode == 200 || statusCode == 203; - } - // if we wrote any data to the save file, we try to commit the data to the real file. - // if it actually got a proper file, we write it even if it was empty - if (gotFile || wroteAnyData) - { - // ask validators for data consistency - // we only do this for actual downloads, not 'your data is still the same' cache hits - if(!finalizeAllValidators(reply)) - return Job_Failed; - // nothing went wrong... - if (!m_output_file->commit()) - { - qCritical() << "Failed to commit changes to " << m_filename; - m_output_file->cancelWriting(); - return Job_Failed; - } - } - // then get rid of the save file - m_output_file.reset(); - - return finalizeCache(reply); -} - -JobStatus FileSink::finalizeCache(QNetworkReply &) -{ - return Job_Finished; -} - -bool FileSink::hasLocalData() -{ - QFileInfo info(m_filename); - return info.exists() && info.size() != 0; -} -} -- cgit