#pragma once #include #include #include "Swiften/Elements/ProtocolHeader.h" #include "Swiften/Elements/Element.h" namespace Swift { class SessionStream { public: virtual ~SessionStream(); virtual void writeHeader(const ProtocolHeader& header) = 0; virtual void writeElement(boost::shared_ptr) = 0; virtual bool supportsTLSEncryption() = 0; virtual void addTLSEncryption() = 0; virtual void addWhitespacePing() = 0; virtual void resetXMPPParser() = 0; boost::signal onStreamStartReceived; boost::signal)> onElementReceived; }; }