summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/StreamStack')
-rw-r--r--Swiften/StreamStack/HighLayer.h3
-rw-r--r--Swiften/StreamStack/LowLayer.h3
-rw-r--r--Swiften/StreamStack/StreamStack.h3
-rw-r--r--Swiften/StreamStack/TLSLayer.cpp4
-rw-r--r--Swiften/StreamStack/TLSLayer.h1
-rw-r--r--Swiften/StreamStack/UnitTest/StreamStackTest.cpp4
-rw-r--r--Swiften/StreamStack/UnitTest/XMPPLayerTest.cpp6
-rw-r--r--Swiften/StreamStack/XMPPLayer.cpp12
-rw-r--r--Swiften/StreamStack/XMPPLayer.h17
9 files changed, 33 insertions, 20 deletions
diff --git a/Swiften/StreamStack/HighLayer.h b/Swiften/StreamStack/HighLayer.h
index 06b1d25..5669592 100644
--- a/Swiften/StreamStack/HighLayer.h
+++ b/Swiften/StreamStack/HighLayer.h
@@ -7,4 +7,5 @@
#pragma once
+#include <Swiften/Base/API.h>
#include <Swiften/Base/SafeByteArray.h>
@@ -12,5 +13,5 @@ namespace Swift {
class LowLayer;
- class HighLayer {
+ class SWIFTEN_API HighLayer {
friend class StreamStack;
diff --git a/Swiften/StreamStack/LowLayer.h b/Swiften/StreamStack/LowLayer.h
index 00960ea..ee3f7d3 100644
--- a/Swiften/StreamStack/LowLayer.h
+++ b/Swiften/StreamStack/LowLayer.h
@@ -7,4 +7,5 @@
#pragma once
+#include <Swiften/Base/API.h>
#include <Swiften/Base/SafeByteArray.h>
@@ -12,5 +13,5 @@ namespace Swift {
class HighLayer;
- class LowLayer {
+ class SWIFTEN_API LowLayer {
friend class StreamStack;
diff --git a/Swiften/StreamStack/StreamStack.h b/Swiften/StreamStack/StreamStack.h
index 30e17ce..8bbb235 100644
--- a/Swiften/StreamStack/StreamStack.h
+++ b/Swiften/StreamStack/StreamStack.h
@@ -11,4 +11,5 @@
#include <vector>
+#include <Swiften/Base/API.h>
#include <Swiften/Elements/Stanza.h>
@@ -18,5 +19,5 @@ namespace Swift {
class StreamLayer;
- class StreamStack {
+ class SWIFTEN_API StreamStack {
public:
StreamStack(XMPPLayer* xmppLayer, LowLayer* physicalLayer);
diff --git a/Swiften/StreamStack/TLSLayer.cpp b/Swiften/StreamStack/TLSLayer.cpp
index 6d416bc..86221ea 100644
--- a/Swiften/StreamStack/TLSLayer.cpp
+++ b/Swiften/StreamStack/TLSLayer.cpp
@@ -46,4 +46,8 @@ Certificate::ref TLSLayer::getPeerCertificate() const {
}
+std::vector<Certificate::ref> TLSLayer::getPeerCertificateChain() const {
+ return context->getPeerCertificateChain();
+}
+
boost::shared_ptr<CertificateVerificationError> TLSLayer::getPeerCertificateVerificationError() const {
return context->getPeerCertificateVerificationError();
diff --git a/Swiften/StreamStack/TLSLayer.h b/Swiften/StreamStack/TLSLayer.h
index ce0c89b..24978e0 100644
--- a/Swiften/StreamStack/TLSLayer.h
+++ b/Swiften/StreamStack/TLSLayer.h
@@ -27,4 +27,5 @@ namespace Swift {
Certificate::ref getPeerCertificate() const;
+ std::vector<Certificate::ref> getPeerCertificateChain() const;
boost::shared_ptr<CertificateVerificationError> getPeerCertificateVerificationError() const;
diff --git a/Swiften/StreamStack/UnitTest/StreamStackTest.cpp b/Swiften/StreamStack/UnitTest/StreamStackTest.cpp
index 213948a..35146d6 100644
--- a/Swiften/StreamStack/UnitTest/StreamStackTest.cpp
+++ b/Swiften/StreamStack/UnitTest/StreamStackTest.cpp
@@ -1,4 +1,4 @@
/*
- * Copyright (c) 2010 Remko Tronçon
+ * Copyright (c) 2010-2014 Remko Tronçon
* Licensed under the GNU General Public License v3.
* See Documentation/Licenses/GPLv3.txt for more information.
@@ -127,5 +127,5 @@ class StreamStackTest : public CppUnit::TestFixture {
}
- void handleElement(boost::shared_ptr<Element>) {
+ void handleElement(boost::shared_ptr<ToplevelElement>) {
++elementsReceived_;
}
diff --git a/Swiften/StreamStack/UnitTest/XMPPLayerTest.cpp b/Swiften/StreamStack/UnitTest/XMPPLayerTest.cpp
index a6098f1..ced9ec3 100644
--- a/Swiften/StreamStack/UnitTest/XMPPLayerTest.cpp
+++ b/Swiften/StreamStack/UnitTest/XMPPLayerTest.cpp
@@ -1,4 +1,4 @@
/*
- * Copyright (c) 2010 Remko Tronçon
+ * Copyright (c) 2010-2014 Remko Tronçon
* Licensed under the GNU General Public License v3.
* See Documentation/Licenses/GPLv3.txt for more information.
@@ -95,9 +95,9 @@ class XMPPLayerTest : public CppUnit::TestFixture {
}
- void handleElement(boost::shared_ptr<Element>) {
+ void handleElement(boost::shared_ptr<ToplevelElement>) {
++elementsReceived_;
}
- void handleElementAndReset(boost::shared_ptr<Element>) {
+ void handleElementAndReset(boost::shared_ptr<ToplevelElement>) {
++elementsReceived_;
testling_->resetParser();
diff --git a/Swiften/StreamStack/XMPPLayer.cpp b/Swiften/StreamStack/XMPPLayer.cpp
index 94afcf9..1f06b06 100644
--- a/Swiften/StreamStack/XMPPLayer.cpp
+++ b/Swiften/StreamStack/XMPPLayer.cpp
@@ -1,4 +1,4 @@
/*
- * Copyright (c) 2010 Remko Tronçon
+ * Copyright (c) 2010-2014 Remko Tronçon
* Licensed under the GNU General Public License v3.
* See Documentation/Licenses/GPLv3.txt for more information.
@@ -16,12 +16,14 @@ XMPPLayer::XMPPLayer(
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);
}
@@ -39,5 +41,5 @@ void XMPPLayer::writeFooter() {
}
-void XMPPLayer::writeElement(boost::shared_ptr<Element> element) {
+void XMPPLayer::writeElement(boost::shared_ptr<ToplevelElement> element) {
writeDataInternal(xmppSerializer_->serializeElement(element));
}
@@ -79,5 +81,5 @@ void XMPPLayer::handleStreamStart(const ProtocolHeader& header) {
}
-void XMPPLayer::handleElement(boost::shared_ptr<Element> stanza) {
+void XMPPLayer::handleElement(boost::shared_ptr<ToplevelElement> stanza) {
onElement(stanza);
}
diff --git a/Swiften/StreamStack/XMPPLayer.h b/Swiften/StreamStack/XMPPLayer.h
index 81f0457..13266e4 100644
--- a/Swiften/StreamStack/XMPPLayer.h
+++ b/Swiften/StreamStack/XMPPLayer.h
@@ -1,4 +1,4 @@
/*
- * Copyright (c) 2010 Remko Tronçon
+ * Copyright (c) 2010-2014 Remko Tronçon
* Licensed under the GNU General Public License v3.
* See Documentation/Licenses/GPLv3.txt for more information.
@@ -11,7 +11,8 @@
#include <boost/noncopyable.hpp>
+#include <Swiften/Base/API.h>
#include <Swiften/StreamStack/HighLayer.h>
#include <Swiften/Base/SafeByteArray.h>
-#include <Swiften/Elements/Element.h>
+#include <Swiften/Elements/ToplevelElement.h>
#include <Swiften/Elements/StreamType.h>
#include <Swiften/Parser/XMPPParserClient.h>
@@ -26,5 +27,5 @@ namespace Swift {
class BOSHSessionStream;
- class XMPPLayer : public XMPPParserClient, public HighLayer, boost::noncopyable {
+ class SWIFTEN_API XMPPLayer : public XMPPParserClient, public HighLayer, boost::noncopyable {
friend class BOSHSessionStream;
public:
@@ -33,10 +34,11 @@ namespace Swift {
PayloadSerializerCollection* payloadSerializers,
XMLParserFactory* xmlParserFactory,
- StreamType streamType);
+ StreamType streamType,
+ bool setExplictNSonTopLevelElements = false);
~XMPPLayer();
void writeHeader(const ProtocolHeader& header);
void writeFooter();
- void writeElement(boost::shared_ptr<Element>);
+ void writeElement(boost::shared_ptr<ToplevelElement>);
void writeData(const std::string& data);
@@ -49,5 +51,5 @@ namespace Swift {
public:
boost::signal<void (const ProtocolHeader&)> onStreamStart;
- boost::signal<void (boost::shared_ptr<Element>)> onElement;
+ boost::signal<void (boost::shared_ptr<ToplevelElement>)> onElement;
boost::signal<void (const SafeByteArray&)> onWriteData;
boost::signal<void (const SafeByteArray&)> onDataRead;
@@ -56,5 +58,5 @@ namespace Swift {
private:
void handleStreamStart(const ProtocolHeader&);
- void handleElement(boost::shared_ptr<Element>);
+ void handleElement(boost::shared_ptr<ToplevelElement>);
void handleStreamEnd();
@@ -67,4 +69,5 @@ namespace Swift {
XMLParserFactory* xmlParserFactory_;
XMPPSerializer* xmppSerializer_;
+ bool setExplictNSonTopLevelElements_;
bool resetParserAfterParse_;
bool inParser_;