aboutsummaryrefslogtreecommitdiff
path: root/launcher/InstanceList.h
diff options
context:
space:
mode:
Diffstat (limited to 'launcher/InstanceList.h')
-rw-r--r--launcher/InstanceList.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/launcher/InstanceList.h b/launcher/InstanceList.h
index 62282f04..3673298f 100644
--- a/launcher/InstanceList.h
+++ b/launcher/InstanceList.h
@@ -24,10 +24,10 @@
#include "BaseInstance.h"
-#include "QObjectPtr.h"
-
class QFileSystemWatcher;
class InstanceTask;
+struct InstanceName;
+
using InstanceId = QString;
using GroupId = QString;
using InstanceLocator = std::pair<InstancePtr, int>;
@@ -101,7 +101,10 @@ public:
InstListError loadList();
void saveNow();
+ /* O(n) */
InstancePtr getInstanceById(QString id) const;
+ /* O(n) */
+ InstancePtr getInstanceByManagedName(const QString& managed_name) const;
QModelIndex getInstanceIndexById(const QString &id) const;
QStringList getGroups();
bool isGroupCollapsed(const QString &groupName);
@@ -127,8 +130,10 @@ public:
/**
* Commit the staging area given by @keyPath to the provider - used when creation succeeds.
* Used by instance manipulation tasks.
+ * should_override is used when another similar instance already exists, and we want to override it
+ * - for instance, when updating it.
*/
- bool commitStagedInstance(const QString & keyPath, const QString& instanceName, const QString & groupName);
+ bool commitStagedInstance(const QString& keyPath, const InstanceName& instanceName, const QString& groupName, bool should_override);
/**
* Destroy a previously created staging area given by @keyPath - used when creation fails.