Implement basic game updater.

Resolves MMC-4: https://jira.forkk.net/browse/MMC-4
This commit is contained in:
Andrew 2013-05-08 12:56:43 -05:00
parent 2e62f6e8d8
commit 5f781b3053
17 changed files with 599 additions and 98 deletions

View file

@ -24,8 +24,8 @@
#include <QUrl>
#include <QUrlQuery>
LoginTask::LoginTask( const UserInfo& uInfo, QString inst, QObject* parent ) :
Task(parent), uInfo(uInfo), inst(inst)
LoginTask::LoginTask( const UserInfo& uInfo, QObject* parent ) :
Task(parent), uInfo(uInfo)
{
}
@ -78,42 +78,42 @@ void LoginTask::processNetReply(QNetworkReply *reply)
QString sessionID = strings[3];
LoginResponse response(username, sessionID, latestVersion);
emit loginComplete(inst, response);
emit loginComplete(response);
}
else
{
emit loginFailed(inst, "Failed to parse Minecraft version string.");
emit loginFailed("Failed to parse Minecraft version string.");
}
}
else
{
if (responseStr.toLower() == "bad login")
emit loginFailed(inst, "Invalid username or password.");
emit loginFailed("Invalid username or password.");
else if (responseStr.toLower() == "old version")
emit loginFailed(inst, "Launcher outdated, please update.");
emit loginFailed("Launcher outdated, please update.");
else
emit loginFailed(inst, "Login failed: " + responseStr);
emit loginFailed("Login failed: " + responseStr);
}
}
else if (responseCode == 503)
{
emit loginFailed(inst, "The login servers are currently unavailable. "
emit loginFailed("The login servers are currently unavailable. "
"Check http://help.mojang.com/ for more info.");
}
else
{
emit loginFailed(inst, QString("Login failed: Unknown HTTP error %1 occurred.").
emit loginFailed(QString("Login failed: Unknown HTTP error %1 occurred.").
arg(QString::number(responseCode)));
}
break;
}
case QNetworkReply::OperationCanceledError:
emit loginFailed(inst, "Login canceled.");
emit loginFailed("Login canceled.");
break;
default:
emit loginFailed(inst, "Login failed: " + reply->errorString());
emit loginFailed("Login failed: " + reply->errorString());
break;
}