aboutsummaryrefslogtreecommitdiff
path: root/api/logic/minecraft/services
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2021-07-25 19:11:59 +0200
committerPetr Mrázek <peterix@gmail.com>2021-07-25 19:50:44 +0200
commit20b9f2b42a3b58b6081af271774fbcc34025dccb (patch)
tree064fa59facb3357139b47bd4e60bfc8edb35ca11 /api/logic/minecraft/services
parentdd133680858351e3e07690e286882327a4f42ba5 (diff)
downloadPrismLauncher-20b9f2b42a3b58b6081af271774fbcc34025dccb.tar.gz
PrismLauncher-20b9f2b42a3b58b6081af271774fbcc34025dccb.tar.bz2
PrismLauncher-20b9f2b42a3b58b6081af271774fbcc34025dccb.zip
NOISSUE Flatten gui and logic libraries into MultiMC
Diffstat (limited to 'api/logic/minecraft/services')
-rw-r--r--api/logic/minecraft/services/SkinDelete.cpp42
-rw-r--r--api/logic/minecraft/services/SkinDelete.h30
-rw-r--r--api/logic/minecraft/services/SkinUpload.cpp66
-rw-r--r--api/logic/minecraft/services/SkinUpload.h39
4 files changed, 0 insertions, 177 deletions
diff --git a/api/logic/minecraft/services/SkinDelete.cpp b/api/logic/minecraft/services/SkinDelete.cpp
deleted file mode 100644
index 34977257..00000000
--- a/api/logic/minecraft/services/SkinDelete.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-#include "SkinDelete.h"
-#include <QNetworkRequest>
-#include <QHttpMultiPart>
-#include <Env.h>
-
-SkinDelete::SkinDelete(QObject *parent, AuthSessionPtr session)
- : Task(parent), m_session(session)
-{
-}
-
-void SkinDelete::executeTask()
-{
- QNetworkRequest request(QUrl("https://api.minecraftservices.com/minecraft/profile/skins/active"));
- request.setRawHeader("Authorization", QString("Bearer %1").arg(m_session->access_token).toLocal8Bit());
- QNetworkReply *rep = ENV.qnam().deleteResource(request);
- m_reply = std::shared_ptr<QNetworkReply>(rep);
-
- setStatus(tr("Deleting skin"));
- connect(rep, &QNetworkReply::uploadProgress, this, &Task::setProgress);
- connect(rep, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(downloadError(QNetworkReply::NetworkError)));
- connect(rep, SIGNAL(finished()), this, SLOT(downloadFinished()));
-}
-
-void SkinDelete::downloadError(QNetworkReply::NetworkError error)
-{
- // error happened during download.
- qCritical() << "Network error: " << error;
- emitFailed(m_reply->errorString());
-}
-
-void SkinDelete::downloadFinished()
-{
- // if the download failed
- if (m_reply->error() != QNetworkReply::NetworkError::NoError)
- {
- emitFailed(QString("Network error: %1").arg(m_reply->errorString()));
- m_reply.reset();
- return;
- }
- emitSucceeded();
-}
-
diff --git a/api/logic/minecraft/services/SkinDelete.h b/api/logic/minecraft/services/SkinDelete.h
deleted file mode 100644
index 705ce8ef..00000000
--- a/api/logic/minecraft/services/SkinDelete.h
+++ /dev/null
@@ -1,30 +0,0 @@
-#pragma once
-
-#include <QFile>
-#include <QtNetwork/QtNetwork>
-#include <memory>
-#include <minecraft/auth/AuthSession.h>
-#include "tasks/Task.h"
-#include "multimc_logic_export.h"
-
-typedef std::shared_ptr<class SkinDelete> SkinDeletePtr;
-
-class MULTIMC_LOGIC_EXPORT SkinDelete : public Task
-{
- Q_OBJECT
-public:
- SkinDelete(QObject *parent, AuthSessionPtr session);
- virtual ~SkinDelete() = default;
-
-private:
- AuthSessionPtr m_session;
- std::shared_ptr<QNetworkReply> m_reply;
-
-protected:
- virtual void executeTask();
-
-public slots:
- void downloadError(QNetworkReply::NetworkError);
- void downloadFinished();
-};
-
diff --git a/api/logic/minecraft/services/SkinUpload.cpp b/api/logic/minecraft/services/SkinUpload.cpp
deleted file mode 100644
index 4e5a1698..00000000
--- a/api/logic/minecraft/services/SkinUpload.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-#include "SkinUpload.h"
-#include <QNetworkRequest>
-#include <QHttpMultiPart>
-#include <Env.h>
-
-QByteArray getVariant(SkinUpload::Model model) {
- switch (model) {
- default:
- qDebug() << "Unknown skin type!";
- case SkinUpload::STEVE:
- return "CLASSIC";
- case SkinUpload::ALEX:
- return "SLIM";
- }
-}
-
-SkinUpload::SkinUpload(QObject *parent, AuthSessionPtr session, QByteArray skin, SkinUpload::Model model)
- : Task(parent), m_model(model), m_skin(skin), m_session(session)
-{
-}
-
-void SkinUpload::executeTask()
-{
- QNetworkRequest request(QUrl("https://api.minecraftservices.com/minecraft/profile/skins"));
- request.setRawHeader("Authorization", QString("Bearer %1").arg(m_session->access_token).toLocal8Bit());
- QHttpMultiPart *multiPart = new QHttpMultiPart(QHttpMultiPart::FormDataType);
-
- QHttpPart skin;
- skin.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("image/png"));
- skin.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"file\"; filename=\"skin.png\""));
- skin.setBody(m_skin);
-
- QHttpPart model;
- model.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"variant\""));
- model.setBody(getVariant(m_model));
-
- multiPart->append(skin);
- multiPart->append(model);
-
- QNetworkReply *rep = ENV.qnam().post(request, multiPart);
- m_reply = std::shared_ptr<QNetworkReply>(rep);
-
- setStatus(tr("Uploading skin"));
- connect(rep, &QNetworkReply::uploadProgress, this, &Task::setProgress);
- connect(rep, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(downloadError(QNetworkReply::NetworkError)));
- connect(rep, SIGNAL(finished()), this, SLOT(downloadFinished()));
-}
-
-void SkinUpload::downloadError(QNetworkReply::NetworkError error)
-{
- // error happened during download.
- qCritical() << "Network error: " << error;
- emitFailed(m_reply->errorString());
-}
-
-void SkinUpload::downloadFinished()
-{
- // if the download failed
- if (m_reply->error() != QNetworkReply::NetworkError::NoError)
- {
- emitFailed(QString("Network error: %1").arg(m_reply->errorString()));
- m_reply.reset();
- return;
- }
- emitSucceeded();
-}
diff --git a/api/logic/minecraft/services/SkinUpload.h b/api/logic/minecraft/services/SkinUpload.h
deleted file mode 100644
index c77abb03..00000000
--- a/api/logic/minecraft/services/SkinUpload.h
+++ /dev/null
@@ -1,39 +0,0 @@
-#pragma once
-
-#include <QFile>
-#include <QtNetwork/QtNetwork>
-#include <memory>
-#include <minecraft/auth/AuthSession.h>
-#include "tasks/Task.h"
-#include "multimc_logic_export.h"
-
-typedef std::shared_ptr<class SkinUpload> SkinUploadPtr;
-
-class MULTIMC_LOGIC_EXPORT SkinUpload : public Task
-{
- Q_OBJECT
-public:
- enum Model
- {
- STEVE,
- ALEX
- };
-
- // Note this class takes ownership of the file.
- SkinUpload(QObject *parent, AuthSessionPtr session, QByteArray skin, Model model = STEVE);
- virtual ~SkinUpload() {}
-
-private:
- Model m_model;
- QByteArray m_skin;
- AuthSessionPtr m_session;
- std::shared_ptr<QNetworkReply> m_reply;
-protected:
- virtual void executeTask();
-
-public slots:
-
- void downloadError(QNetworkReply::NetworkError);
-
- void downloadFinished();
-};