summaryrefslogtreecommitdiffstats
path: root/logic/OneSixRule.h
diff options
context:
space:
mode:
authorJan Dalheimer <jan@dalheimer.de>2014-01-22 07:33:32 +0100
committerJan Dalheimer <jan@dalheimer.de>2014-01-22 07:33:32 +0100
commita1a06cc89f7f1d904a1b71d330d6129b866ff29b (patch)
tree6732552b4bfa547dcad83b1aa7af94818d7ac314 /logic/OneSixRule.h
parentb182f12c2076505c31b96eb7e8a8869fbadecd2d (diff)
downloadMultiMC-a1a06cc89f7f1d904a1b71d330d6129b866ff29b.tar
MultiMC-a1a06cc89f7f1d904a1b71d330d6129b866ff29b.tar.gz
MultiMC-a1a06cc89f7f1d904a1b71d330d6129b866ff29b.tar.lz
MultiMC-a1a06cc89f7f1d904a1b71d330d6129b866ff29b.tar.xz
MultiMC-a1a06cc89f7f1d904a1b71d330d6129b866ff29b.zip
Derpstances. Everything renamed. Launching does not yet work.
Diffstat (limited to 'logic/OneSixRule.h')
-rw-r--r--logic/OneSixRule.h98
1 files changed, 0 insertions, 98 deletions
diff --git a/logic/OneSixRule.h b/logic/OneSixRule.h
deleted file mode 100644
index 5a13cbd9..00000000
--- a/logic/OneSixRule.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/* 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 "logic/OneSixLibrary.h"
-
-enum RuleAction
-{
- Allow,
- Disallow,
- Defer
-};
-
-RuleAction RuleAction_fromString(QString);
-QList<std::shared_ptr<Rule>> rulesFromJsonV4(QJsonObject &objectWithRules);
-
-class Rule
-{
-protected:
- RuleAction m_result;
- virtual bool applies(OneSixLibrary *parent) = 0;
-
-public:
- Rule(RuleAction result) : m_result(result)
- {
- }
- virtual ~Rule() {};
- virtual QJsonObject toJson() = 0;
- RuleAction apply(OneSixLibrary *parent)
- {
- if (applies(parent))
- return m_result;
- else
- return Defer;
- }
- ;
-};
-
-class OsRule : public Rule
-{
-private:
- // the OS
- OpSys m_system;
- // the OS version regexp
- QString m_version_regexp;
-
-protected:
- 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)
- {
- }
-
-public:
- virtual QJsonObject toJson();
- static std::shared_ptr<OsRule> create(RuleAction result, OpSys system,
- QString version_regexp)
- {
- return std::shared_ptr<OsRule>(new OsRule(result, system, version_regexp));
- }
-};
-
-class ImplicitRule : public Rule
-{
-protected:
- virtual bool applies(OneSixLibrary *)
- {
- return true;
- }
- 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));
- }
-};