summaryrefslogtreecommitdiffstats
path: root/tasks
diff options
context:
space:
mode:
authorAndrew <forkk@forkk.net>2013-02-26 16:47:39 -0600
committerAndrew <forkk@forkk.net>2013-02-26 16:47:39 -0600
commit36396f7c6aca9fcc61c8620e10c31ed2c8999ebd (patch)
treeb5ef84aa020df1018821d66afe69ef6a53aadece /tasks
parentbd64cda6726e088ebc860c3fc3ee220ed00121bd (diff)
downloadMultiMC-36396f7c6aca9fcc61c8620e10c31ed2c8999ebd.tar
MultiMC-36396f7c6aca9fcc61c8620e10c31ed2c8999ebd.tar.gz
MultiMC-36396f7c6aca9fcc61c8620e10c31ed2c8999ebd.tar.lz
MultiMC-36396f7c6aca9fcc61c8620e10c31ed2c8999ebd.tar.xz
MultiMC-36396f7c6aca9fcc61c8620e10c31ed2c8999ebd.zip
Massive re-organization.
Diffstat (limited to 'tasks')
-rw-r--r--tasks/gameupdatetask.cpp22
-rw-r--r--tasks/gameupdatetask.h50
-rw-r--r--tasks/logintask.cpp121
-rw-r--r--tasks/logintask.h48
-rw-r--r--tasks/task.cpp56
-rw-r--r--tasks/task.h54
6 files changed, 0 insertions, 351 deletions
diff --git a/tasks/gameupdatetask.cpp b/tasks/gameupdatetask.cpp
deleted file mode 100644
index c152147e..00000000
--- a/tasks/gameupdatetask.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
-/* 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.
- */
-
-#include "gameupdatetask.h"
-
-GameUpdateTask::GameUpdateTask(const LoginResponse &response, QObject *parent) :
- QObject(parent), m_response(response)
-{
-
-}
diff --git a/tasks/gameupdatetask.h b/tasks/gameupdatetask.h
deleted file mode 100644
index b768f6f9..00000000
--- a/tasks/gameupdatetask.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/* 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.
- */
-
-#ifndef GAMEUPDATETASK_H
-#define GAMEUPDATETASK_H
-
-#include <QObject>
-
-#include <data/loginresponse.h>
-
-/*!
- * \brief The game update task is the task that handles downloading instances.
- * Each instance type has its own class inheriting from this base game update task.
- */
-class GameUpdateTask : public QObject
-{
- Q_OBJECT
-public:
- explicit GameUpdateTask(const LoginResponse &response, QObject *parent = 0);
-
-signals:
- /*!
- * \brief Signal emitted when the game update is complete.
- * \param response The login response received from login task.
- */
- void gameUpdateComplete(const LoginResponse &response);
-
- /*!
- * \brief Signal emitted if the game update fails.
- * \param errorMsg An error message to be displayed to the user.
- */
- void gameUpdateFailed(const QString &errorMsg);
-
-private:
- LoginResponse m_response;
-};
-
-#endif // GAMEUPDATETASK_H
diff --git a/tasks/logintask.cpp b/tasks/logintask.cpp
deleted file mode 100644
index 71075630..00000000
--- a/tasks/logintask.cpp
+++ /dev/null
@@ -1,121 +0,0 @@
-/* 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.
- */
-
-#include "logintask.h"
-
-#include <QStringList>
-
-#include <QtNetwork/QNetworkAccessManager>
-#include <QtNetwork/QNetworkReply>
-#include <QtNetwork/QNetworkRequest>
-
-#include <QUrl>
-#include <QUrlQuery>
-
-LoginTask::LoginTask(const UserInfo &uInfo, QObject *parent) :
- Task(parent), uInfo(uInfo)
-{
-
-}
-
-void LoginTask::executeTask()
-{
- setStatus("Logging in...");
-
- QNetworkAccessManager netMgr;
- connect(&netMgr, SIGNAL(finished(QNetworkReply*)),
- SLOT(processNetReply(QNetworkReply*)));
-
- QUrl loginURL("https://login.minecraft.net/");
- QNetworkRequest netRequest(loginURL);
- netRequest.setHeader(QNetworkRequest::ContentTypeHeader,
- "application/x-www-form-urlencoded");
-
- QUrlQuery params;
- params.addQueryItem("user", uInfo.username());
- params.addQueryItem("password", uInfo.password());
- params.addQueryItem("version", "13");
-
- netReply = netMgr.post(netRequest, params.query(QUrl::EncodeSpaces).toUtf8());
- exec();
-}
-
-void LoginTask::processNetReply(QNetworkReply *reply)
-{
- // Check for errors.
- switch (reply->error())
- {
- case QNetworkReply::NoError:
- {
- // Check the response code.
- int responseCode = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
-
- if (responseCode == 200)
- {
- QString responseStr(reply->readAll());
-
- QStringList strings = responseStr.split(":");
- if (strings.count() >= 4)
- {
- bool parseSuccess;
- qint64 latestVersion = strings[0].toLongLong(&parseSuccess);
- if (parseSuccess)
- {
- // strings[1] is the download ticket. It isn't used anymore.
- QString username = strings[2];
- QString sessionID = strings[3];
-
- LoginResponse response(username, sessionID, latestVersion);
- emit loginComplete(response);
- }
- else
- {
- emit loginFailed("Failed to parse Minecraft version string.");
- }
- }
- else
- {
- if (responseStr.toLower() == "bad login")
- emit loginFailed("Invalid username or password.");
- else if (responseStr.toLower() == "old version")
- emit loginFailed("Launcher outdated, please update.");
- else
- emit loginFailed("Login failed: " + responseStr);
- }
- }
- else if (responseCode == 503)
- {
- emit loginFailed("The login servers are currently unavailable. "
- "Check http://help.mojang.com/ for more info.");
- }
- else
- {
- emit loginFailed(QString("Login failed: Unknown HTTP error %1 occurred.").
- arg(QString::number(responseCode)));
- }
- break;
- }
-
- case QNetworkReply::OperationCanceledError:
- emit loginFailed("Login canceled.");
- break;
-
- default:
- emit loginFailed("Login failed: " + reply->errorString());
- break;
- }
-
- quit();
-}
diff --git a/tasks/logintask.h b/tasks/logintask.h
deleted file mode 100644
index d96bfec7..00000000
--- a/tasks/logintask.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/* 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.
- */
-
-#ifndef LOGINTASK_H
-#define LOGINTASK_H
-
-#include "task.h"
-
-#include "data/userinfo.h"
-#include "data/loginresponse.h"
-
-//class QNetworkAccessManager;
-class QNetworkReply;
-
-class LoginTask : public Task
-{
- Q_OBJECT
-public:
- explicit LoginTask(const UserInfo& uInfo, QObject *parent = 0);
-
-public slots:
- void processNetReply(QNetworkReply* reply);
-
-signals:
- void loginComplete(LoginResponse loginResponse);
- void loginFailed(const QString& errorMsg);
-
-protected:
- void executeTask();
-
- QNetworkReply* netReply;
-
- UserInfo uInfo;
-};
-
-#endif // LOGINTASK_H
diff --git a/tasks/task.cpp b/tasks/task.cpp
deleted file mode 100644
index d581a1dd..00000000
--- a/tasks/task.cpp
+++ /dev/null
@@ -1,56 +0,0 @@
-/* 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.
- */
-
-#include "task.h"
-
-Task::Task(QObject *parent) :
- QThread(parent)
-{
-
-}
-
-QString Task::getStatus() const
-{
- return status;
-}
-
-void Task::setStatus(const QString &status)
-{
- this->status = status;
- emit statusChanged(status);
-}
-
-int Task::getProgress() const
-{
- return progress;
-}
-
-void Task::setProgress(int progress)
-{
- this->progress = progress;
- emit progressChanged(progress);
-}
-
-void Task::startTask()
-{
- start();
-}
-
-void Task::run()
-{
- emit taskStarted(this);
- executeTask();
- emit taskEnded(this);
-}
diff --git a/tasks/task.h b/tasks/task.h
deleted file mode 100644
index 0124d8cf..00000000
--- a/tasks/task.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/* 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.
- */
-
-#ifndef TASK_H
-#define TASK_H
-
-#include <QObject>
-#include <QThread>
-#include <QString>
-
-class Task : public QThread
-{
- Q_OBJECT
-public:
- explicit Task(QObject *parent = 0);
-
- // Starts the task.
- void startTask();
-
- QString getStatus() const;
- int getProgress() const;
-
-public slots:
- void setStatus(const QString& status);
- void setProgress(int progress);
-
-signals:
- void taskStarted(Task* task);
- void taskEnded(Task* task);
-
- void statusChanged(const QString& status);
- void progressChanged(int progress);
-
-protected:
- virtual void run();
- virtual void executeTask() = 0;
-
- QString status;
- int progress;
-};
-
-#endif // TASK_H