diff options
Diffstat (limited to 'Swift/Controllers/NickResolver.cpp')
| -rw-r--r-- | Swift/Controllers/NickResolver.cpp | 22 | 
1 files changed, 22 insertions, 0 deletions
diff --git a/Swift/Controllers/NickResolver.cpp b/Swift/Controllers/NickResolver.cpp new file mode 100644 index 0000000..db1d2b4 --- /dev/null +++ b/Swift/Controllers/NickResolver.cpp @@ -0,0 +1,22 @@ +#include "Swift/Controllers/NickResolver.h" + +#include <boost/shared_ptr.hpp> + +#include "Swiften/Roster/XMPPRoster.h" + +namespace Swift { + +NickResolver::NickResolver(boost::shared_ptr<XMPPRoster> xmppRoster) { +	xmppRoster_ = xmppRoster; +} + +String NickResolver::jidToNick(const JID& jid) { +	if (xmppRoster_->containsJID(jid)) { +		return xmppRoster_->getNameForJID(jid); +	} +	std::map<JID, String>::iterator it = map_.find(jid); +	return (it == map_.end()) ? jid.toBare() : it->second; +} + +} +  | 
 Swift