summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/modinfo.h20
-rw-r--r--src/modinfobackup.h1
-rw-r--r--src/modinfoforeign.h1
-rw-r--r--src/modinfooverwrite.h1
-rw-r--r--src/modinfoseparator.h1
5 files changed, 24 insertions, 0 deletions
diff --git a/src/modinfo.h b/src/modinfo.h
index e5e65c82..42abe51e 100644
--- a/src/modinfo.h
+++ b/src/modinfo.h
@@ -378,6 +378,26 @@ public: // IModInterface implementations / Re-declaration
*/
virtual std::shared_ptr<const MOBase::IFileTree> fileTree() const = 0;
+ /**
+ * @return true if this object represents the overwrite mod.
+ */
+ virtual bool isOverwrite() const { return false; }
+
+ /**
+ * @return true if this object represents a backup.
+ */
+ virtual bool isBackup() const { return false; }
+
+ /**
+ * @return true if this object represents a separator.
+ */
+ virtual bool isSeparator() const { return false; }
+
+ /**
+ * @return true if this object represents a foreign mod.
+ */
+ virtual bool isForeign() const { return false; }
+
public: // Mutable operations:
/**
diff --git a/src/modinfobackup.h b/src/modinfobackup.h
index 9eba545c..bf5dc5e6 100644
--- a/src/modinfobackup.h
+++ b/src/modinfobackup.h
@@ -36,6 +36,7 @@ public:
virtual QDateTime getNexusLastModified() const override { return QDateTime(); }
virtual void setNexusLastModified(QDateTime) override {}
virtual QString getNexusDescription() const override { return QString(); }
+ virtual bool isBackup() const override { return true; }
virtual void addInstalledFile(int, int) override {}
diff --git a/src/modinfoforeign.h b/src/modinfoforeign.h
index 4f830799..0a4ec42a 100644
--- a/src/modinfoforeign.h
+++ b/src/modinfoforeign.h
@@ -49,6 +49,7 @@ public:
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;
diff --git a/src/modinfooverwrite.h b/src/modinfooverwrite.h
index 502581ce..7236d3bf 100644
--- a/src/modinfooverwrite.h
+++ b/src/modinfooverwrite.h
@@ -52,6 +52,7 @@ public:
virtual int getFixedPriority() const override { return std::numeric_limits<int>::max(); }
virtual QString gameName() const override { return ""; }
virtual int nexusId() const override { return -1; }
+ virtual bool isOverwrite() 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;
diff --git a/src/modinfoseparator.h b/src/modinfoseparator.h
index 26c03e27..88262f37 100644
--- a/src/modinfoseparator.h
+++ b/src/modinfoseparator.h
@@ -47,6 +47,7 @@ public:
virtual QDateTime creationTime() const override { return QDateTime(); }
virtual QString getNexusDescription() const override { return QString(); }
virtual void addInstalledFile(int /*modId*/, int /*fileId*/) override { }
+ virtual bool isSeparator() const override { return true; }
protected:
virtual bool doIsValid() const override { return true; }