summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2010-09-05 11:01:20 (GMT)
committerRemko Tronçon <git@el-tramo.be>2010-09-05 11:01:20 (GMT)
commit0630c01cf274a9de6b67856b8c00b1503b39353e (patch)
treed304c6510063ddd7ba5eb934e92f93f7222e3b41 /Swiften/Serializer/PayloadSerializers/RosterSerializer.cpp
parent840dc1e190cfdfdc9ec88f9f2db3a507221c96bc (diff)
downloadswift-0630c01cf274a9de6b67856b8c00b1503b39353e.zip
swift-0630c01cf274a9de6b67856b8c00b1503b39353e.tar.bz2
Don't lose unknown roster content.
Resolves: #555
Diffstat (limited to 'Swiften/Serializer/PayloadSerializers/RosterSerializer.cpp')
-rw-r--r--Swiften/Serializer/PayloadSerializers/RosterSerializer.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/Swiften/Serializer/PayloadSerializers/RosterSerializer.cpp b/Swiften/Serializer/PayloadSerializers/RosterSerializer.cpp
index fc3c03a..b56f404 100644
--- a/Swiften/Serializer/PayloadSerializers/RosterSerializer.cpp
+++ b/Swiften/Serializer/PayloadSerializers/RosterSerializer.cpp
@@ -8,10 +8,11 @@
8 8
9#include <boost/shared_ptr.hpp> 9#include <boost/shared_ptr.hpp>
10 10
11#include "Swiften/Base/foreach.h" 11#include "Swiften/Base/foreach.h"
12#include "Swiften/Serializer/XML/XMLTextNode.h" 12#include "Swiften/Serializer/XML/XMLTextNode.h"
13#include "Swiften/Serializer/XML/XMLRawTextNode.h"
13#include "Swiften/Serializer/XML/XMLElement.h" 14#include "Swiften/Serializer/XML/XMLElement.h"
14 15
15namespace Swift { 16namespace Swift {
16 17
17RosterSerializer::RosterSerializer() : GenericPayloadSerializer<RosterPayload>() { 18RosterSerializer::RosterSerializer() : GenericPayloadSerializer<RosterPayload>() {
@@ -40,10 +41,15 @@ String RosterSerializer::serializePayload(boost::shared_ptr<RosterPayload> roste
40 boost::shared_ptr<XMLElement> groupElement(new XMLElement("group")); 41 boost::shared_ptr<XMLElement> groupElement(new XMLElement("group"));
41 groupElement->addNode(boost::shared_ptr<XMLTextNode>(new XMLTextNode(group))); 42 groupElement->addNode(boost::shared_ptr<XMLTextNode>(new XMLTextNode(group)));
42 itemElement->addNode(groupElement); 43 itemElement->addNode(groupElement);
43 } 44 }
44 45
46 if (!item.getUnknownContent().isEmpty()) {
47 itemElement->addNode(boost::shared_ptr<XMLRawTextNode>(new XMLRawTextNode(item.getUnknownContent())));
48 }
49
50
45 queryElement.addNode(itemElement); 51 queryElement.addNode(itemElement);
46 } 52 }
47 53
48 return queryElement.serialize(); 54 return queryElement.serialize();
49} 55}