diff options
author | flow <thiagodonato300@gmail.com> | 2022-04-21 22:12:14 -0300 |
---|---|---|
committer | flow <thiagodonato300@gmail.com> | 2022-05-12 18:11:49 -0300 |
commit | 8c8eabf7ac1920b47792b26790f3646cb6693ec0 (patch) | |
tree | 4cb5fca254ad911b52f7aaf4b5af6009ea6f6329 /launcher/net/ByteArraySink.h | |
parent | 649b8ac7c6e12fcf91d204f908e027d3bfbb6a2a (diff) | |
download | PrismLauncher-8c8eabf7ac1920b47792b26790f3646cb6693ec0.tar.gz PrismLauncher-8c8eabf7ac1920b47792b26790f3646cb6693ec0.tar.bz2 PrismLauncher-8c8eabf7ac1920b47792b26790f3646cb6693ec0.zip |
refactor: organize a little more the code in launcher/net/
This also reduces some code duplication by using some Task logic in
NetAction.
Diffstat (limited to 'launcher/net/ByteArraySink.h')
-rw-r--r-- | launcher/net/ByteArraySink.h | 67 |
1 files changed, 33 insertions, 34 deletions
diff --git a/launcher/net/ByteArraySink.h b/launcher/net/ByteArraySink.h index 20e6764c..75a66574 100644 --- a/launcher/net/ByteArraySink.h +++ b/launcher/net/ByteArraySink.h @@ -3,60 +3,59 @@ #include "Sink.h" namespace Net { + /* * Sink object for downloads that uses an external QByteArray it doesn't own as a target. */ -class ByteArraySink : public Sink -{ -public: - ByteArraySink(QByteArray *output) - :m_output(output) - { - // nil - }; +class ByteArraySink : public Sink { + public: + ByteArraySink(QByteArray* output) : m_output(output){}; - virtual ~ByteArraySink() - { - // nil - } + virtual ~ByteArraySink() = default; -public: - JobStatus init(QNetworkRequest & request) override + public: + auto init(QNetworkRequest& request) -> Task::State override { + if(!m_output) + return Task::State::Failed; + m_output->clear(); - if(initAllValidators(request)) - return Job_InProgress; - return Job_Failed; + if (initAllValidators(request)) + return Task::State::Running; + return Task::State::Failed; }; - JobStatus write(QByteArray & data) override + auto write(QByteArray& data) -> Task::State override { + if(!m_output) + return Task::State::Failed; + m_output->append(data); - if(writeAllValidators(data)) - return Job_InProgress; - return Job_Failed; + if (writeAllValidators(data)) + return Task::State::Running; + return Task::State::Failed; } - JobStatus abort() override + auto abort() -> Task::State override { + if(!m_output) + return Task::State::Failed; + m_output->clear(); failAllValidators(); - return Job_Failed; + return Task::State::Failed; } - JobStatus finalize(QNetworkReply &reply) override + auto finalize(QNetworkReply& reply) -> Task::State override { - if(finalizeAllValidators(reply)) - return Job_Finished; - return Job_Failed; + if (finalizeAllValidators(reply)) + return Task::State::Succeeded; + return Task::State::Failed; } - bool hasLocalData() override - { - return false; - } + auto hasLocalData() -> bool override { return false; } -private: - QByteArray * m_output; + private: + QByteArray* m_output; }; -} +} // namespace Net |