aboutsummaryrefslogtreecommitdiff
path: root/libs/game_features/src/dataarchives.h
blob: 26688bac62e5485f621c42fa66e04af6170fff5f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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