Clementine-audio-player-Mac.../src/internet/ubuntuoneauthenticator.h

50 lines
1.3 KiB
C++

#ifndef UBUNTUONEAUTHENTICATOR_H
#define UBUNTUONEAUTHENTICATOR_H
#include <QObject>
class QNetworkReply;
class NetworkAccessManager;
class UbuntuOneAuthenticator : public QObject {
Q_OBJECT
public:
explicit UbuntuOneAuthenticator(QObject* parent = nullptr);
void StartAuthorisation(const QString& email, const QString& password);
bool success() const { return success_; }
QString consumer_key() const { return consumer_key_; }
QString consumer_secret() const { return consumer_secret_; }
QString token() const { return token_; }
QString token_secret() const { return token_secret_; }
static QByteArray GenerateAuthorisationHeader(const QString& consumer_key,
const QString& consumer_secret,
const QString& token,
const QString& token_secret);
signals:
void Finished();
private slots:
void AuthorisationFinished(QNetworkReply* reply);
void CopySSOTokensFinished(QNetworkReply* reply);
private:
void CopySSOTokens();
QByteArray GenerateAuthorisationHeader();
private:
NetworkAccessManager* network_;
bool success_;
QString consumer_key_;
QString consumer_secret_;
QString token_;
QString token_secret_;
};
#endif // UBUNTUONEAUTHENTICATOR_H