summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/Client/ClientSessionStanzaChannel.cpp')
-rw-r--r--Swiften/Client/ClientSessionStanzaChannel.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/Swiften/Client/ClientSessionStanzaChannel.cpp b/Swiften/Client/ClientSessionStanzaChannel.cpp
index 3d7b9f7..3dc8c59 100644
--- a/Swiften/Client/ClientSessionStanzaChannel.cpp
+++ b/Swiften/Client/ClientSessionStanzaChannel.cpp
@@ -1,18 +1,29 @@
1/* 1/*
2 * Copyright (c) 2010 Isode Limited. 2 * Copyright (c) 2010-2015 Isode Limited.
3 * All rights reserved. 3 * All rights reserved.
4 * See the COPYING file for more information. 4 * See the COPYING file for more information.
5 */ 5 */
6 6
7#include <Swiften/Client/ClientSessionStanzaChannel.h> 7#include <Swiften/Client/ClientSessionStanzaChannel.h>
8 8
9#include <boost/bind.hpp>
10#include <iostream> 9#include <iostream>
11 10
11#include <boost/bind.hpp>
12
12namespace Swift { 13namespace Swift {
13 14
15ClientSessionStanzaChannel::~ClientSessionStanzaChannel() {
16 if (session) {
17 session->onFinished.disconnect(boost::bind(&ClientSessionStanzaChannel::handleSessionFinished, this, _1));
18 session->onStanzaReceived.disconnect(boost::bind(&ClientSessionStanzaChannel::handleStanza, this, _1));
19 session->onStanzaAcked.disconnect(boost::bind(&ClientSessionStanzaChannel::handleStanzaAcked, this, _1));
20 session->onInitialized.disconnect(boost::bind(&ClientSessionStanzaChannel::handleSessionInitialized, this));
21 session.reset();
22 }
23}
24
14void ClientSessionStanzaChannel::setSession(boost::shared_ptr<ClientSession> session) { 25void ClientSessionStanzaChannel::setSession(boost::shared_ptr<ClientSession> session) {
15 assert(!this->session); 26 assert(!this->session);
16 this->session = session; 27 this->session = session;
17 session->onInitialized.connect(boost::bind(&ClientSessionStanzaChannel::handleSessionInitialized, this)); 28 session->onInitialized.connect(boost::bind(&ClientSessionStanzaChannel::handleSessionInitialized, this));
18 session->onFinished.connect(boost::bind(&ClientSessionStanzaChannel::handleSessionFinished, this, _1)); 29 session->onFinished.connect(boost::bind(&ClientSessionStanzaChannel::handleSessionFinished, this, _1));