diff options
author | Remko Tronçon <git@el-tramo.be> | 2009-07-11 15:51:42 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2009-07-11 15:56:10 (GMT) |
commit | 1d6d6588e3affc9a736b29062107ca82ad6a5644 (patch) | |
tree | 54a96dd3f652df321ed5017148811d241baa1dd8 /Swiften/Parser/PayloadParsers/RawXMLPayloadParser.cpp | |
parent | e1a2d258479cd915e8c30c5c996b58da3da3e55d (diff) | |
download | swift-contrib-1d6d6588e3affc9a736b29062107ca82ad6a5644.zip swift-contrib-1d6d6588e3affc9a736b29062107ca82ad6a5644.tar.bz2 |
Added Raw XML payload parser & serializer.
Diffstat (limited to 'Swiften/Parser/PayloadParsers/RawXMLPayloadParser.cpp')
-rw-r--r-- | Swiften/Parser/PayloadParsers/RawXMLPayloadParser.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/Swiften/Parser/PayloadParsers/RawXMLPayloadParser.cpp b/Swiften/Parser/PayloadParsers/RawXMLPayloadParser.cpp new file mode 100644 index 0000000..c49af3e --- /dev/null +++ b/Swiften/Parser/PayloadParsers/RawXMLPayloadParser.cpp @@ -0,0 +1,26 @@ +#include "Swiften/Parser/PayloadParsers/RawXMLPayloadParser.h" +#include "Swiften/Parser/SerializingParser.h" + +namespace Swift { + +RawXMLPayloadParser::RawXMLPayloadParser() : level_(0) { +} + +void RawXMLPayloadParser::handleStartElement(const String& element, const String& ns, const AttributeMap& attributes) { + ++level_; + serializingParser_.handleStartElement(element, ns, attributes); +} + +void RawXMLPayloadParser::handleEndElement(const String& element, const String& ns) { + serializingParser_.handleEndElement(element, ns); + --level_; + if (level_ == 0) { + getPayloadInternal()->setRawXML(serializingParser_.getResult()); + } +} + +void RawXMLPayloadParser::handleCharacterData(const String& data) { + serializingParser_.handleCharacterData(data); +} + +} |