diff options
author | Remko Tronçon <git@el-tramo.be> | 2010-03-28 13:40:14 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2010-03-28 13:40:43 (GMT) |
commit | b61486fefe602e0d18fa5279021006f87b965307 (patch) | |
tree | 437585cbef1179e1ec31f79789591d5610200c29 /Swiften/Parser/StreamFeaturesParser.cpp | |
parent | dae28dd45e43fc6e6ef2ec4c6c65d5d736ed86f8 (diff) | |
download | swift-contrib-b61486fefe602e0d18fa5279021006f87b965307.zip swift-contrib-b61486fefe602e0d18fa5279021006f87b965307.tar.bz2 |
Moved Swiften to a separate module.
Diffstat (limited to 'Swiften/Parser/StreamFeaturesParser.cpp')
m--------- | Swiften | 0 | ||||
-rw-r--r-- | Swiften/Parser/StreamFeaturesParser.cpp | 61 |
2 files changed, 0 insertions, 61 deletions
diff --git a/Swiften b/Swiften new file mode 160000 +Subproject 8213ba16d0043d2461f4b031c881d61dda5a38c diff --git a/Swiften/Parser/StreamFeaturesParser.cpp b/Swiften/Parser/StreamFeaturesParser.cpp deleted file mode 100644 index 5072e7c..0000000 --- a/Swiften/Parser/StreamFeaturesParser.cpp +++ /dev/null @@ -1,61 +0,0 @@ -#include "Swiften/Parser/StreamFeaturesParser.h" - -namespace Swift { - -StreamFeaturesParser::StreamFeaturesParser() : GenericElementParser<StreamFeatures>(), currentDepth_(0), inMechanisms_(false), inMechanism_(false), inCompression_(false), inCompressionMethod_(false) { -} - -void StreamFeaturesParser::handleStartElement(const String& element, const String& ns, const AttributeMap&) { - if (currentDepth_ == 1) { - if (element == "starttls" && ns == "urn:ietf:params:xml:ns:xmpp-tls") { - getElementGeneric()->setHasStartTLS(); - } - else if (element == "session" && ns == "urn:ietf:params:xml:ns:xmpp-session") { - getElementGeneric()->setHasSession(); - } - else if (element == "bind" && ns == "urn:ietf:params:xml:ns:xmpp-bind") { - getElementGeneric()->setHasResourceBind(); - } - else if (element == "mechanisms" && ns == "urn:ietf:params:xml:ns:xmpp-sasl") { - inMechanisms_ = true; - } - else if (element == "compression" && ns == "http://jabber.org/features/compress") { - inCompression_ = true; - } - } - else if (currentDepth_ == 2) { - if (inCompression_ && element == "method") { - inCompressionMethod_ = true; - currentText_ = ""; - } - else if (inMechanisms_ && element == "mechanism") { - inMechanism_ = true; - currentText_ = ""; - } - } - ++currentDepth_; -} - -void StreamFeaturesParser::handleEndElement(const String&, const String&) { - --currentDepth_; - if (currentDepth_ == 1) { - inCompression_ = false; - inMechanisms_ = false; - } - else if (currentDepth_ == 2) { - if (inCompressionMethod_) { - getElementGeneric()->addCompressionMethod(currentText_); - inCompressionMethod_ = false; - } - else if (inMechanism_) { - getElementGeneric()->addAuthenticationMechanism(currentText_); - inMechanism_ = false; - } - } -} - -void StreamFeaturesParser::handleCharacterData(const String& data) { - currentText_ += data; -} - -} |