summaryrefslogtreecommitdiff
path: root/src/modinfoseparator.h
blob: 865a5179c6b2e1ee60564f684c80efc27a06f45c (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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#ifndef MODINFOSEPARATOR_H
#define MODINFOSEPARATOR_H

#include "modinforegular.h"

class ModInfoSeparator:
    public ModInfoRegular
{
  friend class ModInfo;

public:

  virtual bool updateAvailable() const { return false; }
  virtual bool updateIgnored() const { return false; }
  virtual bool downgradeAvailable() const { return false; }
  virtual bool updateNXMInfo() { return false; }
  virtual bool isValid() const { return true; }
  //TODO: Fix renaming method to avoid priority reset
  virtual bool setName(const QString& name);

  virtual int getNexusID() const { return -1; }

  virtual void setGameName(QString /*gameName*/) {}

  virtual void setNexusID(int /*modID*/) {}

  virtual void endorse(bool /*doEndorse*/) {}

  virtual void parseNexusInfo() {}

  virtual void ignoreUpdate(bool /*ignore*/) {}

  virtual bool canBeUpdated() const { return false; }
  virtual QDateTime getExpires() const { return QDateTime(); }
  virtual bool canBeEnabled() const { return false; }
  virtual std::vector<QString> getIniTweaks() const { return std::vector<QString>(); }

  virtual std::vector<EFlag> getFlags() const;
  virtual int getHighlight() const;

  virtual QString getDescription() const;
  virtual QString name() const;
  virtual QString getGameName() const { return ""; }
  virtual QString getInstallationFile() const { return ""; }
  virtual QString getURL() const { return ""; }
  virtual QString repository() const { return ""; }
  virtual int getNexusFileStatus() const { return 0; }
  virtual void setNexusFileStatus(int) {}
  virtual QDateTime getLastNexusUpdate() const { return QDateTime(); }
  virtual void setLastNexusUpdate(QDateTime) {}
  virtual QDateTime getLastNexusQuery() const { return QDateTime(); }
  virtual void setLastNexusQuery(QDateTime) {}
  virtual QDateTime getNexusLastModified() const { return QDateTime(); }
  virtual void setNexusLastModified(QDateTime) {}
  virtual QDateTime creationTime() const { return QDateTime(); }

  virtual void getNexusFiles
    (
      QList<MOBase::ModRepositoryFileInfo*>::const_iterator& /*unused*/,
      QList<MOBase::ModRepositoryFileInfo*>::const_iterator& /*unused*/)
  {
  }

  virtual QString getNexusDescription() const { return QString(); }

  virtual void addInstalledFile(int /*modId*/, int /*fileId*/)
  {
  }

private:

  ModInfoSeparator
    (
      PluginContainer* pluginContainer, const MOBase::IPluginGame* game, const QDir& path,
      MOShared::DirectoryEntry** directoryStructure);
};

#endif