summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/StreamStack/XMPPLayer.h')
-rw-r--r--Swiften/StreamStack/XMPPLayer.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/Swiften/StreamStack/XMPPLayer.h b/Swiften/StreamStack/XMPPLayer.h
index 1d4abf8..f0b5afb 100644
--- a/Swiften/StreamStack/XMPPLayer.h
+++ b/Swiften/StreamStack/XMPPLayer.h
@@ -24,53 +24,54 @@ namespace Swift {
class PayloadParserFactoryCollection;
class XMPPSerializer;
class PayloadSerializerCollection;
class XMLParserFactory;
class BOSHSessionStream;
class SWIFTEN_API XMPPLayer : public XMPPParserClient, public HighLayer, boost::noncopyable {
friend class BOSHSessionStream;
public:
XMPPLayer(
PayloadParserFactoryCollection* payloadParserFactories,
PayloadSerializerCollection* payloadSerializers,
XMLParserFactory* xmlParserFactory,
StreamType streamType,
bool setExplictNSonTopLevelElements = false);
virtual ~XMPPLayer();
void writeHeader(const ProtocolHeader& header);
void writeFooter();
void writeElement(std::shared_ptr<ToplevelElement>);
void writeData(const std::string& data);
void resetParser();
protected:
void handleDataRead(const SafeByteArray& data);
void writeDataInternal(const SafeByteArray& data);
public:
boost::signals2::signal<void (const ProtocolHeader&)> onStreamStart;
+ boost::signals2::signal<void ()> onStreamEnd;
boost::signals2::signal<void (std::shared_ptr<ToplevelElement>)> onElement;
boost::signals2::signal<void (const SafeByteArray&)> onWriteData;
boost::signals2::signal<void (const SafeByteArray&)> onDataRead;
boost::signals2::signal<void ()> onError;
private:
void handleStreamStart(const ProtocolHeader&);
void handleElement(std::shared_ptr<ToplevelElement>);
void handleStreamEnd();
void doResetParser();
private:
PayloadParserFactoryCollection* payloadParserFactories_;
XMPPParser* xmppParser_;
PayloadSerializerCollection* payloadSerializers_;
XMLParserFactory* xmlParserFactory_;
XMPPSerializer* xmppSerializer_;
bool setExplictNSonTopLevelElements_;
bool resetParserAfterParse_;
bool inParser_;
};
}