34 lines
718 B
C
34 lines
718 B
C
|
#pragma once
|
||
|
#include <QObject>
|
||
|
#include <QList>
|
||
|
#include <QNetworkReply>
|
||
|
|
||
|
#include "QObjectPtr.h"
|
||
|
#include "minecraft/auth/AccountData.h"
|
||
|
#include "AccountTask.h"
|
||
|
|
||
|
class AuthStep : public QObject {
|
||
|
Q_OBJECT
|
||
|
|
||
|
public:
|
||
|
using Ptr = shared_qobject_ptr<AuthStep>;
|
||
|
|
||
|
public:
|
||
|
explicit AuthStep(AccountData *data);
|
||
|
virtual ~AuthStep() noexcept;
|
||
|
|
||
|
virtual QString describe() = 0;
|
||
|
|
||
|
public slots:
|
||
|
virtual void perform() = 0;
|
||
|
virtual void rehydrate() = 0;
|
||
|
|
||
|
signals:
|
||
|
void finished(AccountTaskState resultingState, QString message);
|
||
|
void showVerificationUriAndCode(const QUrl &uri, const QString &code, int expiresIn);
|
||
|
void hideVerificationUriAndCode();
|
||
|
|
||
|
protected:
|
||
|
AccountData *m_data;
|
||
|
};
|