summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/StreamStack')
-rw-r--r--Swiften/StreamStack/XMPPLayer.cpp6
-rw-r--r--Swiften/StreamStack/XMPPLayer.h4
2 files changed, 7 insertions, 3 deletions
diff --git a/Swiften/StreamStack/XMPPLayer.cpp b/Swiften/StreamStack/XMPPLayer.cpp
index 59418a2..1f06b06 100644
--- a/Swiften/StreamStack/XMPPLayer.cpp
+++ b/Swiften/StreamStack/XMPPLayer.cpp
@@ -9,26 +9,28 @@
#include <Swiften/Serializer/XMPPSerializer.h>
#include <Swiften/Elements/ProtocolHeader.h>
namespace Swift {
XMPPLayer::XMPPLayer(
PayloadParserFactoryCollection* payloadParserFactories,
PayloadSerializerCollection* payloadSerializers,
XMLParserFactory* xmlParserFactory,
- StreamType streamType) :
+ StreamType streamType,
+ bool setExplictNSonTopLevelElements) :
payloadParserFactories_(payloadParserFactories),
payloadSerializers_(payloadSerializers),
xmlParserFactory_(xmlParserFactory),
+ setExplictNSonTopLevelElements_(setExplictNSonTopLevelElements),
resetParserAfterParse_(false),
inParser_(false) {
xmppParser_ = new XMPPParser(this, payloadParserFactories_, xmlParserFactory);
- xmppSerializer_ = new XMPPSerializer(payloadSerializers_, streamType);
+ xmppSerializer_ = new XMPPSerializer(payloadSerializers_, streamType, setExplictNSonTopLevelElements);
}
XMPPLayer::~XMPPLayer() {
delete xmppSerializer_;
delete xmppParser_;
}
void XMPPLayer::writeHeader(const ProtocolHeader& header) {
writeDataInternal(createSafeByteArray(xmppSerializer_->serializeHeader(header)));
diff --git a/Swiften/StreamStack/XMPPLayer.h b/Swiften/StreamStack/XMPPLayer.h
index bb0e498..13266e4 100644
--- a/Swiften/StreamStack/XMPPLayer.h
+++ b/Swiften/StreamStack/XMPPLayer.h
@@ -27,19 +27,20 @@ namespace Swift {
class BOSHSessionStream;
class SWIFTEN_API XMPPLayer : public XMPPParserClient, public HighLayer, boost::noncopyable {
friend class BOSHSessionStream;
public:
XMPPLayer(
PayloadParserFactoryCollection* payloadParserFactories,
PayloadSerializerCollection* payloadSerializers,
XMLParserFactory* xmlParserFactory,
- StreamType streamType);
+ StreamType streamType,
+ bool setExplictNSonTopLevelElements = false);
~XMPPLayer();
void writeHeader(const ProtocolHeader& header);
void writeFooter();
void writeElement(boost::shared_ptr<ToplevelElement>);
void writeData(const std::string& data);
void resetParser();
@@ -61,13 +62,14 @@ namespace Swift {
void doResetParser();
private:
PayloadParserFactoryCollection* payloadParserFactories_;
XMPPParser* xmppParser_;
PayloadSerializerCollection* payloadSerializers_;
XMLParserFactory* xmlParserFactory_;
XMPPSerializer* xmppSerializer_;
+ bool setExplictNSonTopLevelElements_;
bool resetParserAfterParse_;
bool inParser_;
};
}