aboutsummaryrefslogtreecommitdiff
path: root/launcher/net/ByteArraySink.h
diff options
context:
space:
mode:
authorRachel Powers <508861+Ryex@users.noreply.github.com>2023-07-02 19:32:25 -0700
committerGitHub <noreply@github.com>2023-07-02 19:32:25 -0700
commitca061080c13042642fb3bd49a29a863756f45866 (patch)
treea468b90c31ecb0cb5f2ca7885c2ecc7d4ab09570 /launcher/net/ByteArraySink.h
parent2680dba0aa74abefea58903dadad6578381101cb (diff)
parent3ad559ab22b6b20264eebb826efc4227374a64cc (diff)
downloadPrismLauncher-ca061080c13042642fb3bd49a29a863756f45866.tar.gz
PrismLauncher-ca061080c13042642fb3bd49a29a863756f45866.tar.bz2
PrismLauncher-ca061080c13042642fb3bd49a29a863756f45866.zip
Merge pull request #2 from Trial97/feat/acknowledge_release_type
Feat/acknowledge release type
Diffstat (limited to 'launcher/net/ByteArraySink.h')
-rw-r--r--launcher/net/ByteArraySink.h22
1 files changed, 16 insertions, 6 deletions
diff --git a/launcher/net/ByteArraySink.h b/launcher/net/ByteArraySink.h
index 501318a1..d6b17d60 100644
--- a/launcher/net/ByteArraySink.h
+++ b/launcher/net/ByteArraySink.h
@@ -1,7 +1,8 @@
// SPDX-License-Identifier: GPL-3.0-only
/*
- * PolyMC - Minecraft Launcher
+ * Prism Launcher - Minecraft Launcher
* Copyright (c) 2022 flowln <flowlnlnln@gmail.com>
+ * Copyright (c) 2023 Trial97 <alexandru.tripon97@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -46,14 +47,17 @@ namespace Net {
*/
class ByteArraySink : public Sink {
public:
- ByteArraySink(QByteArray* output) : m_output(output){};
+ ByteArraySink(std::shared_ptr<QByteArray> output) : m_output(output){};
virtual ~ByteArraySink() = default;
public:
auto init(QNetworkRequest& request) -> Task::State override
{
- m_output->clear();
+ if (m_output)
+ m_output->clear();
+ else
+ qWarning() << "ByteArraySink did not initialize the buffer because it's not addressable";
if (initAllValidators(request))
return Task::State::Running;
return Task::State::Failed;
@@ -61,7 +65,10 @@ class ByteArraySink : public Sink {
auto write(QByteArray& data) -> Task::State override
{
- m_output->append(data);
+ if (m_output)
+ m_output->append(data);
+ else
+ qWarning() << "ByteArraySink did not write the buffer because it's not addressable";
if (writeAllValidators(data))
return Task::State::Running;
return Task::State::Failed;
@@ -69,7 +76,10 @@ class ByteArraySink : public Sink {
auto abort() -> Task::State override
{
- m_output->clear();
+ if (m_output)
+ m_output->clear();
+ else
+ qWarning() << "ByteArraySink did not clear the buffer because it's not addressable";
failAllValidators();
return Task::State::Failed;
}
@@ -84,6 +94,6 @@ class ByteArraySink : public Sink {
auto hasLocalData() -> bool override { return false; }
private:
- QByteArray* m_output;
+ std::shared_ptr<QByteArray> m_output;
};
} // namespace Net