diff options
author | Remko Tronçon <git@el-tramo.be> | 2010-12-19 14:10:39 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2010-12-19 17:17:45 (GMT) |
commit | d67ecb18c1178ecf69e6cb5e8c8ee1fecee35e4c (patch) | |
tree | 5f05b975ae39b2318d85f9ed673e2434f2916981 /Swiften/StreamStack/StreamStack.h | |
parent | e8b2e33a6fc569af116a32ebb5e441728e390c8f (diff) | |
download | swift-contrib-d67ecb18c1178ecf69e6cb5e8c8ee1fecee35e4c.zip swift-contrib-d67ecb18c1178ecf69e6cb5e8c8ee1fecee35e4c.tar.bz2 |
Refactoring streamstack to not use signal/slots.
Diffstat (limited to 'Swiften/StreamStack/StreamStack.h')
-rw-r--r-- | Swiften/StreamStack/StreamStack.h | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/Swiften/StreamStack/StreamStack.h b/Swiften/StreamStack/StreamStack.h index 56bc2de..562245e 100644 --- a/Swiften/StreamStack/StreamStack.h +++ b/Swiften/StreamStack/StreamStack.h @@ -20,31 +20,28 @@ namespace Swift { class StreamStack { public: - StreamStack(boost::shared_ptr<XMPPLayer> xmppLayer, boost::shared_ptr<LowLayer> physicalLayer); + StreamStack(XMPPLayer* xmppLayer, LowLayer* physicalLayer); ~StreamStack(); - void addLayer(boost::shared_ptr<StreamLayer>); + void addLayer(StreamLayer*); - boost::shared_ptr<XMPPLayer> getXMPPLayer() const { + 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); + template<typename T> T* getLayer() { + foreach(StreamLayer* streamLayer, layers_) { + T* layer = dynamic_cast<T*>(streamLayer); if (layer) { return layer; } } - return boost::shared_ptr<T>(); + return NULL; } 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_; + XMPPLayer* xmppLayer_; + LowLayer* physicalLayer_; + std::vector<StreamLayer*> layers_; }; } |