#include #include "Exception.h" #include "FileReader.h" #include "Museum.h" #include "Deserializer.h" #include "Parser.h" void load_museum(Museum & m, int argc, char** argv) { Deserializer d {}; d.set_target(&m); for (int i = 1; i < argc; i++) { char * url = argv[i]; File * f = nullptr; try { f = &FileReader::open(url); } catch (Exception & e) { printf("File open error: %s\n", e.what()); exit(EXIT_FAILURE); } try { Parser::parse(*f, d); } catch (Exception & e) { printf("Parser error: %s (%s)\n", e.what(), url); exit(EXIT_FAILURE); } f->close(); } d.finalize(); } int main(int argc, char** argv) { Museum m {}; load_museum(m, argc, argv); return EXIT_SUCCESS; }