aboutsummaryrefslogtreecommitdiff
path: root/launcher/modplatform/ModAPI.h
diff options
context:
space:
mode:
authorSefa Eyeoglu <contact@scrumplex.net>2022-03-27 20:55:16 +0200
committerGitHub <noreply@github.com>2022-03-27 20:55:16 +0200
commit104de9e7954450a864ee2d5e4142e4b677556d0b (patch)
treef43e17c915aaab144e22dde692d6f86cb193f4b5 /launcher/modplatform/ModAPI.h
parent81b50c0387c86de3acb1bf5a96b0045bf5f0aca7 (diff)
parente13ca94061c7fdfec9bd18b982b56a8d5a1f80b0 (diff)
downloadPrismLauncher-104de9e7954450a864ee2d5e4142e4b677556d0b.tar.gz
PrismLauncher-104de9e7954450a864ee2d5e4142e4b677556d0b.tar.bz2
PrismLauncher-104de9e7954450a864ee2d5e4142e4b677556d0b.zip
Merge pull request #220 from flowln/mod_refactor
Diffstat (limited to 'launcher/modplatform/ModAPI.h')
-rw-r--r--launcher/modplatform/ModAPI.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/launcher/modplatform/ModAPI.h b/launcher/modplatform/ModAPI.h
new file mode 100644
index 00000000..5c7c6349
--- /dev/null
+++ b/launcher/modplatform/ModAPI.h
@@ -0,0 +1,29 @@
+#pragma once
+
+#include <QString>
+
+namespace ModPlatform {
+class ListModel;
+}
+
+class ModAPI {
+ protected:
+ using CallerType = ModPlatform::ListModel;
+
+ public:
+ virtual ~ModAPI() = default;
+
+ // https://docs.curseforge.com/?http#tocS_ModLoaderType
+ enum ModLoaderType { Any = 0, Forge = 1, Cauldron = 2, LiteLoader = 3, Fabric = 4 };
+
+ struct SearchArgs {
+ int offset;
+ QString search;
+ QString sorting;
+ ModLoaderType mod_loader;
+ QString version;
+ };
+
+ virtual void searchMods(CallerType* caller, SearchArgs&& args) const = 0;
+ virtual void getVersions(CallerType* caller, const QString& addonId) const = 0;
+};