summaryrefslogtreecommitdiff
path: root/src/modinfoforeign.h
blob: fa57e3780640ae40ee607531dce57208bc64156f (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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#ifndef MODINFOFOREIGN_H
#define MODINFOFOREIGN_H

#include <limits>

#include "modinfowithconflictinfo.h"

class ModInfoForeign : public ModInfoWithConflictInfo
{

  Q_OBJECT

  friend class ModInfo;

public:
  virtual bool updateAvailable() const override { return false; }
  virtual bool updateIgnored() const override { return false; }
  virtual bool downgradeAvailable() const override { return false; }
  virtual bool updateNXMInfo() override { return false; }
  virtual void setCategory(int, bool) override {}
  virtual bool setName(const QString&) override { return false; }
  virtual void setComments(const QString&) override {}
  virtual void setNotes(const QString&) override {}
  virtual void setGameName(const QString& gameName) override {}
  virtual void setNexusID(int) override {}
  virtual void setNewestVersion(const MOBase::VersionInfo&) override {}
  virtual void ignoreUpdate(bool) override {}
  virtual void setNexusDescription(const QString&) override {}
  virtual void setInstallationFile(const QString&) override {}
  virtual void addNexusCategory(int) override {}
  virtual void setIsEndorsed(bool) override {}
  virtual void setNeverEndorse() override {}
  virtual void setIsTracked(bool) override {}
  virtual void endorse(bool) override {}
  virtual void track(bool) override {}
  virtual bool isEmpty() const override { return false; }
  virtual QString name() const override { return m_Name; }
  virtual QString internalName() const override { return m_InternalName; }
  virtual QString comments() const override { return ""; }
  virtual QString notes() const override { return ""; }
  virtual QDateTime creationTime() const override;
  virtual QString absolutePath() const override { return m_BaseDirectory; }
  virtual MOBase::VersionInfo newestVersion() const override { return QString(); }
  virtual MOBase::VersionInfo ignoredVersion() const override { return QString(); }
  virtual QString installationFile() const override { return ""; }
  virtual bool converted() const override { return false; }
  virtual bool validated() const override { return false; }
  virtual QString gameName() const override { return ""; }
  virtual int nexusId() const override { return -1; }
  virtual bool isForeign() const override { return true; }
  virtual QDateTime getExpires() const override { return QDateTime(); }
  virtual std::vector<QString> getIniTweaks() const override
  {
    return std::vector<QString>();
  }
  virtual std::vector<ModInfo::EFlag> getFlags() const override;
  virtual int getHighlight() const override;
  virtual QString getDescription() const override;
  virtual int getNexusFileStatus() const override { return 0; }
  virtual void setNexusFileStatus(int) override {}
  virtual QDateTime getLastNexusUpdate() const override { return QDateTime(); }
  virtual void setLastNexusUpdate(QDateTime) override {}
  virtual int getNexusCategory() const override { return 0; }
  virtual void setNexusCategory(int) override {}
  virtual QDateTime getLastNexusQuery() const override { return QDateTime(); }
  virtual void setLastNexusQuery(QDateTime) override {}
  virtual QDateTime getNexusLastModified() const override { return QDateTime(); }
  virtual void setNexusLastModified(QDateTime) override {}
  virtual QString getNexusDescription() const override { return QString(); }
  virtual QStringList archives(bool = false) override { return m_Archives; }
  virtual QStringList stealFiles() const override
  {
    return m_Archives + QStringList(m_ReferenceFile);
  }
  virtual bool alwaysEnabled() const override { return true; }
  virtual void addInstalledFile(int, int) override {}
  virtual std::set<std::pair<int, int>> installedFiles() const override { return {}; }

  virtual QVariant pluginSetting(const QString& pluginName, const QString& key,
                                 const QVariant& defaultValue) const override
  {
    return defaultValue;
  }
  virtual std::map<QString, QVariant>
  pluginSettings(const QString& pluginName) const override
  {
    return {};
  }
  virtual bool setPluginSetting(const QString& pluginName, const QString& key,
                                const QVariant& value) override
  {
    return false;
  }
  virtual std::map<QString, QVariant>
  clearPluginSettings(const QString& pluginName) override
  {
    return {};
  }

  ModInfo::EModType modType() const { return m_ModType; }

protected:
  ModInfoForeign(const QString& modName, const QString& referenceFile,
                 const QStringList& archives, ModInfo::EModType modType,
                 OrganizerCore& core);

private:
  QString m_Name;
  QString m_InternalName;
  QString m_ReferenceFile;
  QString m_BaseDirectory;
  QStringList m_Archives;
  QDateTime m_CreationTime;
  int m_Priority;
  ModInfo::EModType m_ModType;
};

#endif  // MODINFOFOREIGN_H