aboutsummaryrefslogtreecommitdiff
path: root/libs/game_features/src/unmanagedmods.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/game_features/src/unmanagedmods.h')
-rw-r--r--libs/game_features/src/unmanagedmods.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/libs/game_features/src/unmanagedmods.h b/libs/game_features/src/unmanagedmods.h
new file mode 100644
index 0000000..545b369
--- /dev/null
+++ b/libs/game_features/src/unmanagedmods.h
@@ -0,0 +1,44 @@
+#ifndef UNMANAGEDMODS_H
+#define UNMANAGEDMODS_H
+
+class QString;
+class QFileInfo;
+class QStringList;
+
+
+class UnmanagedMods {
+
+public:
+
+public:
+
+ virtual ~UnmanagedMods() {}
+
+ /**
+ * @param onlyOfficial if set, only official mods (dlcs) are returned
+ * @return the list of unmanaged mods (internal names)
+ */
+ virtual QStringList mods(bool onlyOfficial) const = 0;
+
+ /**
+ * @param modName (internal) name of the mod being requested
+ * @return display name of the mod
+ */
+ virtual QString displayName(const QString &modName) const = 0;
+
+ /**
+ * @param modName name of the mod being requested
+ * @return reference file info
+ */
+ virtual QFileInfo referenceFile(const QString &modName) const = 0;
+
+ /**
+ * @param modName name of the mod being requested
+ * @return list of file names (absolute paths)
+ */
+ virtual QStringList secondaryFiles(const QString &modName) const = 0;
+
+};
+
+#endif // UNMANAGEDMODS_H
+