diff options
author | Andrew <forkk@forkk.net> | 2013-12-01 14:28:47 -0600 |
---|---|---|
committer | Andrew <forkk@forkk.net> | 2013-12-01 14:28:47 -0600 |
commit | 613699b3626aea750093ab7eaaeccaa28c0e87c6 (patch) | |
tree | 7fd542b8f4be10359ba2aaeac9834f1b5c86a750 /logic/auth/flows/RefreshTask.h | |
parent | 2427ad687137bbcfc7303a931d7e0b74d5325e48 (diff) | |
parent | 75c4d97b90e39f2bda6e682def0fdda044cbcf6f (diff) | |
download | PrismLauncher-613699b3626aea750093ab7eaaeccaa28c0e87c6.tar.gz PrismLauncher-613699b3626aea750093ab7eaaeccaa28c0e87c6.tar.bz2 PrismLauncher-613699b3626aea750093ab7eaaeccaa28c0e87c6.zip |
Merge branch 'develop' of github.com:MultiMC/MultiMC5 into develop
Diffstat (limited to 'logic/auth/flows/RefreshTask.h')
-rw-r--r-- | logic/auth/flows/RefreshTask.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/logic/auth/flows/RefreshTask.h b/logic/auth/flows/RefreshTask.h new file mode 100644 index 00000000..2596f6c7 --- /dev/null +++ b/logic/auth/flows/RefreshTask.h @@ -0,0 +1,43 @@ +/* Copyright 2013 MultiMC Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include <logic/auth/YggdrasilTask.h> + +#include <QObject> +#include <QString> +#include <QJsonObject> + +/** + * The authenticate task takes a MojangAccount with a possibly timed-out access token + * and attempts to authenticate with Mojang's servers. + * If successful, it will set the new access token. The token is considered validated. + */ +class RefreshTask : public YggdrasilTask +{ + Q_OBJECT +public: + RefreshTask(MojangAccountPtr account, QObject *parent = 0); + +protected: + virtual QJsonObject getRequestContent() const; + + virtual QString getEndpoint() const; + + virtual bool processResponse(QJsonObject responseData); + + QString getStateMessage(const YggdrasilTask::State state) const; +}; |