diff options
author | Tarun Gupta <tarun1995gupta@gmail.com> | 2017-06-10 17:23:25 (GMT) |
---|---|---|
committer | Tobias Markmann <tm@ayena.de> | 2017-06-18 15:40:29 (GMT) |
commit | b8c1d6fb59bd4ae528d807fc30b02dab45aafabf (patch) | |
tree | e03a723b0f7b9b64c68d38fa0e38817adab3be8a /Swiften/Parser/PayloadParsers/MIXParticipantParser.cpp | |
parent | ccefa0d4d90fd89a6d7e9cd6167066f3797020d7 (diff) | |
download | swift-b8c1d6fb59bd4ae528d807fc30b02dab45aafabf.zip swift-b8c1d6fb59bd4ae528d807fc30b02dab45aafabf.tar.bz2 |
Adds MIX Participant Element, its Parsers and Serializers.
License:
This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
Test-Information:
Adds tests for MIX Participant Parser and Serializer from XEP-0369, which passes.
Tested on Ubuntu 16.04 LTS.
Change-Id: Iee2d96c8ebdf9461c28518f8f8c28c11d2a94524
Diffstat (limited to 'Swiften/Parser/PayloadParsers/MIXParticipantParser.cpp')
-rw-r--r-- | Swiften/Parser/PayloadParsers/MIXParticipantParser.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/Swiften/Parser/PayloadParsers/MIXParticipantParser.cpp b/Swiften/Parser/PayloadParsers/MIXParticipantParser.cpp new file mode 100644 index 0000000..0ab2b87 --- /dev/null +++ b/Swiften/Parser/PayloadParsers/MIXParticipantParser.cpp @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2017 Tarun Gupta + * Licensed under the simplified BSD license. + * See Documentation/Licenses/BSD-simplified.txt for more information. + */ + +#include <Swiften/Parser/PayloadParsers/MIXParticipantParser.h> + +namespace Swift { + +void MIXParticipantParser::handleTree(ParserElement::ref root) { + for (const auto& child : root->getAllChildren()) { + if (child->getName() == "nick" && child->getNamespace() == root->getNamespace()) { + getPayloadInternal()->setNick(child->getText()); + } + else if (child->getName() == "jid" && child->getNamespace() == root->getNamespace()) { + if (boost::optional<JID> jid = JID::parse(child->getText())) { + getPayloadInternal()->setJID(*jid); + } + } + } +} + +} |