diff options
Diffstat (limited to 'Swiften/StreamStack/StreamStack.h')
m--------- | Swiften | 0 | ||||
-rw-r--r-- | Swiften/StreamStack/StreamStack.h | 44 |
2 files changed, 0 insertions, 44 deletions
diff --git a/Swiften b/Swiften new file mode 160000 +Subproject 8213ba16d0043d2461f4b031c881d61dda5a38c diff --git a/Swiften/StreamStack/StreamStack.h b/Swiften/StreamStack/StreamStack.h deleted file mode 100644 index 87c522d..0000000 --- a/Swiften/StreamStack/StreamStack.h +++ /dev/null @@ -1,44 +0,0 @@ -#pragma once - -#include <boost/shared_ptr.hpp> -#include <boost/signal.hpp> -#include <vector> - -#include "Swiften/Elements/Stanza.h" -#include "Swiften/Base/foreach.h" - -namespace Swift { - class XMPPLayer; - class LowLayer; - class StreamLayer; - - class StreamStack { - public: - StreamStack(boost::shared_ptr<XMPPLayer> xmppLayer, boost::shared_ptr<LowLayer> physicalLayer); - ~StreamStack(); - - void addLayer(boost::shared_ptr<StreamLayer>); - - boost::shared_ptr<XMPPLayer> getXMPPLayer() const { - return xmppLayer_; - } - - template<typename T> boost::shared_ptr<T> getLayer() { - foreach(const boost::shared_ptr<StreamLayer>& streamLayer, layers_) { - boost::shared_ptr<T> layer = boost::dynamic_pointer_cast<T>(streamLayer); - if (layer) { - return layer; - } - } - return boost::shared_ptr<T>(); - } - - private: - boost::shared_ptr<XMPPLayer> xmppLayer_; - boost::shared_ptr<LowLayer> physicalLayer_; - std::vector< boost::shared_ptr<StreamLayer> > layers_; - boost::bsignals::connection xmppReadSlotConnection_; - boost::bsignals::connection xmppWriteSignalConnection_; - std::vector< boost::bsignals::connection > writeSignalConnections_; - }; -} |