diff options
Diffstat (limited to 'src/CRSMPackCompatibility.hpp')
| -rw-r--r-- | src/CRSMPackCompatibility.hpp | 39 |
1 files changed, 32 insertions, 7 deletions
diff --git a/src/CRSMPackCompatibility.hpp b/src/CRSMPackCompatibility.hpp index eddc350..a35ed95 100644 --- a/src/CRSMPackCompatibility.hpp +++ b/src/CRSMPackCompatibility.hpp @@ -1,11 +1,36 @@ -#ifndef PACKCOMPATIBILITY_HPP -#define PACKCOMPATIBILITY_HPP +#pragma once +#include "ConfigBase.hpp" - -class PackCompatibility : public ConfigBase +class CRSMPackCompatibility : public ConfigBase { public: - PackCompatibility(); -}; + Map(String, String) PackDefaultVersion; + Map(String, String) PackVersions; + Map(String, List(String)) ScenarioPacks; + + CRSMPackCompatibility() : ConfigBase::ConfigBase({ + ConfigVal(PackDefaultVersion), + ConfigVal(PackVersions), + ConfigVal(ScenarioPacks) + }) { } + + void clear(); + + QString linkScenarioPacks(const QString& scenario); -#endif // PACKCOMPATIBILITY_HPP + QString read(const QString &fileName, const QString &clonkPath, bool writeDefault = true); + + QString addPackVersion(const QString& packVersion, const QString& pack); + QString deletePackVersion(const QString& packVersion); + QString setDefaultPackVersion(const QString& packVersion, const QString& pack); + + QString addScenarioPackVersion(const QString& packVersion, const QString& scenario); + QString deleteScenarioPackVersion(const QString& packVersion, const QString& scenario); + +protected: + QString checkPackVersion(const QString& packVersion, const QString& pack); + QString checkScenarioPack(const QString& packVersion, const QString& scenario); + +private: + QString clonkPath; +}; |
