2014-01-27 07:30:49 +05:30
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <QString>
|
|
|
|
#include <QMultiMap>
|
|
|
|
#include <memory>
|
2021-11-20 20:52:22 +05:30
|
|
|
#include "QObjectPtr.h"
|
2014-01-27 07:30:49 +05:30
|
|
|
|
2021-07-27 01:14:11 +05:30
|
|
|
class MinecraftAccount;
|
2021-11-20 20:52:22 +05:30
|
|
|
class QNetworkAccessManager;
|
2014-01-27 07:30:49 +05:30
|
|
|
|
2021-07-25 22:41:59 +05:30
|
|
|
struct AuthSession
|
2014-01-27 07:30:49 +05:30
|
|
|
{
|
2018-07-15 18:21:05 +05:30
|
|
|
bool MakeOffline(QString offline_playername);
|
|
|
|
|
|
|
|
QString serializeUserProperties();
|
|
|
|
|
|
|
|
enum Status
|
|
|
|
{
|
|
|
|
Undetermined,
|
2021-07-27 01:14:11 +05:30
|
|
|
RequiresOAuth,
|
2018-07-15 18:21:05 +05:30
|
|
|
RequiresPassword,
|
2021-11-10 07:32:51 +05:30
|
|
|
RequiresProfileSetup,
|
2018-07-15 18:21:05 +05:30
|
|
|
PlayableOffline,
|
2021-08-29 23:28:35 +05:30
|
|
|
PlayableOnline,
|
|
|
|
GoneOrMigrated
|
2018-07-15 18:21:05 +05:30
|
|
|
} status = Undetermined;
|
|
|
|
|
|
|
|
// client token
|
|
|
|
QString client_token;
|
|
|
|
// account user name
|
|
|
|
QString username;
|
|
|
|
// combined session ID
|
|
|
|
QString session;
|
|
|
|
// volatile auth token
|
|
|
|
QString access_token;
|
|
|
|
// profile name
|
|
|
|
QString player_name;
|
|
|
|
// profile ID
|
|
|
|
QString uuid;
|
|
|
|
// 'legacy' or 'mojang', depending on account type
|
|
|
|
QString user_type;
|
|
|
|
// Did the auth server reply?
|
|
|
|
bool auth_server_online = false;
|
|
|
|
// Did the user request online mode?
|
|
|
|
bool wants_online = true;
|
2014-01-27 07:30:49 +05:30
|
|
|
};
|
|
|
|
|
|
|
|
typedef std::shared_ptr<AuthSession> AuthSessionPtr;
|