diff options
author | Sky <git@bunnies.cc> | 2013-11-06 17:02:23 +0000 |
---|---|---|
committer | Sky <git@bunnies.cc> | 2013-11-06 17:02:23 +0000 |
commit | 7ddc2b6a89e1b57be1eaa44aa8018ff8af765c7a (patch) | |
tree | 2753d1ee11dad2cf1c4ce1e8a28ead92214f2f1c /logic/OneSixRule.h | |
parent | dc3b0fcb2b74aeede37b08216b203cab284f7fce (diff) | |
parent | bba4ed5ab2c98c3d60a141d6a089a49716753615 (diff) | |
download | MultiMC-7ddc2b6a89e1b57be1eaa44aa8018ff8af765c7a.tar MultiMC-7ddc2b6a89e1b57be1eaa44aa8018ff8af765c7a.tar.gz MultiMC-7ddc2b6a89e1b57be1eaa44aa8018ff8af765c7a.tar.lz MultiMC-7ddc2b6a89e1b57be1eaa44aa8018ff8af765c7a.tar.xz MultiMC-7ddc2b6a89e1b57be1eaa44aa8018ff8af765c7a.zip |
Merge branch 'develop'
Diffstat (limited to 'logic/OneSixRule.h')
-rw-r--r-- | logic/OneSixRule.h | 59 |
1 files changed, 43 insertions, 16 deletions
diff --git a/logic/OneSixRule.h b/logic/OneSixRule.h index 6be01f1b..9cd1a226 100644 --- a/logic/OneSixRule.h +++ b/logic/OneSixRule.h @@ -1,7 +1,24 @@ +/* Copyright 2013 MultiMC Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + #pragma once + #include <QString> #include <QSharedPointer> -#include "OneSixLibrary.h" + +#include "logic/OneSixLibrary.h" enum RuleAction { @@ -17,19 +34,22 @@ class Rule { protected: RuleAction m_result; - virtual bool applies(OneSixLibrary * parent) = 0; + virtual bool applies(OneSixLibrary *parent) = 0; + public: - Rule(RuleAction result) - :m_result(result) {} - virtual ~Rule(){}; + Rule(RuleAction result) : m_result(result) + { + } + virtual ~Rule() {}; virtual QJsonObject toJson() = 0; - RuleAction apply(OneSixLibrary * parent) + RuleAction apply(OneSixLibrary *parent) { - if(applies(parent)) + if (applies(parent)) return m_result; else return Defer; - }; + } + ; }; class OsRule : public Rule @@ -39,34 +59,41 @@ private: OpSys m_system; // the OS version regexp QString m_version_regexp; + protected: - virtual bool applies ( OneSixLibrary* ) + virtual bool applies(OneSixLibrary *) { return (m_system == currentSystem); } OsRule(RuleAction result, OpSys system, QString version_regexp) - : Rule(result), m_system(system), m_version_regexp(version_regexp) {} + : Rule(result), m_system(system), m_version_regexp(version_regexp) + { + } + public: virtual QJsonObject toJson(); - static std::shared_ptr<OsRule> create(RuleAction result, OpSys system, QString version_regexp) + static std::shared_ptr<OsRule> create(RuleAction result, OpSys system, + QString version_regexp) { - return std::shared_ptr<OsRule> (new OsRule(result, system, version_regexp)); + return std::shared_ptr<OsRule>(new OsRule(result, system, version_regexp)); } }; class ImplicitRule : public Rule { protected: - virtual bool applies ( OneSixLibrary* ) + virtual bool applies(OneSixLibrary *) { return true; } - ImplicitRule(RuleAction result) - : Rule(result) {} + ImplicitRule(RuleAction result) : Rule(result) + { + } + public: virtual QJsonObject toJson(); static std::shared_ptr<ImplicitRule> create(RuleAction result) { - return std::shared_ptr<ImplicitRule> (new ImplicitRule(result)); + return std::shared_ptr<ImplicitRule>(new ImplicitRule(result)); } }; |