diff options
Diffstat (limited to 'Swiften/Parser/GenericPayloadTreeParser.h')
-rw-r--r-- | Swiften/Parser/GenericPayloadTreeParser.h | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/Swiften/Parser/GenericPayloadTreeParser.h b/Swiften/Parser/GenericPayloadTreeParser.h index a1946ee..df6d022 100644 --- a/Swiften/Parser/GenericPayloadTreeParser.h +++ b/Swiften/Parser/GenericPayloadTreeParser.h @@ -7,36 +7,32 @@ #pragma once #include <deque> #include <boost/shared_ptr.hpp> #include <boost/smart_ptr/make_shared.hpp> #include <Swiften/Parser/GenericPayloadParser.h> #include <Swiften/Parser/Tree/ParserElement.h> -#include <Swiften/Parser/Tree/NullParserElement.h> - -#include <iostream> namespace Swift { - - /** * Generic parser offering something a bit like a DOM to work with. */ template<typename PAYLOAD_TYPE> class GenericPayloadTreeParser : public GenericPayloadParser<PAYLOAD_TYPE> { public: virtual void handleStartElement(const std::string& element, const std::string& xmlns, const AttributeMap& attributes) { if (!root_) { root_ = boost::make_shared<ParserElement>(element, xmlns, attributes); elementStack_.push_back(root_); - } else { + } + else { ParserElement::ref current = *elementStack_.rbegin(); elementStack_.push_back(current->addChild(element, xmlns, attributes)); } } virtual void handleEndElement(const std::string& /*element*/, const std::string&) { elementStack_.pop_back(); if (elementStack_.empty()) { handleTree(root_); |