aboutsummaryrefslogtreecommitdiff
path: root/libs/game_features/src/dataarchives.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/game_features/src/dataarchives.h')
-rw-r--r--libs/game_features/src/dataarchives.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/libs/game_features/src/dataarchives.h b/libs/game_features/src/dataarchives.h
new file mode 100644
index 0000000..26688ba
--- /dev/null
+++ b/libs/game_features/src/dataarchives.h
@@ -0,0 +1,32 @@
+#ifndef DATAARCHIVES
+#define DATAARCHIVES
+
+namespace MOBase { class IProfile; }
+
+class QString;
+class QStringList;
+
+class DataArchives {
+
+public:
+
+ virtual ~DataArchives() {}
+
+ virtual QStringList vanillaArchives() const = 0;
+
+ virtual QStringList archives(const MOBase::IProfile *profile) const = 0;
+
+ /**
+ * @brief add an archive to the archive list
+ * @param profile the profile for which to change the archive list
+ * @param index index to insert before. 0 is the beginning of the list, INT_MAX can be used for the end of the list
+ * @param archiveName the archive to add
+ */
+ virtual void addArchive(MOBase::IProfile *profile, int index, const QString &archiveName) = 0;
+
+ virtual void removeArchive(MOBase::IProfile *profile, const QString &archiveName) = 0;
+
+};
+
+#endif // DATAARCHIVES
+