summaryrefslogtreecommitdiffstats
path: root/api/logic/InstanceTask.h
diff options
context:
space:
mode:
Diffstat (limited to 'api/logic/InstanceTask.h')
-rw-r--r--api/logic/InstanceTask.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/api/logic/InstanceTask.h b/api/logic/InstanceTask.h
new file mode 100644
index 00000000..8fc98eb7
--- /dev/null
+++ b/api/logic/InstanceTask.h
@@ -0,0 +1,55 @@
+#pragma once
+
+#include "tasks/Task.h"
+#include "multimc_logic_export.h"
+#include "settings/SettingsObject.h"
+
+class BaseInstanceProvider;
+
+class MULTIMC_LOGIC_EXPORT InstanceTask : public Task
+{
+ Q_OBJECT
+public:
+ explicit InstanceTask();
+ virtual ~InstanceTask();
+
+ void setParentSettings(SettingsObjectPtr settings)
+ {
+ m_globalSettings = settings;
+ }
+
+ void setStagingPath(const QString &stagingPath)
+ {
+ m_stagingPath = stagingPath;
+ }
+
+ void setName(const QString &name)
+ {
+ m_instName = name;
+ }
+ QString name() const
+ {
+ return m_instName;
+ }
+
+ void setIcon(const QString &icon)
+ {
+ m_instIcon = icon;
+ }
+
+ void setGroup(const QString &group)
+ {
+ m_instGroup = group;
+ }
+ QString group() const
+ {
+ return m_instGroup;
+ }
+
+protected: /* data */
+ SettingsObjectPtr m_globalSettings;
+ QString m_instName;
+ QString m_instIcon;
+ QString m_instGroup;
+ QString m_stagingPath;
+};