From 12c84a72abd8dbc8771ad7b942859a58aee2bf04 Mon Sep 17 00:00:00 2001 From: WrinklyNinja Date: Fri, 20 Sep 2013 17:18:01 +0100 Subject: [PATCH] Removed old self-consistency function. --- src/backend/metadata.cpp | 65 ---------------------------------------- src/backend/metadata.h | 1 - 2 files changed, 66 deletions(-) diff --git a/src/backend/metadata.cpp b/src/backend/metadata.cpp index f8577b06..9ae1f33e 100644 --- a/src/backend/metadata.cpp +++ b/src/backend/metadata.cpp @@ -656,71 +656,6 @@ namespace boss { return issues; } - std::map Plugin::CheckSelfConsistency(const list& plugins, std::set branch, set incs, set reqs) const { - map issues; - //Add this plugin and its incompatibilities to the set. - if (!branch.insert(boost::to_lower_copy(name)).second) { - issues.insert(pair(name, false)); - return issues; //Prevent infinite recursion. - } - for (set::const_iterator it=incompatibilities.begin(), endit=incompatibilities.end(); it != endit; ++it) { - incs.insert(boost::to_lower_copy(it->Name())); - } - - //Check 1: None of this plugin's masters or requirements or 'load after' plugins may be in branch. - //Check 2: None of this plugin's masters or requirements or 'load after' plugins may be in incs. - //Check 3: None of this plugin's incompatibilities may be present in branch. - //Check 4: This plugin must not be present in incs. - //Check 5: This plugin must not be present in branch (performed above). - //Also check the consistency of the plugins this plugin is dependent on. - for (vector::const_iterator it=masters.begin(), endit=masters.end(); it != endit; ++it) { - reqs.insert(boost::to_lower_copy(*it)); - if (branch.find(boost::to_lower_copy(*it)) != branch.end()) - issues.insert(pair(*it, true)); - if (incs.find(boost::to_lower_copy(*it)) != incs.end()) - issues.insert(pair(*it, false)); - list::const_iterator pluginIt = find(plugins.begin(), plugins.end(), *it); - if (pluginIt != plugins.end()) { - map childIssues = pluginIt->CheckSelfConsistency(plugins, branch, incs, reqs); - issues.insert(childIssues.begin(), childIssues.end()); - } - } - for (set::const_iterator it=requirements.begin(), endIt=requirements.end(); it != endIt; ++it) { - reqs.insert(boost::to_lower_copy(it->Name())); - if (branch.find(boost::to_lower_copy(it->Name())) != branch.end()) - issues.insert(pair(it->Name(), true)); - if (incs.find(boost::to_lower_copy(it->Name())) != incs.end()) - issues.insert(pair(it->Name(), false)); - list::const_iterator pluginIt = find(plugins.begin(), plugins.end(), *it); - if (pluginIt != plugins.end()) { - map childIssues = pluginIt->CheckSelfConsistency(plugins, branch, incs, reqs); - issues.insert(childIssues.begin(), childIssues.end()); - } - } - for (set::const_iterator it=loadAfter.begin(), endIt=loadAfter.end(); it != endIt; ++it) { - reqs.insert(boost::to_lower_copy(it->Name())); - if (branch.find(boost::to_lower_copy(it->Name())) != branch.end()) - issues.insert(pair(it->Name(), true)); - if (incs.find(boost::to_lower_copy(it->Name())) != incs.end()) - issues.insert(pair(it->Name(), false)); - list::const_iterator pluginIt = find(plugins.begin(), plugins.end(), *it); - if (pluginIt != plugins.end()) { - map childIssues = pluginIt->CheckSelfConsistency(plugins, branch, incs, reqs); - issues.insert(childIssues.begin(), childIssues.end()); - } - } - for (set::const_iterator it=incompatibilities.begin(), endIt=incompatibilities.end(); it != endIt; ++it) { - if (branch.find(boost::to_lower_copy(it->Name())) != branch.end()) - issues.insert(pair(it->Name(), false)); - if (reqs.find(boost::to_lower_copy(it->Name())) != reqs.end()) - issues.insert(pair(it->Name(), false)); - } - if (incs.find(boost::to_lower_copy(name)) != incs.end()) - issues.insert(pair(name, false)); - - return issues; - } - bool operator == (const File& lhs, const Plugin& rhs) { return boost::iequals(lhs.Name(), rhs.Name()); } diff --git a/src/backend/metadata.h b/src/backend/metadata.h index 86d1c353..df20d3be 100644 --- a/src/backend/metadata.h +++ b/src/backend/metadata.h @@ -182,7 +182,6 @@ namespace boss { //Validity checks. std::map CheckInstallValidity(const Game& game) const; //Checks that reqs and masters are all present, and that no incs are present. Returns a map of filenames and whether they are missing (if bool is true, then filename is a req or master, otherwise it's an inc). - std::map CheckSelfConsistency(const std::list& plugins, std::set branch, std::set incs, std::set reqs) const; private: std::string name; bool enabled; //Default to true.