summaryrefslogtreecommitdiff
path: root/src/modinfoforeign.h
blob: 7725c793b932c56fe53d595ad53198d31d9d628d (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
#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 setGamePlugin(const MOBase::IPluginGame*) 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 bool remove() override { return false; }
  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;
  virtual MOBase::VersionInfo getNewestVersion() const override { return QString(); }
  virtual QString getInstallationFile() const override { return ""; }
  virtual QString getGameName() const override { return ""; }
  virtual int getNexusID() const override { return -1; }
  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 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 int getFixedPriority() const override { return std::numeric_limits<int>::min(); }
  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 {}

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

protected:
  ModInfoForeign(const QString &modName, const QString &referenceFile,
                 const QStringList &archives, ModInfo::EModType modType,
                 MOShared::DirectoryEntry **directoryStructure, PluginContainer *pluginContainer);  
  
  virtual bool doTestValid() const { return true;  }
private:

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

#endif // MODINFOFOREIGN_H