summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2010-12-19 14:10:39 (GMT)
committerRemko Tronçon <git@el-tramo.be>2010-12-19 17:17:45 (GMT)
commitd67ecb18c1178ecf69e6cb5e8c8ee1fecee35e4c (patch)
tree5f05b975ae39b2318d85f9ed673e2434f2916981 /Swiften/StreamStack/HighLayer.h
parente8b2e33a6fc569af116a32ebb5e441728e390c8f (diff)
downloadswift-d67ecb18c1178ecf69e6cb5e8c8ee1fecee35e4c.zip
swift-d67ecb18c1178ecf69e6cb5e8c8ee1fecee35e4c.tar.bz2
Refactoring streamstack to not use signal/slots.
Diffstat (limited to 'Swiften/StreamStack/HighLayer.h')
-rw-r--r--Swiften/StreamStack/HighLayer.h26
1 files changed, 19 insertions, 7 deletions
diff --git a/Swiften/StreamStack/HighLayer.h b/Swiften/StreamStack/HighLayer.h
index f15621e..ca983f9 100644
--- a/Swiften/StreamStack/HighLayer.h
+++ b/Swiften/StreamStack/HighLayer.h
@@ -4,22 +4,34 @@
* See Documentation/Licenses/GPLv3.txt for more information.
*/
-#ifndef SWIFTEN_HIGHLAYER_H
-#define SWIFTEN_HIGHLAYER_H
-
-#include "Swiften/Base/boost_bsignals.h"
+#pragma once
#include "Swiften/Base/ByteArray.h"
namespace Swift {
+ class LowLayer;
+
class HighLayer {
+ friend class StreamStack;
+
public:
+ HighLayer();
virtual ~HighLayer();
virtual void handleDataRead(const ByteArray& data) = 0;
+
+ protected:
+ LowLayer* getChildLayer() {
+ return childLayer;
+ }
- boost::signal<void (const ByteArray&)> onWriteData;
+ void setChildLayer(LowLayer* childLayer) {
+ this->childLayer = childLayer;
+ }
+
+ void writeDataToChildLayer(const ByteArray& data);
+
+ private:
+ LowLayer* childLayer;
};
}
-
-#endif