/* * Author: Patrick-Christopher Mattulat * Company: Lynar Studios * E-Mail: webmaster@lynarstudios.com * Created: 2020-09-27 * Changed: 2022-05-11 * * */ #ifndef LS_STD_XML_DOCUMENT_HPP #define LS_STD_XML_DOCUMENT_HPP #include #include #include "XmlNode.hpp" #include "XmlDeclaration.hpp" namespace ls { namespace std { namespace io { class XmlDocument : public ls::std::core::Class { public: XmlDocument(); ~XmlDocument() override = default; ::std::shared_ptr getDeclaration(); ::std::shared_ptr getRootElement(); void setDeclaration(const ::std::shared_ptr &_declaration); void setRootElement(const ::std::shared_ptr &_rootElement); ::std::string toXml(); private: ::std::shared_ptr declaration{}; ::std::shared_ptr rootElement{}; void _assignDeclaration(const ::std::shared_ptr &_declaration); void _assignRootElement(const ::std::shared_ptr &_rootElement); }; } } } #endif