aboutsummaryrefslogtreecommitdiff
path: root/libs/game_features/src/unmanagedmods.h
blob: 545b3695c4312d1db1ca62813ec821fd55bfb0b1 (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
33
34
35
36
37
38
39
40
41
42
43
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