diff options
Diffstat (limited to 'logic/tasks')
-rw-r--r-- | logic/tasks/ProgressProvider.h | 25 | ||||
-rw-r--r-- | logic/tasks/Task.cpp | 12 | ||||
-rw-r--r-- | logic/tasks/Task.h | 22 |
3 files changed, 39 insertions, 20 deletions
diff --git a/logic/tasks/ProgressProvider.h b/logic/tasks/ProgressProvider.h index e158eb54..f6f2906a 100644 --- a/logic/tasks/ProgressProvider.h +++ b/logic/tasks/ProgressProvider.h @@ -1,20 +1,41 @@ +/* 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 <QObject> + class ProgressProvider : public QObject { Q_OBJECT protected: - explicit ProgressProvider(QObject* parent = 0): QObject(parent){} + explicit ProgressProvider(QObject *parent = 0) : QObject(parent) + { + } signals: void started(); void progress(qint64 current, qint64 total); void succeeded(); void failed(QString reason); void status(QString status); + public: virtual QString getStatus() const = 0; virtual void getProgress(qint64 ¤t, qint64 &total) = 0; virtual bool isRunning() const = 0; -public slots: +public +slots: virtual void start() = 0; }; diff --git a/logic/tasks/Task.cpp b/logic/tasks/Task.cpp index 2f137c55..47214723 100644 --- a/logic/tasks/Task.cpp +++ b/logic/tasks/Task.cpp @@ -3,7 +3,7 @@ * 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 @@ -14,12 +14,10 @@ */ #include "Task.h" -#include <logger/QsLog.h> +#include "logger/QsLog.h" -Task::Task(QObject *parent) : - ProgressProvider(parent) +Task::Task(QObject *parent) : ProgressProvider(parent) { - } QString Task::getStatus() const @@ -39,13 +37,12 @@ void Task::setProgress(int new_progress) emit progress(new_progress, 100); } -void Task::getProgress(qint64& current, qint64& total) +void Task::getProgress(qint64 ¤t, qint64 &total) { current = m_progress; total = 100; } - void Task::start() { m_running = true; @@ -66,7 +63,6 @@ void Task::emitSucceeded() emit succeeded(); } - bool Task::isRunning() const { return m_running; diff --git a/logic/tasks/Task.h b/logic/tasks/Task.h index cfe71c51..980b2af8 100644 --- a/logic/tasks/Task.h +++ b/logic/tasks/Task.h @@ -3,7 +3,7 @@ * 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 @@ -24,24 +24,26 @@ class Task : public ProgressProvider Q_OBJECT public: explicit Task(QObject *parent = 0); - + virtual QString getStatus() const; - virtual void getProgress(qint64& current, qint64& total); + virtual void getProgress(qint64 ¤t, qint64 &total); virtual bool isRunning() const; - -public slots: + +public +slots: virtual void start(); - + protected: virtual void executeTask() = 0; - + virtual void emitSucceeded(); virtual void emitFailed(QString reason); -protected slots: - void setStatus(const QString& status); +protected +slots: + void setStatus(const QString &status); void setProgress(int progress); - + protected: QString m_status; int m_progress = 0; |