summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Smith <git@kismith.co.uk>2009-12-26 23:07:49 (GMT)
committerKevin Smith <git@kismith.co.uk>2009-12-26 23:07:49 (GMT)
commit8aed9641dd20a3375f8a443189c7ca6243cf9fc6 (patch)
treea3ef33d52dcc1562db52e92ac730662459880bb6 /Swift/Controllers
parent4d89c280976426c9e29ee9235b296afc4d38a7cd (diff)
downloadswift-contrib-8aed9641dd20a3375f8a443189c7ca6243cf9fc6.zip
swift-contrib-8aed9641dd20a3375f8a443189c7ca6243cf9fc6.tar.bz2
Additional plumbing for chat rebinding.
Diffstat (limited to 'Swift/Controllers')
-rw-r--r--Swift/Controllers/ChatControllerBase.h1
-rw-r--r--Swift/Controllers/ChatsManager.cpp1
2 files changed, 2 insertions, 0 deletions
diff --git a/Swift/Controllers/ChatControllerBase.h b/Swift/Controllers/ChatControllerBase.h
index 91b72a8..c780789 100644
--- a/Swift/Controllers/ChatControllerBase.h
+++ b/Swift/Controllers/ChatControllerBase.h
@@ -31,6 +31,7 @@ namespace Swift {
void setAvailableServerFeatures(boost::shared_ptr<DiscoInfo> info);
void handleIncomingMessage(boost::shared_ptr<MessageEvent> message);
void setEnabled(bool enabled);
+ void setToJID(const JID& jid) {toJID_ = jid;};
protected:
ChatControllerBase(const JID& self, StanzaChannel* stanzaChannel, IQRouter* iqRouter, ChatWindowFactory* chatWindowFactory, const JID &toJID, PresenceOracle* presenceOracle, AvatarManager* avatarManager);
diff --git a/Swift/Controllers/ChatsManager.cpp b/Swift/Controllers/ChatsManager.cpp
index 2863a14..e64967c 100644
--- a/Swift/Controllers/ChatsManager.cpp
+++ b/Swift/Controllers/ChatsManager.cpp
@@ -116,6 +116,7 @@ ChatController* ChatsManager::getChatController(const JID &contact) {
void ChatsManager::rebindControllerJID(const JID& from, const JID& to) {
chatControllers_[to] = chatControllers_[from];
chatControllers_.erase(from);
+ chatControllers_[to]->setToJID(to);
}
void ChatsManager::handleJoinMUCRequest(const JID &muc, const String &nick) {