From fdfcc2d575e845a32ffe2dfc0b330a686e92dcc0 Mon Sep 17 00:00:00 2001 From: Markus Mittendrein Date: Tue, 27 Oct 2015 14:13:47 +0100 Subject: Add support for individual pack versions per scenario --- src/CRSMPackCompatibility.hpp | 39 ++++++++++++++++++++++++++++++++------- 1 file changed, 32 insertions(+), 7 deletions(-) (limited to 'src/CRSMPackCompatibility.hpp') 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; +}; -- cgit v1.2.3-54-g00ecf