summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/llmessage/llavatarnamecache.cpp22
-rw-r--r--indra/llmessage/llavatarnamecache.h10
-rw-r--r--indra/newview/llavataractions.cpp41
-rw-r--r--indra/newview/llcallingcard.cpp12
-rw-r--r--indra/newview/llchathistory.cpp6
-rw-r--r--indra/newview/llconversationmodel.cpp8
-rw-r--r--indra/newview/llfloaterconversationpreview.cpp3
-rw-r--r--indra/newview/llfloaterimcontainer.cpp7
-rw-r--r--indra/newview/llfloaterimnearbychat.cpp2
-rw-r--r--indra/newview/llfloaterproperties.cpp11
-rw-r--r--indra/newview/llfloaterscriptlimits.cpp27
-rw-r--r--indra/newview/llfloaterscriptlimits.h3
-rw-r--r--indra/newview/llgiveinventory.cpp7
-rw-r--r--indra/newview/llgroupmgr.cpp8
-rw-r--r--indra/newview/llimview.cpp20
-rw-r--r--indra/newview/llimview.h2
-rw-r--r--indra/newview/llinventorymodel.cpp11
-rw-r--r--indra/newview/llmutelist.cpp27
-rw-r--r--indra/newview/llnamebox.cpp5
-rw-r--r--indra/newview/llnameeditor.cpp5
-rw-r--r--indra/newview/llnotificationhandlerutil.cpp28
-rw-r--r--indra/newview/llpanelgrouproles.cpp12
-rw-r--r--indra/newview/llpanelpicks.cpp6
-rw-r--r--indra/newview/llselectmgr.cpp7
-rw-r--r--indra/newview/llspeakers.cpp7
-rw-r--r--indra/newview/llspeakers.h3
-rw-r--r--indra/newview/lltooldraganddrop.cpp12
-rw-r--r--indra/newview/lltoolpie.cpp23
-rw-r--r--indra/newview/llviewerinventory.cpp10
-rw-r--r--indra/newview/llviewerinventory.h3
-rw-r--r--indra/newview/llviewermenu.cpp6
-rw-r--r--indra/newview/llviewermessage.cpp74
32 files changed, 280 insertions, 148 deletions
diff --git a/indra/llmessage/llavatarnamecache.cpp b/indra/llmessage/llavatarnamecache.cpp
index 004db546b7..5a112b5432 100644
--- a/indra/llmessage/llavatarnamecache.cpp
+++ b/indra/llmessage/llavatarnamecache.cpp
@@ -755,6 +755,28 @@ void LLAvatarNameCache::insert(const LLUUID& agent_id, const LLAvatarName& av_na
sCache[agent_id] = av_name;
}
+LLUUID LLAvatarNameCache::findIdByName(const std::string& name)
+{
+ std::map<LLUUID, LLAvatarName>::iterator it;
+ std::map<LLUUID, LLAvatarName>::iterator end = sCache.end();
+ for (it = sCache.begin(); it != end; ++it)
+ {
+ if (it->second.getUserName() == name)
+ {
+ return it->first;
+ }
+ }
+
+ // Legacy method
+ LLUUID id;
+ if (gCacheName->getUUID(name, id))
+ {
+ return id;
+ }
+
+ return LLUUID::null;
+}
+
#if 0
F64 LLAvatarNameCache::nameExpirationFromHeaders(LLCore::HttpHeaders *headers)
{
diff --git a/indra/llmessage/llavatarnamecache.h b/indra/llmessage/llavatarnamecache.h
index bd2715e956..63e067c939 100644
--- a/indra/llmessage/llavatarnamecache.h
+++ b/indra/llmessage/llavatarnamecache.h
@@ -84,7 +84,15 @@ namespace LLAvatarNameCache
void insert(const LLUUID& agent_id, const LLAvatarName& av_name);
void erase(const LLUUID& agent_id);
- /// Provide some fallback for agents that return errors.
+ // A way to find agent id by UUID, very slow, also unreliable
+ // since it doesn't request names, just serch exsisting ones
+ // that are likely not in cache.
+ //
+ // Todo: Find a way to remove this.
+ // Curently this method is used for chat history and in some cases notices.
+ LLUUID findIdByName(const std::string& name);
+
+ /// Provide some fallback for agents that return errors.
void handleAgentError(const LLUUID& agent_id);
// Compute name expiration time from HTTP Cache-Control header,
diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp
index 36e95c07f4..2045c3e297 100644
--- a/indra/newview/llavataractions.cpp
+++ b/indra/newview/llavataractions.cpp
@@ -478,15 +478,14 @@ void LLAvatarActions::kick(const LLUUID& id)
// static
void LLAvatarActions::freezeAvatar(const LLUUID& id)
{
- std::string fullname;
- gCacheName->getFullName(id, fullname);
+ LLAvatarName av_name;
LLSD payload;
payload["avatar_id"] = id;
- if (!fullname.empty())
+ if (LLAvatarNameCache::get(id, &av_name))
{
LLSD args;
- args["AVATAR_NAME"] = fullname;
+ args["AVATAR_NAME"] = av_name.getUserName();
LLNotificationsUtil::add("FreezeAvatarFullname", args, payload, handleFreezeAvatar);
}
else
@@ -498,15 +497,15 @@ void LLAvatarActions::freezeAvatar(const LLUUID& id)
// static
void LLAvatarActions::ejectAvatar(const LLUUID& id, bool ban_enabled)
{
- std::string fullname;
- gCacheName->getFullName(id, fullname);
+ LLAvatarName av_name;
LLSD payload;
payload["avatar_id"] = id;
payload["ban_enabled"] = ban_enabled;
LLSD args;
- if (!fullname.empty())
+ bool has_name = LLAvatarNameCache::get(id, &av_name);
+ if (has_name)
{
- args["AVATAR_NAME"] = fullname;
+ args["AVATAR_NAME"] = av_name.getUserName();
}
if (ban_enabled)
@@ -515,7 +514,7 @@ void LLAvatarActions::ejectAvatar(const LLUUID& id, bool ban_enabled)
}
else
{
- if (!fullname.empty())
+ if (has_name)
{
LLNotificationsUtil::add("EjectAvatarFullnameNoBan", args, payload, handleEjectAvatar);
}
@@ -991,10 +990,10 @@ bool LLAvatarActions::canShareSelectedItems(LLInventoryPanel* inv_panel /* = NUL
// static
void LLAvatarActions::toggleBlock(const LLUUID& id)
{
- std::string name;
+ LLAvatarName av_name;
+ LLAvatarNameCache::get(id, &av_name);
- gCacheName->getFullName(id, name); // needed for mute
- LLMute mute(id, name, LLMute::AGENT);
+ LLMute mute(id, av_name.getUserName(), LLMute::AGENT);
if (LLMuteList::getInstance()->isMuted(mute.mID, mute.mName))
{
@@ -1009,13 +1008,13 @@ void LLAvatarActions::toggleBlock(const LLUUID& id)
// static
void LLAvatarActions::toggleMuteVoice(const LLUUID& id)
{
- std::string name;
- gCacheName->getFullName(id, name); // needed for mute
+ LLAvatarName av_name;
+ LLAvatarNameCache::get(id, &av_name);
LLMuteList* mute_list = LLMuteList::getInstance();
bool is_muted = mute_list->isMuted(id, LLMute::flagVoiceChat);
- LLMute mute(id, name, LLMute::AGENT);
+ LLMute mute(id, av_name.getUserName(), LLMute::AGENT);
if (!is_muted)
{
mute_list->add(mute, LLMute::flagVoiceChat);
@@ -1329,9 +1328,9 @@ bool LLAvatarActions::isFriend(const LLUUID& id)
// static
bool LLAvatarActions::isBlocked(const LLUUID& id)
{
- std::string name;
- gCacheName->getFullName(id, name); // needed for mute
- return LLMuteList::getInstance()->isMuted(id, name);
+ LLAvatarName av_name;
+ LLAvatarNameCache::get(id, &av_name);
+ return LLMuteList::getInstance()->isMuted(id, av_name.getUserName());
}
// static
@@ -1343,8 +1342,10 @@ bool LLAvatarActions::isVoiceMuted(const LLUUID& id)
// static
bool LLAvatarActions::canBlock(const LLUUID& id)
{
- std::string full_name;
- gCacheName->getFullName(id, full_name); // needed for mute
+ LLAvatarName av_name;
+ LLAvatarNameCache::get(id, &av_name);
+
+ std::string full_name = av_name.getUserName();
bool is_linden = (full_name.find("Linden") != std::string::npos);
bool is_self = id == gAgentID;
return !is_self && !is_linden;
diff --git a/indra/newview/llcallingcard.cpp b/indra/newview/llcallingcard.cpp
index f79d1aa609..6d20b23e9f 100644
--- a/indra/newview/llcallingcard.cpp
+++ b/indra/newview/llcallingcard.cpp
@@ -243,7 +243,6 @@ S32 LLAvatarTracker::addBuddyList(const LLAvatarTracker::buddy_map_t& buds)
using namespace std;
U32 new_buddy_count = 0;
- std::string full_name;
LLUUID agent_id;
for(buddy_map_t::const_iterator itr = buds.begin(); itr != buds.end(); ++itr)
{
@@ -253,8 +252,11 @@ S32 LLAvatarTracker::addBuddyList(const LLAvatarTracker::buddy_map_t& buds)
{
++new_buddy_count;
mBuddyInfo[agent_id] = (*itr).second;
- // IDEVO: is this necessary? name is unused?
- gCacheName->getFullName(agent_id, full_name);
+
+ // pre-request name for notifications?
+ LLAvatarName av_name;
+ LLAvatarNameCache::get(agent_id, &av_name);
+
addChangedMask(LLFriendObserver::ADD, agent_id);
LL_DEBUGS() << "Added buddy " << agent_id
<< ", " << (mBuddyInfo[agent_id]->isOnline() ? "Online" : "Offline")
@@ -889,7 +891,9 @@ bool LLCollectMappableBuddies::operator()(const LLUUID& buddy_id, LLRelationship
bool LLCollectOnlineBuddies::operator()(const LLUUID& buddy_id, LLRelationship* buddy)
{
- gCacheName->getFullName(buddy_id, mFullName);
+ LLAvatarName av_name;
+ LLAvatarNameCache::get(buddy_id, &av_name);
+ mFullName = av_name.getUserName();
buddy_map_t::value_type value(buddy_id, mFullName);
if(buddy->isOnline())
{
diff --git a/indra/newview/llchathistory.cpp b/indra/newview/llchathistory.cpp
index 5d2997688f..9798ef3529 100644
--- a/indra/newview/llchathistory.cpp
+++ b/indra/newview/llchathistory.cpp
@@ -271,9 +271,9 @@ public:
void mute(const LLUUID& participant_id, U32 flags)
{
BOOL is_muted = LLMuteList::getInstance()->isMuted(participant_id, flags);
- std::string name;
- gCacheName->getFullName(participant_id, name);
- LLMute mute(participant_id, name, LLMute::AGENT);
+ LLAvatarName av_name;
+ LLAvatarNameCache::get(participant_id, &av_name);
+ LLMute mute(participant_id, av_name.getUserName(), LLMute::AGENT);
if (!is_muted)
{
diff --git a/indra/newview/llconversationmodel.cpp b/indra/newview/llconversationmodel.cpp
index 328a638f2f..ebbbf23dee 100644
--- a/indra/newview/llconversationmodel.cpp
+++ b/indra/newview/llconversationmodel.cpp
@@ -602,12 +602,12 @@ bool LLConversationItemParticipant::isVoiceMuted()
void LLConversationItemParticipant::muteVoice(bool mute_voice)
{
- std::string name;
- gCacheName->getFullName(mUUID, name);
+ LLAvatarName av_name;
+ LLAvatarNameCache::get(mUUID, &av_name);
LLMuteList * mute_listp = LLMuteList::getInstance();
- bool voice_already_muted = mute_listp->isMuted(mUUID, name);
+ bool voice_already_muted = mute_listp->isMuted(mUUID, av_name.getUserName());
- LLMute mute(mUUID, name, LLMute::AGENT);
+ LLMute mute(mUUID, av_name.getUserName(), LLMute::AGENT);
if (voice_already_muted && !mute_voice)
{
mute_listp->remove(mute);
diff --git a/indra/newview/llfloaterconversationpreview.cpp b/indra/newview/llfloaterconversationpreview.cpp
index a358b7c10b..b48ecc8f31 100644
--- a/indra/newview/llfloaterconversationpreview.cpp
+++ b/indra/newview/llfloaterconversationpreview.cpp
@@ -25,6 +25,7 @@
#include "llviewerprecompiledheaders.h"
+#include "llavatarnamecache.h"
#include "llconversationlog.h"
#include "llfloaterconversationpreview.h"
#include "llimview.h"
@@ -220,7 +221,7 @@ void LLFloaterConversationPreview::showHistory()
else
{
std::string legacy_name = gCacheName->buildLegacyName(from);
- gCacheName->getUUID(legacy_name, from_id);
+ from_id = LLAvatarNameCache::findIdByName(legacy_name);
}
LLChat chat;
diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp
index 7007c58b3c..3522932d03 100644
--- a/indra/newview/llfloaterimcontainer.cpp
+++ b/indra/newview/llfloaterimcontainer.cpp
@@ -2099,9 +2099,10 @@ void LLFloaterIMContainer::toggleAllowTextChat(const LLUUID& participant_uuid)
void LLFloaterIMContainer::toggleMute(const LLUUID& participant_id, U32 flags)
{
BOOL is_muted = LLMuteList::getInstance()->isMuted(participant_id, flags);
- std::string name;
- gCacheName->getFullName(participant_id, name);
- LLMute mute(participant_id, name, LLMute::AGENT);
+
+ LLAvatarName av_name;
+ LLAvatarNameCache::get(participant_id, &av_name);
+ LLMute mute(participant_id, av_name.getUserName(), LLMute::AGENT);
if (!is_muted)
{
diff --git a/indra/newview/llfloaterimnearbychat.cpp b/indra/newview/llfloaterimnearbychat.cpp
index 7d0ff22ed3..40ae22bb4e 100644
--- a/indra/newview/llfloaterimnearbychat.cpp
+++ b/indra/newview/llfloaterimnearbychat.cpp
@@ -218,7 +218,7 @@ void LLFloaterIMNearbyChat::loadHistory()
else
{
std::string legacy_name = gCacheName->buildLegacyName(from);
- gCacheName->getUUID(legacy_name, from_id);
+ from_id = LLAvatarNameCache::findIdByName(legacy_name);
}
LLChat chat;
diff --git a/indra/newview/llfloaterproperties.cpp b/indra/newview/llfloaterproperties.cpp
index 6bfc780722..1310a60638 100644
--- a/indra/newview/llfloaterproperties.cpp
+++ b/indra/newview/llfloaterproperties.cpp
@@ -30,6 +30,7 @@
#include <algorithm>
#include <functional>
#include "llcachename.h"
+#include "llavatarnamecache.h"
#include "lldbstrings.h"
#include "llfloaterreg.h"
@@ -274,12 +275,12 @@ void LLFloaterProperties::refreshFromItem(LLInventoryItem* item)
if (item->getCreatorUUID().notNull())
{
- std::string name;
- gCacheName->getFullName(item->getCreatorUUID(), name);
+ LLAvatarName av_name;
+ LLAvatarNameCache::get(item->getCreatorUUID(), &av_name);
getChildView("BtnCreator")->setEnabled(TRUE);
getChildView("LabelCreatorTitle")->setEnabled(TRUE);
getChildView("LabelCreatorName")->setEnabled(TRUE);
- getChild<LLUICtrl>("LabelCreatorName")->setValue(name);
+ getChild<LLUICtrl>("LabelCreatorName")->setValue(av_name.getUserName());
}
else
{
@@ -301,7 +302,9 @@ void LLFloaterProperties::refreshFromItem(LLInventoryItem* item)
}
else
{
- gCacheName->getFullName(perm.getOwner(), name);
+ LLAvatarName av_name;
+ LLAvatarNameCache::get(perm.getOwner(), &av_name);
+ name = av_name.getUserName();
}
getChildView("BtnOwner")->setEnabled(TRUE);
getChildView("LabelOwnerTitle")->setEnabled(TRUE);
diff --git a/indra/newview/llfloaterscriptlimits.cpp b/indra/newview/llfloaterscriptlimits.cpp
index c14bb4e7ae..5f0587a286 100644
--- a/indra/newview/llfloaterscriptlimits.cpp
+++ b/indra/newview/llfloaterscriptlimits.cpp
@@ -391,6 +391,14 @@ void LLPanelScriptLimitsRegionMemory::setErrorStatus(S32 status, const std::stri
}
// callback from the name cache with an owner name to add to the list
+void LLPanelScriptLimitsRegionMemory::onAvatarNameCache(
+ const LLUUID& id,
+ const LLAvatarName& av_name)
+{
+ onNameCache(id, av_name.getUserName());
+}
+
+// callback from the name cache with an owner name to add to the list
void LLPanelScriptLimitsRegionMemory::onNameCache(
const LLUUID& id,
const std::string& full_name)
@@ -503,7 +511,9 @@ void LLPanelScriptLimitsRegionMemory::setRegionDetails(LLSD content)
}
else
{
- name_is_cached = gCacheName->getFullName(owner_id, owner_buf); // username
+ LLAvatarName av_name;
+ name_is_cached = LLAvatarNameCache::get(owner_id, &av_name);
+ owner_buf = av_name.getUserName();
owner_buf = LLCacheName::buildUsername(owner_buf);
}
if(!name_is_cached)
@@ -511,9 +521,18 @@ void LLPanelScriptLimitsRegionMemory::setRegionDetails(LLSD content)
if(std::find(names_requested.begin(), names_requested.end(), owner_id) == names_requested.end())
{
names_requested.push_back(owner_id);
- gCacheName->get(owner_id, is_group_owned, // username
- boost::bind(&LLPanelScriptLimitsRegionMemory::onNameCache,
- this, _1, _2));
+ if (is_group_owned)
+ {
+ gCacheName->getGroup(owner_id,
+ boost::bind(&LLPanelScriptLimitsRegionMemory::onNameCache,
+ this, _1, _2));
+ }
+ else
+ {
+ LLAvatarNameCache::get(owner_id,
+ boost::bind(&LLPanelScriptLimitsRegionMemory::onAvatarNameCache,
+ this, _1, _2));
+ }
}
}
}
diff --git a/indra/newview/llfloaterscriptlimits.h b/indra/newview/llfloaterscriptlimits.h
index 2ac3862b4f..16450c6527 100644
--- a/indra/newview/llfloaterscriptlimits.h
+++ b/indra/newview/llfloaterscriptlimits.h
@@ -38,6 +38,7 @@
class LLPanelScriptLimitsInfo;
class LLTabContainer;
+class LLAvatarName;
class LLPanelScriptLimitsRegionMemory;
@@ -116,6 +117,8 @@ public:
void checkButtonsEnabled();
private:
+ void onAvatarNameCache(const LLUUID& id,
+ const LLAvatarName& av_name);
void onNameCache(const LLUUID& id,
const std::string& name);
diff --git a/indra/newview/llgiveinventory.cpp b/indra/newview/llgiveinventory.cpp
index b2271cf4ff..3ab8fed2c6 100644
--- a/indra/newview/llgiveinventory.cpp
+++ b/indra/newview/llgiveinventory.cpp
@@ -36,6 +36,7 @@
#include "llagentdata.h"
#include "llagentui.h"
#include "llagentwearables.h"
+#include "llavatarnamecache.h"
#include "llfloatertools.h" // for gFloaterTool
#include "llhudeffecttrail.h"
#include "llhudmanager.h"
@@ -327,12 +328,12 @@ void LLGiveInventory::logInventoryOffer(const LLUUID& to_agent, const LLUUID &im
// If this item was given by drag-and-drop on avatar while IM panel wasn't open, log this action to IM history.
else
{
- std::string full_name;
- if (gCacheName->getFullName(to_agent, full_name))
+ LLAvatarName av_name;
+ if (LLAvatarNameCache::get(to_agent, &av_name))
{
// Build a new format username or firstname_lastname for legacy names
// to use it for a history log filename.
- full_name = LLCacheName::buildUsername(full_name);
+ std::string full_name = LLCacheName::buildUsername(av_name.getUserName());
LLUIString message = LLTrans::getString(message_name + "-im");
message.setArgs(args);
LLIMModel::instance().logToFile(full_name, LLTrans::getString("SECOND_LIFE"), im_session_id, message.getString());
diff --git a/indra/newview/llgroupmgr.cpp b/indra/newview/llgroupmgr.cpp
index 7545112ab9..152d0eddcd 100644
--- a/indra/newview/llgroupmgr.cpp
+++ b/indra/newview/llgroupmgr.cpp
@@ -38,6 +38,7 @@
#include "llappviewer.h"
#include "llagent.h"
+#include "llavatarnamecache.h"
#include "llui.h"
#include "message.h"
#include "roles_constants.h"
@@ -54,6 +55,7 @@
#include <boost/regex.hpp>
#include "llcorehttputil.h"
+
#if LL_MSVC
#pragma warning(push)
// disable boost::lexical_cast warning
@@ -819,9 +821,9 @@ void LLGroupMgrGroupData::banMemberById(const LLUUID& participant_uuid)
LLGroupMgr::getInstance()->sendGroupMemberEjects(mID, ids);
LLGroupMgr::getInstance()->sendGroupMembersRequest(mID);
LLSD args;
- std::string name;
- gCacheName->getFullName(participant_uuid, name);
- args["AVATAR_NAME"] = name;
+ LLAvatarName av_name;
+ LLAvatarNameCache::get(participant_uuid, &av_name);
+ args["AVATAR_NAME"] = av_name.getUserName();
args["GROUP_NAME"] = mName;
LLNotifications::instance().add(LLNotification::Params("EjectAvatarFromGroup").substitutions(args));
}
diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp
index 2e9332c355..ff8b8b0403 100644
--- a/indra/newview/llimview.cpp
+++ b/indra/newview/llimview.cpp
@@ -646,6 +646,7 @@ void LLIMModel::LLIMSession::onVoiceChannelStateChanged(const LLVoiceChannel::ES
std::string you_joined_call = LLTrans::getString("you_joined_call");
std::string you_started_call = LLTrans::getString("you_started_call");
std::string other_avatar_name = "";
+ LLAvatarName av_name;
std::string message;
@@ -655,7 +656,8 @@ void LLIMModel::LLIMSession::onVoiceChannelStateChanged(const LLVoiceChannel::ES
// no text notifications
break;
case P2P_SESSION:
- gCacheName->getFullName(mOtherParticipantID, other_avatar_name); // voice
+ LLAvatarNameCache::get(mOtherParticipantID, &av_name);
+ other_avatar_name = av_name.getUserName();
if(direction == LLVoiceChannel::INCOMING_CALL)
{
@@ -806,7 +808,7 @@ void LLIMModel::LLIMSession::addMessagesFromHistory(const std::list<LLSD>& histo
{
// convert it to a legacy name if we have a complete name
std::string legacy_name = gCacheName->buildLegacyName(from);
- gCacheName->getUUID(legacy_name, from_id);
+ from_id = LLAvatarNameCache::findIdByName(legacy_name);
}
std::string timestamp = msg[LL_IM_TIME];
@@ -2765,10 +2767,10 @@ void LLIMMgr::addSystemMessage(const LLUUID& session_id, const std::string& mess
else
{
- std::string session_name;
+ LLAvatarName av_name;
// since we select user to share item with - his name is already in cache
- gCacheName->getFullName(args["user_id"], session_name);
- session_name = LLCacheName::buildUsername(session_name);
+ LLAvatarNameCache::get(args["user_id"], &av_name);
+ std::string session_name = LLCacheName::buildUsername(av_name.getUserName());
LLIMModel::instance().logToFile(session_name, SYSTEM_FROM, LLUUID::null, message.getString());
}
}
@@ -3075,8 +3077,8 @@ void LLIMMgr::inviteToSession(
{
if (caller_name.empty())
{
- gCacheName->get(caller_id, false, // voice
- boost::bind(&LLIMMgr::onInviteNameLookup, payload, _1, _2, _3));
+ LLAvatarNameCache::get(caller_id,
+ boost::bind(&LLIMMgr::onInviteNameLookup, payload, _1, _2));
}
else
{
@@ -3095,9 +3097,9 @@ void LLIMMgr::inviteToSession(
}
}
-void LLIMMgr::onInviteNameLookup(LLSD payload, const LLUUID& id, const std::string& name, bool is_group)
+void LLIMMgr::onInviteNameLookup(LLSD payload, const LLUUID& id, const LLAvatarName& av_name)
{
- payload["caller_name"] = name;
+ payload["caller_name"] = av_name.getUserName();
payload["session_name"] = payload["caller_name"].asString();
std::string notify_box_type = payload["notify_box_type"].asString();
diff --git a/indra/newview/llimview.h b/indra/newview/llimview.h
index da40ac8393..e3851a56e0 100644
--- a/indra/newview/llimview.h
+++ b/indra/newview/llimview.h
@@ -473,7 +473,7 @@ private:
void processIMTypingCore(const LLIMInfo* im_info, BOOL typing);
- static void onInviteNameLookup(LLSD payload, const LLUUID& id, const std::string& name, bool is_group);
+ static void onInviteNameLookup(LLSD payload, const LLUUID& id, const LLAvatarName& name);
void notifyObserverSessionAdded(const LLUUID& session_id, const std::string& name, const LLUUID& other_participant_id, bool has_offline_msg);
//Triggers when a session has already been added
diff --git a/indra/newview/llinventorymodel.cpp b/indra/newview/llinventorymodel.cpp
index 287fa4c45b..855f7c750e 100644
--- a/indra/newview/llinventorymodel.cpp
+++ b/indra/newview/llinventorymodel.cpp
@@ -34,6 +34,7 @@
#include "llagent.h"
#include "llagentwearables.h"
#include "llappearancemgr.h"
+#include "llavatarnamecache.h"
#include "llclipboard.h"
#include "llinventorypanel.h"
#include "llinventorybridge.h"
@@ -1022,19 +1023,19 @@ U32 LLInventoryModel::updateItem(const LLViewerInventoryItem* item, U32 mask)
{
// Valid UUID; set the item UUID and rename it
new_item->setCreator(id);
- std::string avatar_name;
+ LLAvatarName av_name;
- if (gCacheName->getFullName(id, avatar_name))
+ if (LLAvatarNameCache::get(id, &av_name))
{
- new_item->rename(avatar_name);
+ new_item->rename(av_name.getUserName());
mask |= LLInventoryObserver::LABEL;
}
else
{
// Fetch the current name
- gCacheName->get(id, FALSE,
+ LLAvatarNameCache::get(id,
boost::bind(&LLViewerInventoryItem::onCallingCardNameLookup, new_item.get(),
- _1, _2, _3));
+ _1, _2));
}
}
diff --git a/indra/newview/llmutelist.cpp b/indra/newview/llmutelist.cpp
index 0f70c9d13f..3af9c2f912 100644
--- a/indra/newview/llmutelist.cpp
+++ b/indra/newview/llmutelist.cpp
@@ -53,6 +53,7 @@
#include "llxfermanager.h"
#include "llagent.h"
+#include "llavatarnamecache.h"
#include "llviewergenericmessage.h" // for gGenericDispatcher
#include "llworld.h" //for particle system banning
#include "llimview.h"
@@ -456,7 +457,7 @@ void LLMuteList::updateRemove(const LLMute& mute)
gAgent.sendReliableMessage();
}
-void notify_automute_callback(const LLUUID& agent_id, const std::string& full_name, bool is_group, LLMuteList::EAutoReason reason)
+void notify_automute_callback(const LLUUID& agent_id, const LLAvatarName& full_name, LLMuteList::EAutoReason reason)
{
std::string notif_name;
switch (reason)
@@ -474,7 +475,7 @@ void notify_automute_callback(const LLUUID& agent_id, const std::string& full_na
}
LLSD args;
- args["NAME"] = full_name;
+ args["NAME"] = full_name.getUserName();
LLNotificationPtr notif_ptr = LLNotifications::instance().add(notif_name, args, LLSD());
if (notif_ptr)
@@ -499,17 +500,17 @@ BOOL LLMuteList::autoRemove(const LLUUID& agent_id, const EAutoReason reason)
removed = TRUE;
remove(automute);
- std::string full_name;
- if (gCacheName->getFullName(agent_id, full_name))
- {
- // name in cache, call callback directly
- notify_automute_callback(agent_id, full_name, false, reason);
- }
- else
- {
- // not in cache, lookup name from cache
- gCacheName->get(agent_id, false,
- boost::bind(&notify_automute_callback, _1, _2, _3, reason));
+ LLAvatarName av_name;
+ if (LLAvatarNameCache::get(agent_id, &av_name))
+ {
+ // name in cache, call callback directly
+ notify_automute_callback(agent_id, av_name, reason);
+ }
+ else
+ {
+ // not in cache, lookup name from cache
+ LLAvatarNameCache::get(agent_id,
+ boost::bind(&notify_automute_callback, _1, _2, reason));
}
}
diff --git a/indra/newview/llnamebox.cpp b/indra/newview/llnamebox.cpp
index 1099316a19..8d32fb1d5c 100644
--- a/indra/newview/llnamebox.cpp
+++ b/indra/newview/llnamebox.cpp
@@ -35,6 +35,7 @@
#include "lluuid.h"
#include "llcachename.h"
+#include "llavatarnamecache.h"
// statics
std::set<LLNameBox*> LLNameBox::sInstances;
@@ -67,7 +68,9 @@ void LLNameBox::setNameID(const LLUUID& name_id, BOOL is_group)
if (!is_group)
{
- got_name = gCacheName->getFullName(name_id, name);
+ LLAvatarName av_name;
+ got_name = LLAvatarNameCache::get(name_id, &av_name);
+ name = av_name.getUserName();
}
else
{
diff --git a/indra/newview/llnameeditor.cpp b/indra/newview/llnameeditor.cpp
index b3b1ff7c06..055754f270 100644
--- a/indra/newview/llnameeditor.cpp
+++ b/indra/newview/llnameeditor.cpp
@@ -28,6 +28,7 @@
#include "llnameeditor.h"
#include "llcachename.h"
+#include "llavatarnamecache.h"
#include "llfontgl.h"
@@ -65,7 +66,9 @@ void LLNameEditor::setNameID(const LLUUID& name_id, BOOL is_group)
if (!is_group)
{
- gCacheName->getFullName(name_id, name);
+ LLAvatarName av_name;
+ LLAvatarNameCache::get(name_id, &av_name);
+ name = av_name.getUserName();
}
else
{
diff --git a/indra/newview/llnotificationhandlerutil.cpp b/indra/newview/llnotificationhandlerutil.cpp
index a078889d46..4a3923ef6e 100644
--- a/indra/newview/llnotificationhandlerutil.cpp
+++ b/indra/newview/llnotificationhandlerutil.cpp
@@ -114,11 +114,11 @@ void LLHandlerUtil::logToIM(const EInstantMessage& session_type,
}
}
-void log_name_callback(const std::string& full_name, const std::string& from_name,
+void log_name_callback(const LLAvatarName& av_name, const std::string& from_name,
const std::string& message, const LLUUID& from_id)
{
- LLHandlerUtil::logToIM(IM_NOTHING_SPECIAL, full_name, from_name, message,
+ LLHandlerUtil::logToIM(IM_NOTHING_SPECIAL, av_name.getUserName(), from_name, message,
from_id, LLUUID());
}
@@ -141,11 +141,11 @@ void LLHandlerUtil::logToIMP2P(const LLNotificationPtr& notification, bool to_fi
if(to_file_only)
{
- gCacheName->get(from_id, false, boost::bind(&log_name_callback, _2, "", notification->getMessage(), LLUUID()));
+ LLAvatarNameCache::get(from_id, boost::bind(&log_name_callback, _2, "", notification->getMessage(), LLUUID()));
}
else
{
- gCacheName->get(from_id, false, boost::bind(&log_name_callback, _2, INTERACTIVE_SYSTEM_FROM, notification->getMessage(), from_id));
+ LLAvatarNameCache::get(from_id, boost::bind(&log_name_callback, _2, INTERACTIVE_SYSTEM_FROM, notification->getMessage(), from_id));
}
}
@@ -167,9 +167,18 @@ void LLHandlerUtil::logGroupNoticeToIMGroup(
const std::string group_name = groupData.mName;
const std::string sender_name = payload["sender_name"].asString();
- // we can't retrieve sender id from group notice system message, so try to lookup it from cache
LLUUID sender_id;
- gCacheName->getUUID(sender_name, sender_id);
+ if (payload.has("sender_id"))
+ {
+ sender_id = payload["sender_id"].asUUID();
+ }
+
+ if (sender_id.notNull())
+ {
+ // Legacy support and fallback method
+ // if we can't retrieve sender id from group notice system message, try to lookup it from cache
+ sender_id = LLAvatarNameCache::findIdByName(sender_name);
+ }
logToIM(IM_SESSION_GROUP_START, group_name, sender_name, payload["message"],
payload["group_id"], sender_id);
@@ -219,7 +228,12 @@ std::string LLHandlerUtil::getSubstitutionName(const LLNotificationPtr& notifica
{
from_id = notification->getPayload()["from_id"];
}
- if(!gCacheName->getFullName(from_id, res))
+ LLAvatarName av_name;
+ if(LLAvatarNameCache::get(from_id, &av_name))
+ {
+ res = av_name.getUserName();
+ }
+ else
{
res = "";
}
diff --git a/indra/newview/llpanelgrouproles.cpp b/indra/newview/llpanelgrouproles.cpp
index 6ac439177a..8440e9ee50 100644
--- a/indra/newview/llpanelgrouproles.cpp
+++ b/indra/newview/llpanelgrouproles.cpp
@@ -1168,9 +1168,9 @@ void LLPanelGroupMembersSubTab::confirmEjectMembers()
if (selection_count == 1)
{
LLSD args;
- std::string fullname;
- gCacheName->getFullName(mMembersList->getValue(), fullname);
- args["AVATAR_NAME"] = fullname;
+ LLAvatarName av_name;
+ LLAvatarNameCache::get(mMembersList->getValue(), &av_name);
+ args["AVATAR_NAME"] = av_name.getUserName();
LLSD payload;
LLNotificationsUtil::add("EjectGroupMemberWarning",
args,
@@ -1862,9 +1862,9 @@ void LLPanelGroupMembersSubTab::confirmBanMembers()
if (selection_count == 1)
{
LLSD args;
- std::string fullname;
- gCacheName->getFullName(mMembersList->getValue(), fullname);
- args["AVATAR_NAME"] = fullname;
+ LLAvatarName av_name;
+ LLAvatarNameCache::get(mMembersList->getValue(), &av_name);
+ args["AVATAR_NAME"] = av_name.getUserName();
LLSD payload;
LLNotificationsUtil::add("BanGroupMemberWarning",
args,
diff --git a/indra/newview/llpanelpicks.cpp b/indra/newview/llpanelpicks.cpp
index 55c09d85ea..77bc99da83 100644
--- a/indra/newview/llpanelpicks.cpp
+++ b/indra/newview/llpanelpicks.cpp
@@ -384,9 +384,9 @@ void LLPanelPicks::processProperties(void* data, EAvatarProcessorType type)
LLAvatarPicks* avatar_picks = static_cast<LLAvatarPicks*>(data);
if(avatar_picks && getAvatarId() == avatar_picks->target_id)
{
- std::string full_name;
- gCacheName->getFullName(getAvatarId(), full_name);
- getChild<LLUICtrl>("pick_title")->setTextArg("[NAME]", full_name);
+ LLAvatarName av_name;
+ LLAvatarNameCache::get(getAvatarId(), &av_name);
+ getChild<LLUICtrl>("pick_title")->setTextArg("[NAME]", av_name.getUserName());
// Save selection, to be able to edit same item after saving changes. See EXT-3023.
LLUUID selected_id = mPicksList->getSelectedValue()[PICK_ID];
diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp
index ee7c22800a..5ebf7cfe13 100644
--- a/indra/newview/llselectmgr.cpp
+++ b/indra/newview/llselectmgr.cpp
@@ -33,6 +33,7 @@
// library includes
#include "llcachename.h"
+#include "llavatarnamecache.h"
#include "lldbstrings.h"
#include "lleconomy.h"
#include "llgl.h"
@@ -5385,9 +5386,9 @@ void LLSelectMgr::processObjectPropertiesFamily(LLMessageSystem* msg, void** use
LLFloaterReporter *reporterp = LLFloaterReg::findTypedInstance<LLFloaterReporter>("reporter");
if (reporterp)
{
- std::string fullname;
- gCacheName->getFullName(owner_id, fullname);
- reporterp->setPickedObjectProperties(name, fullname, owner_id);
+ LLAvatarName av_name;
+ LLAvatarNameCache::get(owner_id, &av_name);
+ reporterp->setPickedObjectProperties(name, av_name.getUserName(), owner_id);
}
}
else if (request_flags & OBJECT_PAY_REQUEST)
diff --git a/indra/newview/llspeakers.cpp b/indra/newview/llspeakers.cpp
index e7971028bf..19d1af34f9 100644
--- a/indra/newview/llspeakers.cpp
+++ b/indra/newview/llspeakers.cpp
@@ -29,6 +29,7 @@
#include "llspeakers.h"
#include "llagent.h"
+#include "llavatarnamecache.h"
#include "llappviewer.h"
#include "llimview.h"
#include "llgroupmgr.h"
@@ -75,13 +76,13 @@ void LLSpeaker::lookupName()
{
if (mDisplayName.empty())
{
- gCacheName->get(mID, false, boost::bind(&LLSpeaker::onNameCache, this, _1, _2, _3));
+ LLAvatarNameCache::get(mID, boost::bind(&LLSpeaker::onNameCache, this, _1, _2)); // todo: can be group???
}
}
-void LLSpeaker::onNameCache(const LLUUID& id, const std::string& full_name, bool is_group)
+void LLSpeaker::onNameCache(const LLUUID& id, const LLAvatarName& av_name)
{
- mDisplayName = full_name;
+ mDisplayName = av_name.getUserName();
}
bool LLSpeaker::isInVoiceChannel()
diff --git a/indra/newview/llspeakers.h b/indra/newview/llspeakers.h
index 617bae3984..d1dbf72fe9 100644
--- a/indra/newview/llspeakers.h
+++ b/indra/newview/llspeakers.h
@@ -34,6 +34,7 @@
#include "llcoros.h"
class LLSpeakerMgr;
+class LLAvatarName;
// data for a given participant in a voice channel
class LLSpeaker : public LLRefCount, public LLOldEvents::LLObservable, public LLHandleProvider<LLSpeaker>, public boost::signals2::trackable
@@ -61,7 +62,7 @@ public:
~LLSpeaker() {};
void lookupName();
- void onNameCache(const LLUUID& id, const std::string& full_name, bool is_group);
+ void onNameCache(const LLUUID& id, const LLAvatarName& full_name);
bool isInVoiceChannel();
diff --git a/indra/newview/lltooldraganddrop.cpp b/indra/newview/lltooldraganddrop.cpp
index 27c4c90857..49436ee406 100644
--- a/indra/newview/lltooldraganddrop.cpp
+++ b/indra/newview/lltooldraganddrop.cpp
@@ -1584,12 +1584,12 @@ static void show_object_sharing_confirmation(const std::string name,
}
static void get_name_cb(const LLUUID& id,
- const std::string& full_name,
+ const LLAvatarName& av_name,
LLInventoryObject* inv_obj,
const LLSD& dest,
const LLUUID& dest_agent)
{
- show_object_sharing_confirmation(full_name,
+ show_object_sharing_confirmation(av_name.getUserName(),
inv_obj,
dest,
id,
@@ -1634,17 +1634,17 @@ bool LLToolDragAndDrop::handleGiveDragAndDrop(LLUUID dest_agent, LLUUID session_
// If no IM session found get the destination agent's name by id.
if (NULL == session)
{
- std::string fullname;
+ LLAvatarName av_name;
// If destination agent's name is found in cash proceed to showing the confirmation dialog.
// Otherwise set up a callback to show the dialog when the name arrives.
- if (gCacheName->getFullName(dest_agent, fullname))
+ if (LLAvatarNameCache::get(dest_agent, &av_name))
{
- show_object_sharing_confirmation(fullname, inv_obj, dest, dest_agent, LLUUID::null);
+ show_object_sharing_confirmation(av_name.getUserName(), inv_obj, dest, dest_agent, LLUUID::null);
}
else
{
- gCacheName->get(dest_agent, false, boost::bind(&get_name_cb, _1, _2, inv_obj, dest, dest_agent));
+ LLAvatarNameCache::get(dest_agent, boost::bind(&get_name_cb, _1, _2, inv_obj, dest, dest_agent));
}
return true;
diff --git a/indra/newview/lltoolpie.cpp b/indra/newview/lltoolpie.cpp
index e79ce55854..9acf9080bf 100644
--- a/indra/newview/lltoolpie.cpp
+++ b/indra/newview/lltoolpie.cpp
@@ -883,7 +883,7 @@ BOOL LLToolPie::handleTooltipLand(std::string line, std::string tooltip_msg)
}
else if (hover_parcel->getIsGroupOwned())
{
- if (gCacheName->getGroupName(owner, name))
+ if (gCacheName->getFullName(owner, name)) //group?
{
line.append(name);
line.append(LLTrans::getString("TooltipIsGroup"));
@@ -893,14 +893,19 @@ BOOL LLToolPie::handleTooltipLand(std::string line, std::string tooltip_msg)
line.append(LLTrans::getString("RetrievingData"));
}
}
- else if(gCacheName->getFullName(owner, name))
- {
- line.append(name);
- }
- else
- {
- line.append(LLTrans::getString("RetrievingData"));
- }
+ else
+ {
+ LLAvatarName av_name;
+ if (LLAvatarNameCache::get(owner, &av_name))
+ {
+ name = av_name.getUserName();
+ line.append(name);
+ }
+ else
+ {
+ line.append(LLTrans::getString("RetrievingData"));
+ }
+ }
}
else
{
diff --git a/indra/newview/llviewerinventory.cpp b/indra/newview/llviewerinventory.cpp
index caffeadb73..bf79a0595c 100644
--- a/indra/newview/llviewerinventory.cpp
+++ b/indra/newview/llviewerinventory.cpp
@@ -1126,10 +1126,10 @@ void create_inventory_item(const LLUUID& agent_id, const LLUUID& session_id,
void create_inventory_callingcard(const LLUUID& avatar_id, const LLUUID& parent /*= LLUUID::null*/, LLPointer<LLInventoryCallback> cb/*=NULL*/)
{
std::string item_desc = avatar_id.asString();
- std::string item_name;
- gCacheName->getFullName(avatar_id, item_name);
+ LLAvatarName av_name;
+ LLAvatarNameCache::get(avatar_id, &av_name);
create_inventory_item(gAgent.getID(), gAgent.getSessionID(),
- parent, LLTransactionID::tnull, item_name, item_desc, LLAssetType::AT_CALLINGCARD,
+ parent, LLTransactionID::tnull, av_name.getUserName(), item_desc, LLAssetType::AT_CALLINGCARD,
LLInventoryType::IT_CALLINGCARD, NOT_WEARABLE, PERM_MOVE | PERM_TRANSFER, cb);
}
@@ -2071,9 +2071,9 @@ PermissionMask LLViewerInventoryItem::getPermissionMask() const
//----------
-void LLViewerInventoryItem::onCallingCardNameLookup(const LLUUID& id, const std::string& name, bool is_group)
+void LLViewerInventoryItem::onCallingCardNameLookup(const LLUUID& id, const LLAvatarName& name)
{
- rename(name);
+ rename(name.getUserName());
gInventory.addChangedMask(LLInventoryObserver::LABEL, getUUID());
gInventory.notifyObservers();
}
diff --git a/indra/newview/llviewerinventory.h b/indra/newview/llviewerinventory.h
index 074d51b8b3..b3053e365b 100644
--- a/indra/newview/llviewerinventory.h
+++ b/indra/newview/llviewerinventory.h
@@ -39,6 +39,7 @@ class LLFolderView;
class LLFolderBridge;
class LLViewerInventoryCategory;
class LLInventoryCallback;
+class LLAvatarName;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Class LLViewerInventoryItem
@@ -158,7 +159,7 @@ public:
PermissionMask getPermissionMask() const;
// callback
- void onCallingCardNameLookup(const LLUUID& id, const std::string& name, bool is_group);
+ void onCallingCardNameLookup(const LLUUID& id, const LLAvatarName& name);
// If this is a broken link, try to fix it and any other identical link.
BOOL regenerateLink();
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index d847661ce7..a92ecd2036 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -6560,10 +6560,10 @@ class LLMuteParticle : public view_listener_t
if (id.notNull())
{
- std::string name;
- gCacheName->getFullName(id, name);
+ LLAvatarName av_name;
+ LLAvatarNameCache::get(id, &av_name);
- LLMute mute(id, name, LLMute::AGENT);
+ LLMute mute(id, av_name.getUserName(), LLMute::AGENT);
if (LLMuteList::getInstance()->isMuted(mute.mID))
{
LLMuteList::getInstance()->remove(mute);
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index 8076c6b1df..ab76653ba6 100644
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -1390,6 +1390,14 @@ void inventory_offer_mute_callback(const LLUUID& blocked_id,
gSavedSettings.getString("NotificationChannelUUID")), OfferMatcher(blocked_id));
}
+
+void inventory_offer_mute_avatar_callback(const LLUUID& blocked_id,
+ const LLAvatarName& av_name)
+{
+ inventory_offer_mute_callback(blocked_id, av_name.getUserName(), false);
+}
+
+
std::string LLOfferInfo::mResponderType = "offer_info";
LLOfferInfo::LLOfferInfo()
@@ -1538,7 +1546,14 @@ bool LLOfferInfo::inventory_offer_callback(const LLSD& notification, const LLSD&
{
if (notification_ptr != NULL)
{
- gCacheName->get(mFromID, mFromGroup, boost::bind(&inventory_offer_mute_callback, _1, _2, _3));
+ if (mFromGroup)
+ {
+ gCacheName->getGroup(mFromID, boost::bind(&inventory_offer_mute_callback, _1, _2, _3));
+ }
+ else
+ {
+ LLAvatarNameCache::get(mFromID, boost::bind(&inventory_offer_mute_avatar_callback, _1, _2));
+ }
}
}
@@ -1695,7 +1710,14 @@ bool LLOfferInfo::inventory_task_offer_callback(const LLSD& notification, const
llassert(notification_ptr != NULL);
if (notification_ptr != NULL)
{
- gCacheName->get(mFromID, mFromGroup, boost::bind(&inventory_offer_mute_callback, _1, _2, _3));
+ if (mFromGroup)
+ {
+ gCacheName->getGroup(mFromID, boost::bind(&inventory_offer_mute_callback, _1, _2, _3));
+ }
+ else
+ {
+ LLAvatarNameCache::get(mFromID, boost::bind(&inventory_offer_mute_avatar_callback, _1, _2));
+ }
}
}
@@ -1744,12 +1766,12 @@ bool LLOfferInfo::inventory_task_offer_callback(const LLSD& notification, const
}
else
{
- std::string full_name;
- if (gCacheName->getFullName(mFromID, full_name))
+ LLAvatarName av_name;
+ if (LLAvatarNameCache::get(mFromID, &av_name))
{
from_string = LLTrans::getString("InvOfferAnObjectNamed") + " "+ LLTrans::getString("'") + mFromName
- + LLTrans::getString("'")+" " + LLTrans::getString("InvOfferOwnedBy") + full_name;
- chatHistory_string = mFromName + " " + LLTrans::getString("InvOfferOwnedBy") + " " + full_name;
+ + LLTrans::getString("'")+" " + LLTrans::getString("InvOfferOwnedBy") + av_name.getUserName();
+ chatHistory_string = mFromName + " " + LLTrans::getString("InvOfferOwnedBy") + " " + av_name.getUserName();
}
else
{
@@ -2601,9 +2623,9 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)
{
original_name = original_name.substr(0, index);
}
+
std::string legacy_name = gCacheName->buildLegacyName(original_name);
- LLUUID agent_id;
- gCacheName->getUUID(legacy_name, agent_id);
+ LLUUID agent_id = LLAvatarNameCache::findIdByName(legacy_name);
if (agent_id.isNull())
{
@@ -2662,6 +2684,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)
payload["subject"] = subj;
payload["message"] = mes;
payload["sender_name"] = name;
+ payload["sender_id"] = agent_id;
payload["group_id"] = group_id;
payload["inventory_name"] = item_name;
payload["received_time"] = LLDate::now();
@@ -6183,7 +6206,7 @@ void handle_show_mean_events(void *)
//LLFloaterBump::showInstance();
}
-void mean_name_callback(const LLUUID &id, const std::string& full_name, bool is_group)
+void mean_name_callback(const LLUUID &id, const LLAvatarName& av_name)
{
static const U32 max_collision_list_size = 20;
if (gMeanCollisionList.size() > max_collision_list_size)
@@ -6200,7 +6223,7 @@ void mean_name_callback(const LLUUID &id, const std::string& full_name, bool is_
LLMeanCollisionData *mcd = *iter;
if (mcd->mPerp == id)
{
- mcd->mFullName = full_name;
+ mcd->mFullName = av_name.getUserName();
}
}
}
@@ -6254,7 +6277,7 @@ void process_mean_collision_alert_message(LLMessageSystem *msgsystem, void **use
{
LLMeanCollisionData *mcd = new LLMeanCollisionData(gAgentID, perp, time, type, mag);
gMeanCollisionList.push_front(mcd);
- gCacheName->get(perp, false, boost::bind(&mean_name_callback, _1, _2, _3));
+ LLAvatarNameCache::get(perp, boost::bind(&mean_name_callback, _1, _2));
}
}
LLFloaterBump* bumps_floater = LLFloaterBump::getInstance();
@@ -7031,8 +7054,8 @@ void send_lures(const LLSD& notification, const LLSD& response)
// Record the offer.
{
- std::string target_name;
- gCacheName->getFullName(target_id, target_name); // for im log filenames
+ LLAvatarName av_name;
+ LLAvatarNameCache::get(target_id, &av_name); // for im log filenames
LLSD args;
args["TO_NAME"] = LLSLURL("agent", target_id, "completename").getSLURLString();;
@@ -7117,10 +7140,10 @@ bool teleport_request_callback(const LLSD& notification, const LLSD& response)
return false;
}
- std::string from_name;
- gCacheName->getFullName(from_id, from_name);
+ LLAvatarName av_name;
+ LLAvatarNameCache::get(from_id, &av_name);
- if(LLMuteList::getInstance()->isMuted(from_id) && !LLMuteList::getInstance()->isLinden(from_name))
+ if(LLMuteList::getInstance()->isMuted(from_id) && !LLMuteList::getInstance()->isLinden(av_name.getUserName()))
{
return false;
}
@@ -7395,8 +7418,7 @@ bool callback_load_url(const LLSD& notification, const LLSD& response)
}
static LLNotificationFunctorRegistration callback_load_url_reg("LoadWebPage", callback_load_url);
-
-// We've got the name of the person who owns the object hurling the url.
+// We've got the name of the person or group that owns the object hurling the url.
// Display confirmation dialog.
void callback_load_url_name(const LLUUID& id, const std::string& full_name, bool is_group)
{
@@ -7438,6 +7460,12 @@ void callback_load_url_name(const LLUUID& id, const std::string& full_name, bool
}
}
+// We've got the name of the person who owns the object hurling the url.
+void callback_load_url_avatar_name(const LLUUID& id, const LLAvatarName& av_name)
+{
+ callback_load_url_name(id, av_name.getUserName(), false);
+}
+
void process_load_url(LLMessageSystem* msg, void**)
{
LLUUID object_id;
@@ -7475,8 +7503,14 @@ void process_load_url(LLMessageSystem* msg, void**)
// Add to list of pending name lookups
gLoadUrlList.push_back(payload);
- gCacheName->get(owner_id, owner_is_group,
- boost::bind(&callback_load_url_name, _1, _2, _3));
+ if (owner_is_group)
+ {
+ gCacheName->getGroup(owner_id, boost::bind(&callback_load_url_name, _1, _2, _3));
+ }
+ else
+ {
+ LLAvatarNameCache::get(owner_id, boost::bind(&callback_load_url_avatar_name, _1, _2));
+ }
}