From 9fe2f6126dc7b9396d188b57ccb097f0035f57b7 Mon Sep 17 00:00:00 2001 From: Silarn Date: Mon, 20 Aug 2018 18:34:31 -0500 Subject: Initial Nexus API changes: - Switch to SSO with WebSocket - Update endpoints (all but version checking) --- src/nxmaccessmanager.h | 61 ++++++++++++++++++++------------------------------ 1 file changed, 24 insertions(+), 37 deletions(-) (limited to 'src/nxmaccessmanager.h') diff --git a/src/nxmaccessmanager.h b/src/nxmaccessmanager.h index c58c4cc3..b316ef77 100644 --- a/src/nxmaccessmanager.h +++ b/src/nxmaccessmanager.h @@ -43,12 +43,12 @@ public: void setNMMVersion(const QString &nmmVersion); - bool loggedIn() const; + bool validated() const; - bool loginAttempted() const; - bool loginWaiting() const; + bool validateAttempted() const; + bool validateWaiting() const; - void login(const QString &username, const QString &password); + void apiCheck(const QString &apiKey); void showCookies() const; @@ -56,9 +56,11 @@ public: QString userAgent(const QString &subModule = QString()) const; - void startLoginCheck(); + QString apiKey() const; - void refuseLogin(); + void startValidationCheck(); + + void refuseValidation(); signals: @@ -74,18 +76,17 @@ signals: * * @param necessary true if a login was necessary and succeeded, false if the user is still logged in **/ - void loginSuccessful(bool necessary); + void validateSuccessful(bool necessary); - void loginFailed(const QString &message); + void validateFailed(const QString &message); void credentialsReceived(const QString &userName, bool premium); private slots: - void loginChecked(); - void loginFinished(); - void loginError(QNetworkReply::NetworkError errorCode); - void loginTimeout(); + void validateFinished(); + void validateError(QNetworkReply::NetworkError errorCode); + void validateTimeout(); protected: @@ -95,38 +96,24 @@ protected: private: - void pageLogin(); -// void dlLogin(); - - bool hasLoginCookies() const; - - void retrieveCredentials(); - -private: - - static const std::set s_PremiumAccountStates; - -private: - - QTimer m_LoginTimeout; - QNetworkReply *m_LoginReply; + QTimer m_ValidateTimeout; + QNetworkReply *m_ValidateReply; QProgressDialog *m_ProgressDialog { nullptr }; QString m_MOVersion; QString m_NMMVersion; - QString m_Username; - QString m_Password; + QString m_ApiKey; - bool m_LoginAttempted; + bool m_ValidateAttempted; enum { - LOGIN_NOT_CHECKED, - LOGIN_CHECKING, - LOGIN_NOT_VALID, - LOGIN_ATTEMPT_FAILED, - LOGIN_REFUSED, - LOGIN_VALID - } m_LoginState = LOGIN_NOT_CHECKED; + VALIDATE_NOT_CHECKED, + VALIDATE_CHECKING, + VALIDATE_NOT_VALID, + VALIDATE_ATTEMPT_FAILED, + VALIDATE_REFUSED, + VALIDATE_VALID + } m_ValidateState = VALIDATE_NOT_CHECKED; }; -- cgit v1.3.1