summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Smith <git@kismith.co.uk>2010-04-05 20:44:58 (GMT)
committerKevin Smith <git@kismith.co.uk>2010-04-05 20:44:58 (GMT)
commita8ac900bfd39f36749b25d97b55f5a08a1020de5 (patch)
tree48b67fa97a075ff942848638ff195ff366ae91dd /Swift/Controllers/NickResolver.cpp
parent90eab2990dc087ebe2b91181f14ca452e5b31697 (diff)
downloadswift-a8ac900bfd39f36749b25d97b55f5a08a1020de5.zip
swift-a8ac900bfd39f36749b25d97b55f5a08a1020de5.tar.bz2
Resolve MUC nicks.
Resolves: #245
Diffstat (limited to 'Swift/Controllers/NickResolver.cpp')
-rw-r--r--Swift/Controllers/NickResolver.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/Swift/Controllers/NickResolver.cpp b/Swift/Controllers/NickResolver.cpp
index 0886079..5198069 100644
--- a/Swift/Controllers/NickResolver.cpp
+++ b/Swift/Controllers/NickResolver.cpp
@@ -2,16 +2,27 @@
#include <boost/shared_ptr.hpp>
+#include "Swiften/MUC/MUCRegistry.h"
#include "Swiften/Roster/XMPPRoster.h"
namespace Swift {
NickResolver::NickResolver(boost::shared_ptr<XMPPRoster> xmppRoster) {
xmppRoster_ = xmppRoster;
+ mucRegistry_ = NULL;
+}
+
+void NickResolver::setMUCRegistry(MUCRegistry* mucRegistry) {
+ mucRegistry_ = mucRegistry;
}
String NickResolver::jidToNick(const JID& jid) {
String nick;
+
+ if (mucRegistry_ && mucRegistry_->isMUC(jid.toBare()) ) {
+ return jid.getResource();
+ }
+
if (xmppRoster_->containsJID(jid) && xmppRoster_->getNameForJID(jid) != "") {
return xmppRoster_->getNameForJID(jid);
}