From d8289105193707daede1a5b59137f18e20f20aeb Mon Sep 17 00:00:00 2001 From: Loek Le Blansch Date: Fri, 18 Oct 2024 15:48:14 +0200 Subject: (2/2) rename --- Parser.cpp | 32 -------------------------------- 1 file changed, 32 deletions(-) delete mode 100644 Parser.cpp (limited to 'Parser.cpp') diff --git a/Parser.cpp b/Parser.cpp deleted file mode 100644 index 49c4d00..0000000 --- a/Parser.cpp +++ /dev/null @@ -1,32 +0,0 @@ -#include - -#include "ParserFactory.h" -#include "Exception.h" - -void ParserFactory::parse(FileReader & file, MuseumDeserializer & deserializer) { - auto & col = ParserFactory::get_collection(); - if (col.size() < 1) - throw Exception("no parsers registered"); - - unsigned int best_score = 0; - Parser * best_strategy = nullptr; - for (Parser * strategy : col) { - unsigned int score = strategy->heuristic(file); - if (score <= best_score) continue; - - best_score = score; - best_strategy = strategy; - } - - if (best_strategy == nullptr) - throw Exception("unknown file type"); - - best_strategy->parse(file, deserializer); -} - -void ParserFactory::register_strategy(Parser * ps) { - auto & col = ParserFactory::get_collection(); - if (std::find(col.begin(), col.end(), ps) != col.end()) return; - col.push_back(ps); -} - -- cgit v1.2.3