summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2011-04-20 18:48:38 (GMT)
committerRemko Tronçon <git@el-tramo.be>2011-04-23 07:53:50 (GMT)
commitb6246efcf15f03bb5b44bc79190bc9f4c7be9506 (patch)
treeb85028f8bca17b066512e0bad688b74fb7717a34 /Swiften/Parser/StreamManagementEnabledParser.cpp
parentb381d4fac4c4362ab534ab73875126cb5c6cd101 (diff)
downloadswift-b6246efcf15f03bb5b44bc79190bc9f4c7be9506.zip
swift-b6246efcf15f03bb5b44bc79190bc9f4c7be9506.tar.bz2
Finished Stream Management parserialements.
Diffstat (limited to 'Swiften/Parser/StreamManagementEnabledParser.cpp')
-rw-r--r--Swiften/Parser/StreamManagementEnabledParser.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/Swiften/Parser/StreamManagementEnabledParser.cpp b/Swiften/Parser/StreamManagementEnabledParser.cpp
new file mode 100644
index 0000000..906e071
--- /dev/null
+++ b/Swiften/Parser/StreamManagementEnabledParser.cpp
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2011 Remko Tronçon
+ * Licensed under the GNU General Public License v3.
+ * See Documentation/Licenses/GPLv3.txt for more information.
+ */
+
+#include <Swiften/Parser/StreamManagementEnabledParser.h>
+
+using namespace Swift;
+
+StreamManagementEnabledParser::StreamManagementEnabledParser() : level(TopLevel) {
+}
+
+StreamManagementEnabledParser::~StreamManagementEnabledParser() {
+}
+
+void StreamManagementEnabledParser::handleStartElement(const std::string&, const std::string&, const AttributeMap& attributes) {
+ if (level == TopLevel) {
+ if (attributes.getBoolAttribute("resume", false)) {
+ getElementGeneric()->setResumeSupported();
+ }
+ getElementGeneric()->setResumeID(attributes.getAttribute("id"));
+ }
+ ++level;
+}
+
+void StreamManagementEnabledParser::handleEndElement(const std::string&, const std::string&) {
+ --level;
+}