#ifndef FRONTEND_GUI_GUI_XML_H_ #define FRONTEND_GUI_GUI_XML_H_ #include #include #include "GUI.h" #include "../../coders/xml.h" namespace gui { class UiXmlReader; using uinode_reader = std::function(UiXmlReader&, xml::xmlelement)>; class UiXmlReader { std::unordered_map readers; std::string filename; public: UiXmlReader(); void add(const std::string& tag, uinode_reader reader); std::shared_ptr readUINode(xml::xmlelement element); std::shared_ptr readXML( const std::string& filename, const std::string& source ); const std::string& getFilename() const; }; } #endif // FRONTEND_GUI_GUI_XML_H_