.github
api
gui
logic
icons
java
launch
meta
minecraft
modplatform
net
news
notifications
pathmatcher
screenshots
settings
status
tasks
SequentialTask.cpp
SequentialTask.h
Task.cpp
Task.h
testdata
tools
translations
updater
BaseInstaller.cpp
BaseInstaller.h
BaseInstance.cpp
BaseInstance.h
BaseVersion.h
BaseVersionList.cpp
BaseVersionList.h
CMakeLists.txt
Commandline.cpp
Commandline.h
DefaultVariable.h
Env.cpp
Env.h
Exception.h
ExponentialSeries.h
FileSystem.cpp
FileSystem.h
FileSystem_test.cpp
Filter.cpp
Filter.h
GZip.cpp
GZip.h
GZip_test.cpp
InstanceCopyTask.cpp
InstanceCopyTask.h
InstanceCreationTask.cpp
InstanceCreationTask.h
InstanceImportTask.cpp
InstanceImportTask.h
InstanceList.cpp
InstanceList.h
InstanceTask.cpp
InstanceTask.h
Json.cpp
Json.h
LoggedProcess.cpp
LoggedProcess.h
MMCStrings.cpp
MMCStrings.h
MMCZip.cpp
MMCZip.h
MessageLevel.cpp
MessageLevel.h
NullInstance.h
ProblemProvider.h
QObjectPtr.h
RWStorage.h
RecursiveFileSystemWatcher.cpp
RecursiveFileSystemWatcher.h
SeparatorPrefixTree.h
Usable.h
Version.cpp
Version.h
Version_test.cpp
WatchLock.h
application
cmake
libraries
travis
.arcconfig
.clang-format
.gitattributes
.gitignore
.gitmodules
.travis.yml
BUILD.md
CMakeLists.txt
COPYING.md
README.md
changelog.md
33 lines
614 B
C++
33 lines
614 B
C++
#pragma once
|
|
|
|
#include "Task.h"
|
|
|
|
#include <QQueue>
|
|
#include <memory>
|
|
|
|
#include "multimc_logic_export.h"
|
|
|
|
class MULTIMC_LOGIC_EXPORT SequentialTask : public Task
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
explicit SequentialTask(QObject *parent = 0);
|
|
virtual ~SequentialTask() {};
|
|
|
|
void addTask(std::shared_ptr<Task> task);
|
|
|
|
protected:
|
|
void executeTask();
|
|
|
|
private
|
|
slots:
|
|
void startNext();
|
|
void subTaskFailed(const QString &msg);
|
|
void subTaskStatus(const QString &msg);
|
|
void subTaskProgress(qint64 current, qint64 total);
|
|
|
|
private:
|
|
QQueue<std::shared_ptr<Task> > m_queue;
|
|
int m_currentIndex;
|
|
};
|