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/XMPPLayer.cpp
parente8b2e33a6fc569af116a32ebb5e441728e390c8f (diff)
downloadswift-d67ecb18c1178ecf69e6cb5e8c8ee1fecee35e4c.zip
swift-d67ecb18c1178ecf69e6cb5e8c8ee1fecee35e4c.tar.bz2
Refactoring streamstack to not use signal/slots.
Diffstat (limited to 'Swiften/StreamStack/XMPPLayer.cpp')
-rw-r--r--Swiften/StreamStack/XMPPLayer.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/Swiften/StreamStack/XMPPLayer.cpp b/Swiften/StreamStack/XMPPLayer.cpp
index d4e329b..3ecda95 100644
--- a/Swiften/StreamStack/XMPPLayer.cpp
+++ b/Swiften/StreamStack/XMPPLayer.cpp
@@ -29,22 +29,27 @@ XMPPLayer::~XMPPLayer() {
}
void XMPPLayer::writeHeader(const ProtocolHeader& header) {
- onWriteData(ByteArray(xmppSerializer_->serializeHeader(header)));
+ writeDataInternal(ByteArray(xmppSerializer_->serializeHeader(header)));
}
void XMPPLayer::writeFooter() {
- onWriteData(ByteArray(xmppSerializer_->serializeFooter()));
+ writeDataInternal(ByteArray(xmppSerializer_->serializeFooter()));
}
void XMPPLayer::writeElement(boost::shared_ptr<Element> element) {
- onWriteData(ByteArray(xmppSerializer_->serializeElement(element)));
+ writeDataInternal(ByteArray(xmppSerializer_->serializeElement(element)));
}
void XMPPLayer::writeData(const String& data) {
- onWriteData(ByteArray(data));
+ writeDataInternal(ByteArray(data));
}
-void XMPPLayer::parseData(ByteArray data) {
+void XMPPLayer::writeDataInternal(const ByteArray& data) {
+ onWriteData(data);
+ writeDataToChildLayer(data);
+}
+
+void XMPPLayer::handleDataRead(const ByteArray& data) {
onDataRead(data);
inParser_ = true;
if (!xmppParser_->parse(String(data.getData(), data.getSize()))) {