diff options
Diffstat (limited to 'launcher/InstanceCopyTask.h')
-rw-r--r-- | launcher/InstanceCopyTask.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/launcher/InstanceCopyTask.h b/launcher/InstanceCopyTask.h new file mode 100644 index 00000000..82901732 --- /dev/null +++ b/launcher/InstanceCopyTask.h @@ -0,0 +1,31 @@ +#pragma once + +#include "tasks/Task.h" +#include "net/NetJob.h" +#include <QUrl> +#include <QFuture> +#include <QFutureWatcher> +#include "settings/SettingsObject.h" +#include "BaseVersion.h" +#include "BaseInstance.h" +#include "InstanceTask.h" + +class InstanceCopyTask : public InstanceTask +{ + Q_OBJECT +public: + explicit InstanceCopyTask(InstancePtr origInstance, bool copySaves, bool keepPlaytime); + +protected: + //! Entry point for tasks. + virtual void executeTask() override; + void copyFinished(); + void copyAborted(); + +private: /* data */ + InstancePtr m_origInstance; + QFuture<bool> m_copyFuture; + QFutureWatcher<bool> m_copyFutureWatcher; + std::unique_ptr<IPathMatcher> m_matcher; + bool m_keepPlaytime; +}; |