diff --git a/include/Swiften/Parser/PayloadParsers/PubSubPublishPayloadParser.cpp b/include/Swiften/Parser/PayloadParsers/PubSubPublishPayloadParser.cpp new file mode 100644 index 0000000000000000000000000000000000000000..949ceba456f134e91f0474f1f42de67f5ab4d2d7 --- /dev/null +++ b/include/Swiften/Parser/PayloadParsers/PubSubPublishPayloadParser.cpp @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2012 Jan Kaluza + * Licensed under the Simplified BSD license. + * See Documentation/Licenses/BSD-simplified.txt for more information. + */ + +#include + +#include + +#include +#include +#include +#include +#include + +namespace Swift { + +void PubSubPublishPayloadParser::handleTree(ParserElement::ref root) { + std::string node = root->getAttributes().getAttribute("node"); + if (!node.empty()) { + getPayloadInternal()->setNode(node); + } + + foreach (ParserElement::ref child, root->getAllChildren()) { + getPayloadInternal()->addItem(TreeReparser::parseTree(child, factories)); + } +} + +}