From a7111b132873e0f1e00221b2ad734454d69889e3 Mon Sep 17 00:00:00 2001 From: Andrew Date: Thu, 21 Feb 2013 18:10:17 -0600 Subject: [PATCH] Added interface for game update tasks. --- CMakeLists.txt | 2 ++ tasks/gameupdatetask.cpp | 22 ++++++++++++++++++ tasks/gameupdatetask.h | 50 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 74 insertions(+) create mode 100644 tasks/gameupdatetask.cpp create mode 100644 tasks/gameupdatetask.h diff --git a/CMakeLists.txt b/CMakeLists.txt index bb8d7671..2c73e0ae 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -181,6 +181,7 @@ java/membuffer.h tasks/task.h tasks/logintask.h +tasks/gameupdatetask.h ) @@ -206,6 +207,7 @@ java/annotations.cpp tasks/task.cpp tasks/logintask.cpp +tasks/gameupdatetask.cpp ) diff --git a/tasks/gameupdatetask.cpp b/tasks/gameupdatetask.cpp new file mode 100644 index 00000000..c152147e --- /dev/null +++ b/tasks/gameupdatetask.cpp @@ -0,0 +1,22 @@ +/* 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 new file mode 100644 index 00000000..b768f6f9 --- /dev/null +++ b/tasks/gameupdatetask.h @@ -0,0 +1,50 @@ +/* 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 + +#include + +/*! + * \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