diff options
Diffstat (limited to 'Swiften/StreamStack/XMPPLayer.cpp')
-rw-r--r-- | Swiften/StreamStack/XMPPLayer.cpp | 15 |
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()))) { |