aboutsummaryrefslogtreecommitdiff
path: root/launcher/net
diff options
context:
space:
mode:
authorflow <flowlnlnln@gmail.com>2023-01-24 16:52:09 -0300
committerflow <flowlnlnln@gmail.com>2023-01-25 16:57:51 -0300
commit29f7ea752fd34bdea64a7c7f2c505982ac39ce0d (patch)
treef3d76dd640ae4f6a241fb0ff4532d938dc1c33bd /launcher/net
parent5186ad95d3cd66da8c844d9c3c0cd95b8b2f0b94 (diff)
downloadPrismLauncher-29f7ea752fd34bdea64a7c7f2c505982ac39ce0d.tar.gz
PrismLauncher-29f7ea752fd34bdea64a7c7f2c505982ac39ce0d.tar.bz2
PrismLauncher-29f7ea752fd34bdea64a7c7f2c505982ac39ce0d.zip
refactor: make shared_qobject_ptr ctor explicit
This turns issues like creating two shared ptrs from a single raw ptr from popping up at runtime, instead making them a compile error. Signed-off-by: flow <flowlnlnln@gmail.com>
Diffstat (limited to 'launcher/net')
-rw-r--r--launcher/net/Download.cpp11
-rw-r--r--launcher/net/Download.h3
-rw-r--r--launcher/net/Upload.cpp2
-rw-r--r--launcher/net/Upload.h2
4 files changed, 6 insertions, 12 deletions
diff --git a/launcher/net/Download.cpp b/launcher/net/Download.cpp
index fd3dbedc..5982c8c9 100644
--- a/launcher/net/Download.cpp
+++ b/launcher/net/Download.cpp
@@ -49,14 +49,9 @@
namespace Net {
-Download::Download() : NetAction()
-{
- m_state = State::Inactive;
-}
-
auto Download::makeCached(QUrl url, MetaEntryPtr entry, Options options) -> Download::Ptr
{
- auto* dl = new Download();
+ auto dl = makeShared<Download>();
dl->m_url = url;
dl->m_options = options;
auto md5Node = new ChecksumValidator(QCryptographicHash::Md5);
@@ -67,7 +62,7 @@ auto Download::makeCached(QUrl url, MetaEntryPtr entry, Options options) -> Down
auto Download::makeByteArray(QUrl url, QByteArray* output, Options options) -> Download::Ptr
{
- auto* dl = new Download();
+ auto dl = makeShared<Download>();
dl->m_url = url;
dl->m_options = options;
dl->m_sink.reset(new ByteArraySink(output));
@@ -76,7 +71,7 @@ auto Download::makeByteArray(QUrl url, QByteArray* output, Options options) -> D
auto Download::makeFile(QUrl url, QString path, Options options) -> Download::Ptr
{
- auto* dl = new Download();
+ auto dl = makeShared<Download>();
dl->m_url = url;
dl->m_options = options;
dl->m_sink.reset(new FileSink(path));
diff --git a/launcher/net/Download.h b/launcher/net/Download.h
index 3faa5db5..7e1df322 100644
--- a/launcher/net/Download.h
+++ b/launcher/net/Download.h
@@ -52,9 +52,6 @@ class Download : public NetAction {
enum class Option { NoOptions = 0, AcceptLocalFiles = 1, MakeEternal = 2 };
Q_DECLARE_FLAGS(Options, Option)
- protected:
- explicit Download();
-
public:
~Download() override = default;
diff --git a/launcher/net/Upload.cpp b/launcher/net/Upload.cpp
index f3b19022..79b6af8d 100644
--- a/launcher/net/Upload.cpp
+++ b/launcher/net/Upload.cpp
@@ -233,7 +233,7 @@ namespace Net {
}
Upload::Ptr Upload::makeByteArray(QUrl url, QByteArray *output, QByteArray m_post_data) {
- auto* up = new Upload();
+ auto up = makeShared<Upload>();
up->m_url = std::move(url);
up->m_sink.reset(new ByteArraySink(output));
up->m_post_data = std::move(m_post_data);
diff --git a/launcher/net/Upload.h b/launcher/net/Upload.h
index 7c194bbc..5a0b2e74 100644
--- a/launcher/net/Upload.h
+++ b/launcher/net/Upload.h
@@ -45,6 +45,8 @@ namespace Net {
Q_OBJECT
public:
+ using Ptr = shared_qobject_ptr<Upload>;
+
static Upload::Ptr makeByteArray(QUrl url, QByteArray *output, QByteArray m_post_data);
auto abort() -> bool override;
auto canAbort() const -> bool override { return true; };