diff options
| author | Jan Kaluza <hanzz.k@gmail.com> | 2012-06-20 08:37:43 (GMT) |
|---|---|---|
| committer | Remko Tronçon <git@el-tramo.be> | 2012-06-20 19:05:04 (GMT) |
| commit | c64bfb54c72f5fab80cd6f3e3202f8c09064ecf3 (patch) | |
| tree | 708cc5a09272a30e76952bb52532764774a63f11 /Swiften/Parser/PayloadParsers/DiscoItemsParser.cpp | |
| parent | 7436b2bc3c52141cf18602b2f392b79ed7bded75 (diff) | |
| download | swift-contrib-c64bfb54c72f5fab80cd6f3e3202f8c09064ecf3.zip swift-contrib-c64bfb54c72f5fab80cd6f3e3202f8c09064ecf3.tar.bz2 | |
Parse node attribute in DiscoItemsParser and add DiscoItemsParser test
Copyright (c) 2012 Jan Kaluza
Licensed under the Simplified BSD license.
See Documentation/Licenses/BSD-simplified.txt for more information.
Diffstat (limited to 'Swiften/Parser/PayloadParsers/DiscoItemsParser.cpp')
| -rw-r--r-- | Swiften/Parser/PayloadParsers/DiscoItemsParser.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/Swiften/Parser/PayloadParsers/DiscoItemsParser.cpp b/Swiften/Parser/PayloadParsers/DiscoItemsParser.cpp index d6ac94d..a56dc5a 100644 --- a/Swiften/Parser/PayloadParsers/DiscoItemsParser.cpp +++ b/Swiften/Parser/PayloadParsers/DiscoItemsParser.cpp @@ -11,18 +11,23 @@ namespace Swift { DiscoItemsParser::DiscoItemsParser() : level_(TopLevel) { } void DiscoItemsParser::handleStartElement(const std::string& element, const std::string&, const AttributeMap& attributes) { if (level_ == PayloadLevel) { if (element == "item") { getPayloadInternal()->addItem(DiscoItems::Item(attributes.getAttribute("name"), JID(attributes.getAttribute("jid")), attributes.getAttribute("node"))); } } + else if (level_ == TopLevel) { + if (element == "query") { + getPayloadInternal()->setNode(attributes.getAttribute("node")); + } + } ++level_; } void DiscoItemsParser::handleEndElement(const std::string&, const std::string&) { --level_; } void DiscoItemsParser::handleCharacterData(const std::string&) { } |
Swift