/* */ #include "Metalinker.h" #include "MetalinkEntry.h" #include #include namespace aria2 { Metalinker::Metalinker() {} Metalinker::~Metalinker() {} std::vector> Metalinker::queryEntry(const std::string& version, const std::string& language, const std::string& os) { std::vector> res; for(auto& entry : entries_) { if((!version.empty() && version != entry->version) || (!language.empty() && !entry->containsLanguage(language)) || (!os.empty() && !entry->containsOS(os))) { continue; } res.push_back(std::move(entry)); } entries_.erase(std::remove_if(std::begin(entries_), std::end(entries_), [](const std::unique_ptr& entry) { return !entry.get(); }), std::end(entries_)); return res; } void Metalinker::addEntry(std::unique_ptr entry) { entries_.push_back(std::move(entry)); } } // namespace aria2