summaryrefslogtreecommitdiff
path: root/src/instancemanagerproxy.h
diff options
context:
space:
mode:
authorJonathan Feenstra <26406078+JonathanFeenstra@users.noreply.github.com>2026-02-08 10:08:10 +0100
committerGitHub <noreply@github.com>2026-02-08 10:08:10 +0100
commit4da0bffeee05c4589ae4d0addc7c695e31669990 (patch)
tree9d6c793899935f3687d5df64f4daafcec4ebd36c /src/instancemanagerproxy.h
parenta394f02e97ad0bf328fa735cbdbfbe026c03655d (diff)
Add instance manager to plugin API (#2335)
Diffstat (limited to 'src/instancemanagerproxy.h')
-rw-r--r--src/instancemanagerproxy.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/instancemanagerproxy.h b/src/instancemanagerproxy.h
new file mode 100644
index 00000000..3091db09
--- /dev/null
+++ b/src/instancemanagerproxy.h
@@ -0,0 +1,50 @@
+/*
+Copyright (C) 2012 Sebastian Herbord. All rights reserved.
+
+This file is part of Mod Organizer.
+
+Mod Organizer is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Mod Organizer is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef INSTANCEMANAGERPROXY_H
+#define INSTANCEMANAGERPROXY_H
+
+#include "instancemanager.h"
+
+#include <memory>
+#include <vector>
+
+#include <QDir>
+#include <QString>
+
+#include <uibase/iinstancemanager.h>
+
+namespace MOBase
+{
+class IInstance;
+}
+
+class InstanceManagerProxy : public MOBase::IInstanceManager
+{
+public:
+ InstanceManagerProxy(InstanceManager* instanceManager);
+ std::shared_ptr<MOBase::IInstance> currentInstance() const override;
+ std::vector<QDir> globalInstancePaths() const override;
+ std::shared_ptr<const MOBase::IInstance>
+ getGlobalInstance(const QString& instanceName) const override;
+
+private:
+ InstanceManager* m_Proxied;
+};
+#endif // INSTANCEMANAGERPROXY_H