#include #include "Exception.h" #include "FileReader.h" #include "Museum.h" #include "Deserializer.h" #include "Parser.h" #include "View.h" #include "ViewController.h" using namespace std; 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]; FileStrategy * f = nullptr; try { f = &FileReader::open(url); } catch (Exception & e) { printf("FileStrategy 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(); } void load_view(View & v, Museum & m) { // v.set_target(&m); } int main(int argc, char** argv) { Museum m {}; load_museum(m, argc, argv); printf("%s", m.canvas.to_string(true).c_str()); View v {}; ViewController vc {v, m}; while (v.open) { m.update(); vc.update(); } return EXIT_SUCCESS; }