aboutsummaryrefslogtreecommitdiff
path: root/api/logic/minecraft/auth-msa/context.h
diff options
context:
space:
mode:
Diffstat (limited to 'api/logic/minecraft/auth-msa/context.h')
-rw-r--r--api/logic/minecraft/auth-msa/context.h128
1 files changed, 0 insertions, 128 deletions
diff --git a/api/logic/minecraft/auth-msa/context.h b/api/logic/minecraft/auth-msa/context.h
deleted file mode 100644
index f1ac99b8..00000000
--- a/api/logic/minecraft/auth-msa/context.h
+++ /dev/null
@@ -1,128 +0,0 @@
-#pragma once
-
-#include <QObject>
-#include <QList>
-#include <QVector>
-#include <QNetworkReply>
-#include <QImage>
-
-#include <katabasis/OAuth2.h>
-
-struct Skin {
- QString id;
- QString url;
- QString variant;
-
- QByteArray data;
-};
-
-struct Cape {
- QString id;
- QString url;
- QString alias;
-
- QByteArray data;
-};
-
-struct MinecraftProfile {
- QString id;
- QString name;
- Skin skin;
- int currentCape = -1;
- QVector<Cape> capes;
- Katabasis::Validity validity = Katabasis::Validity::None;
-};
-
-enum class AccountType {
- MSA,
- Mojang
-};
-
-struct AccountData {
- AccountType type = AccountType::MSA;
-
- Katabasis::Token msaToken;
- Katabasis::Token userToken;
- Katabasis::Token xboxApiToken;
- Katabasis::Token mojangservicesToken;
- Katabasis::Token minecraftToken;
-
- MinecraftProfile minecraftProfile;
- Katabasis::Validity validity_ = Katabasis::Validity::None;
-};
-
-class Context : public QObject
-{
- Q_OBJECT
-
-public:
- explicit Context(QObject *parent = 0);
-
- QByteArray saveState();
- bool resumeFromState(QByteArray data);
-
- bool isBusy() {
- return activity_ != Katabasis::Activity::Idle;
- };
- Katabasis::Validity validity() {
- return m_account.validity_;
- };
-
- bool signIn();
- bool silentSignIn();
- bool signOut();
-
- QString userName();
- QString userId();
- QString gameToken();
-signals:
- void succeeded();
- void failed();
- void activityChanged(Katabasis::Activity activity);
-
-private slots:
- void onLinkingSucceeded();
- void onLinkingFailed();
- void onOpenBrowser(const QUrl &url);
- void onCloseBrowser();
- void onOAuthActivityChanged(Katabasis::Activity activity);
-
-private:
- void doUserAuth();
- Q_SLOT void onUserAuthDone(int, QNetworkReply::NetworkError, QByteArray, QList<QNetworkReply::RawHeaderPair>);
-
- void doSTSAuthMinecraft();
- Q_SLOT void onSTSAuthMinecraftDone(int, QNetworkReply::NetworkError, QByteArray, QList<QNetworkReply::RawHeaderPair>);
- void doMinecraftAuth();
- Q_SLOT void onMinecraftAuthDone(int, QNetworkReply::NetworkError, QByteArray, QList<QNetworkReply::RawHeaderPair>);
-
- void doSTSAuthGeneric();
- Q_SLOT void onSTSAuthGenericDone(int, QNetworkReply::NetworkError, QByteArray, QList<QNetworkReply::RawHeaderPair>);
- void doXBoxProfile();
- Q_SLOT void onXBoxProfileDone(int, QNetworkReply::NetworkError, QByteArray, QList<QNetworkReply::RawHeaderPair>);
-
- void doMinecraftProfile();
- Q_SLOT void onMinecraftProfileDone(int, QNetworkReply::NetworkError, QByteArray, QList<QNetworkReply::RawHeaderPair>);
-
- void doGetSkin();
- Q_SLOT void onSkinDone(int, QNetworkReply::NetworkError, QByteArray, QList<QNetworkReply::RawHeaderPair>);
-
- void checkResult();
-
-private:
- void beginActivity(Katabasis::Activity activity);
- void finishActivity();
- void clearTokens();
-
-private:
- Katabasis::OAuth2 *oauth2 = nullptr;
-
- int requestsDone = 0;
- bool xboxProfileSucceeded = false;
- bool mcAuthSucceeded = false;
- Katabasis::Activity activity_ = Katabasis::Activity::Idle;
-
- AccountData m_account;
-
- QNetworkAccessManager *mgr = nullptr;
-};