diff options
Diffstat (limited to 'ParserFactory.h')
-rw-r--r-- | ParserFactory.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/ParserFactory.h b/ParserFactory.h new file mode 100644 index 0000000..5430366 --- /dev/null +++ b/ParserFactory.h @@ -0,0 +1,20 @@ +#pragma once + +#include "FileReader.h" +#include "MuseumDeserializer.h" +#include "Parser.h" + +class ParserFactory { + typedef std::vector<Parser*> ParserCollection; + +public: + static void parse(FileReader & f, MuseumDeserializer & d); + static void register_strategy(Parser * p); + +private: + static ParserCollection & get_collection() { + static ParserCollection c = {}; + return c; + } +}; + |