summaryrefslogtreecommitdiff
path: root/src/modlistproxy.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/modlistproxy.h')
-rw-r--r--src/modlistproxy.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/modlistproxy.h b/src/modlistproxy.h
new file mode 100644
index 00000000..13399e0a
--- /dev/null
+++ b/src/modlistproxy.h
@@ -0,0 +1,32 @@
+#ifndef MODLISTPROXY_H
+#define MODLISTPROXY_H
+
+#include <imodlist.h>
+
+class OrganizerProxy;
+
+class ModListProxy : public MOBase::IModList
+{
+
+public:
+
+ ModListProxy(OrganizerProxy* oproxy, IModList* modlist);
+ virtual ~ModListProxy() { }
+
+ QString displayName(const QString& internalName) const override;
+ QStringList allMods() const override;
+ ModStates state(const QString& name) const override;
+ bool setActive(const QString& name, bool active) override;
+ int setActive(const QStringList& names, bool active) override;
+ int priority(const QString& name) const override;
+ bool setPriority(const QString& name, int newPriority) override;
+ bool onModStateChanged(const std::function<void(const std::map<QString, ModStates>&)>& func) override;
+ bool onModMoved(const std::function<void(const QString&, int, int)>& func) override;
+
+private:
+
+ OrganizerProxy* m_OrganizerProxy;
+ IModList* m_Proxied;
+};
+
+#endif // ORGANIZERPROXY_H