ShatteredPrism/launcher/minecraft/auth/steps/YggdrasilStep.h
Reider745 60234a550b
Some checks failed
CodeQL Code Scanning / CodeQL (push) Has been cancelled
Build Application / Build Debug (push) Has been cancelled
Nix / Build (${{ matrix.system }}) (macos-13, x86_64-darwin) (push) Has been cancelled
Nix / Build (${{ matrix.system }}) (macos-14, aarch64-darwin) (push) Has been cancelled
Nix / Build (${{ matrix.system }}) (ubuntu-22.04, x86_64-linux) (push) Has been cancelled
Nix / Build (${{ matrix.system }}) (ubuntu-22.04-arm, aarch64-linux) (push) Has been cancelled
Update Flake Lockfile / update-flake (push) Has been cancelled
feat: auto install modpack & choise nickname
2025-04-15 11:13:45 +03:00

38 lines
809 B
C++
Executable File

#pragma once
#include <QObject>
#include <optional>
#include "minecraft/auth/AuthStep.h"
#include "net/NetJob.h"
#include "net/Upload.h"
class Yggdrasil;
class YggdrasilStep : public AuthStep {
Q_OBJECT
public:
explicit YggdrasilStep(AccountData* data, std::optional<QString> password);
virtual ~YggdrasilStep() noexcept = default;
void perform() override;
QString describe() override;
private slots:
void onRequestDone();
private:
void login(QString password);
void refresh();
void processResponse(QJsonObject responseData);
void processError(QJsonObject responseData);
std::optional<QString> m_password;
std::shared_ptr<QByteArray> m_response;
Net::Upload::Ptr m_request;
NetJob::Ptr m_task;
bool m_didSelectProfile = false;
};