summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Markmann <tm@ayena.de>2018-08-01 15:07:35 (GMT)
committerTobias Markmann <tm@ayena.de>2018-08-01 15:07:35 (GMT)
commit80f74201f0a35718642e434c58b631b238fd85df (patch)
tree0143d469fa2dc8bcae535e6cec59d5a01924bed3
parent07b3b882ade8ed454e304963e4f238e867608c46 (diff)
downloadswift-80f74201f0a35718642e434c58b631b238fd85df.zip
swift-80f74201f0a35718642e434c58b631b238fd85df.tar.bz2
Use interfaces for top and bottom layer in StreamStack
Test-Information: Builds, unit and integration tests pass on macOS with clang 7.0 master Change-Id: Idb9648c1293adbe6f4b79af3ad619ebb0630e48d
-rw-r--r--Swiften/StreamStack/StreamStack.cpp14
-rw-r--r--Swiften/StreamStack/StreamStack.h12
2 files changed, 13 insertions, 13 deletions
diff --git a/Swiften/StreamStack/StreamStack.cpp b/Swiften/StreamStack/StreamStack.cpp
index f14f95c..75fb1ce 100644
--- a/Swiften/StreamStack/StreamStack.cpp
+++ b/Swiften/StreamStack/StreamStack.cpp
@@ -10,23 +10,23 @@
10 10
11#include <Swiften/StreamStack/LowLayer.h> 11#include <Swiften/StreamStack/LowLayer.h>
12#include <Swiften/StreamStack/StreamLayer.h> 12#include <Swiften/StreamStack/StreamLayer.h>
13#include <Swiften/StreamStack/XMPPLayer.h> 13#include <Swiften/StreamStack/HighLayer.h>
14 14
15namespace Swift { 15namespace Swift {
16 16
17StreamStack::StreamStack(XMPPLayer* xmppLayer, LowLayer* physicalLayer) : xmppLayer_(xmppLayer), physicalLayer_(physicalLayer) { 17StreamStack::StreamStack(HighLayer* topLayer, LowLayer* bottomLayer) : topLayer_(topLayer), bottomLayer_(bottomLayer) {
18 physicalLayer_->setParentLayer(xmppLayer_); 18 bottomLayer_->setParentLayer(topLayer_);
19 xmppLayer_->setChildLayer(physicalLayer_); 19 topLayer_->setChildLayer(bottomLayer_);
20} 20}
21 21
22StreamStack::~StreamStack() { 22StreamStack::~StreamStack() {
23} 23}
24 24
25void StreamStack::addLayer(std::unique_ptr<StreamLayer> streamLayer) { 25void StreamStack::addLayer(std::unique_ptr<StreamLayer> streamLayer) {
26 LowLayer* lowLayer = layers_.empty() ? physicalLayer_ : layers_.rbegin()->get(); 26 LowLayer* lowLayer = layers_.empty() ? bottomLayer_ : layers_.rbegin()->get();
27 27
28 xmppLayer_->setChildLayer(streamLayer.get()); 28 topLayer_->setChildLayer(streamLayer.get());
29 streamLayer->setParentLayer(xmppLayer_); 29 streamLayer->setParentLayer(topLayer_);
30 30
31 lowLayer->setParentLayer(streamLayer.get()); 31 lowLayer->setParentLayer(streamLayer.get());
32 streamLayer->setChildLayer(lowLayer); 32 streamLayer->setChildLayer(lowLayer);
diff --git a/Swiften/StreamStack/StreamStack.h b/Swiften/StreamStack/StreamStack.h
index 5b77085..bd95811 100644
--- a/Swiften/StreamStack/StreamStack.h
+++ b/Swiften/StreamStack/StreamStack.h
@@ -15,19 +15,19 @@
15#include <Swiften/Elements/Stanza.h> 15#include <Swiften/Elements/Stanza.h>
16 16
17namespace Swift { 17namespace Swift {
18 class XMPPLayer; 18 class HighLayer;
19 class LowLayer; 19 class LowLayer;
20 class StreamLayer; 20 class StreamLayer;
21 21
22 class SWIFTEN_API StreamStack { 22 class SWIFTEN_API StreamStack {
23 public: 23 public:
24 StreamStack(XMPPLayer* xmppLayer, LowLayer* physicalLayer); 24 StreamStack(HighLayer* topLayer, LowLayer* bottomLayer);
25 ~StreamStack(); 25 ~StreamStack();
26 26
27 void addLayer(std::unique_ptr<StreamLayer> /* streamLayer */); 27 void addLayer(std::unique_ptr<StreamLayer> /* streamLayer */);
28 28
29 XMPPLayer* getXMPPLayer() const { 29 HighLayer* getTopLayer() const {
30 return xmppLayer_; 30 return topLayer_;
31 } 31 }
32 32
33 template<typename T> T* getLayer() const { 33 template<typename T> T* getLayer() const {
@@ -41,8 +41,8 @@ namespace Swift {
41 } 41 }
42 42
43 private: 43 private:
44 XMPPLayer* xmppLayer_; 44 HighLayer* topLayer_;
45 LowLayer* physicalLayer_; 45 LowLayer* bottomLayer_;
46 std::vector<std::unique_ptr<StreamLayer>> layers_; 46 std::vector<std::unique_ptr<StreamLayer>> layers_;
47 }; 47 };
48} 48}