/* * Copyright (c) 2011 Jan Kaluza * Licensed under the Simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #include <Swiften/Parser/StringTreeParser.h> #include <Swiften/Parser/PlatformXMLParserFactory.h> #include <Swiften/Parser/Tree/ParserElement.h> #include <Swiften/Parser/XMLParser.h> namespace Swift { class DefaultStringTreeParser : public StringTreeParser { public: void handleTree(ParserElement::ref root) { root_ = root; } ParserElement::ref getRoot() { return root_; } private: ParserElement::ref root_; }; ParserElement::ref StringTreeParser::parse(const std::string &xml) { PlatformXMLParserFactory factory; DefaultStringTreeParser client; XMLParser *parser = factory.createXMLParser(&client); parser->parse(xml); ParserElement::ref root = client.getRoot(); delete parser; return root; } }