summaryrefslogtreecommitdiff
path: root/indra/llmessage/llavatarnamecache.cpp
diff options
context:
space:
mode:
authorJames Cook <james@lindenlab.com>2010-02-12 16:12:12 -0800
committerJames Cook <james@lindenlab.com>2010-02-12 16:12:12 -0800
commitc16591c046fa76fc5d13387efa3bcaec3422e593 (patch)
tree709d1bd5e4c5587ee9b51a032535a6567565342e /indra/llmessage/llavatarnamecache.cpp
parent3581d0001e2506389f41ce46f5007cc6f40f2d6a (diff)
Per-avatar customizable icons next to name links in text
Changed LLUrlEntryAgent callbacks to handle both link label and icon Eliminated legacy LLNameCache file loading Reviewed with Kelly
Diffstat (limited to 'indra/llmessage/llavatarnamecache.cpp')
-rw-r--r--indra/llmessage/llavatarnamecache.cpp147
1 files changed, 77 insertions, 70 deletions
diff --git a/indra/llmessage/llavatarnamecache.cpp b/indra/llmessage/llavatarnamecache.cpp
index 16bfa37b0e..610bc58057 100644
--- a/indra/llmessage/llavatarnamecache.cpp
+++ b/indra/llmessage/llavatarnamecache.cpp
@@ -38,6 +38,11 @@
#include <cctype> // tolower()
+namespace LLAvatarNameCache
+{
+ std::map<LLUUID, LLAvatarName> sCache;
+}
+
static std::string slid_from_full_name(const std::string& full_name)
{
std::string id = full_name;
@@ -52,64 +57,67 @@ static std::string slid_from_full_name(const std::string& full_name)
return id;
}
-static std::map<LLUUID, std::string> sDisplayNames;
-
-// JAMESDEBUG HACK temporary IDEVO code
-static std::string get_display_name(const LLUUID& id)
-{
- if (sDisplayNames.empty())
- {
- LLUUID id;
- const unsigned char miyazaki_hayao_san[]
- = { 0xE5, 0xAE, 0xAE, 0xE5, 0xB4, 0x8E,
- 0xE9, 0xA7, 0xBF,
- 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x93, '\0' };
- id.set("27888d5f-4ddb-4df3-ad36-a1483ce0b3d9"); // miyazaki23
- sDisplayNames[id] = (const char*)miyazaki_hayao_san;
-
- id.set("3e5bf676-3577-c9ee-9fac-10df430015a1"); // Jim Linden
- sDisplayNames[id] = "Jim Jenkins";
-
- const unsigned char jose_sanchez[] =
- { 'J','o','s',0xC3,0xA9,' ','S','a','n','c','h','e','z', '\0' };
- id.set("a2e76fcd-9360-4f6d-a924-938f923df11a"); // James Linden
- sDisplayNames[id] = (const char*)jose_sanchez;
-
- id.set("a23fff6c-80ae-4997-9253-48272fd01d3c"); // bobsmith123
- sDisplayNames[id] = (const char*)jose_sanchez;
-
- id.set("3f7ced39-5e38-4fdd-90f2-423560b1e6e2"); // Hamilton Linden
- sDisplayNames[id] = "Hamilton Hitchings";
-
- id.set("537da1e1-a89f-4f9b-9056-b1f0757ccdd0"); // Rome Linden
- sDisplayNames[id] = "Rome Portlock";
-
- id.set("244195d6-c9b7-4fd6-9229-c3a8b2e60e81"); // M Linden
- sDisplayNames[id] = "Mark Kingdon";
-
- id.set("49856302-98d4-4e32-b5e9-035e5b4e83a4"); // T Linden
- sDisplayNames[id] = "Tom Hale";
-
- id.set("e6ed7825-708f-4c6b-b6a7-f3fe921a9176"); // Callen Linden
- sDisplayNames[id] = "Christina Allen";
-
- id.set("a7f0ac18-205f-41d2-b5b4-f75f096ae511"); // Crimp Linden
- sDisplayNames[id] = "Chris Rimple";
- }
-
- std::map<LLUUID,std::string>::iterator it = sDisplayNames.find(id);
- if (it != sDisplayNames.end())
- {
- return it->second;
- }
- else
- {
- return std::string();
- }
-}
-
void LLAvatarNameCache::initClass()
{
+ // HACK - prepopulate the cache
+ LLAvatarName name;
+ LLUUID id;
+
+ name.mSLID = "miyazaki23";
+ const unsigned char miyazaki_hayao_san[]
+ = { 0xE5, 0xAE, 0xAE, 0xE5, 0xB4, 0x8E,
+ 0xE9, 0xA7, 0xBF,
+ 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x93, '\0' };
+ name.mDisplayName = (const char*)miyazaki_hayao_san;
+ name.mBadge = "Person_Check";
+ sCache[LLUUID("27888d5f-4ddb-4df3-ad36-a1483ce0b3d9")] = name;
+
+ name.mSLID = "jim.linden";
+ name.mDisplayName = "Jim Jenkins";
+ name.mBadge = "Person_Star";
+ sCache[LLUUID("3e5bf676-3577-c9ee-9fac-10df430015a1")] = name;
+
+ name.mSLID = "james.linden";
+ const unsigned char jose_sanchez[] =
+ { 'J','o','s',0xC3,0xA9,' ','S','a','n','c','h','e','z', '\0' };
+ name.mDisplayName = (const char*)jose_sanchez;
+ name.mBadge = "35f217a3-f618-49cf-bbca-c86d486551a9"; // IMG_SHOT
+ sCache[LLUUID("a2e76fcd-9360-4f6d-a924-938f923df11a")] = name;
+
+ name.mSLID = "bobsmith123";
+ name.mDisplayName = (const char*)jose_sanchez;
+ name.mBadge = "";
+ sCache[LLUUID("a23fff6c-80ae-4997-9253-48272fd01d3c")] = name;
+
+ name.mSLID = "hamilton.linden";
+ name.mDisplayName = "Hamilton Hitchings";
+ name.mBadge = "Person_Star";
+ sCache[LLUUID("3f7ced39-5e38-4fdd-90f2-423560b1e6e2")] = name;
+
+ name.mSLID = "rome.linden";
+ name.mDisplayName = "Rome Portlock";
+ name.mBadge = "Person_Star";
+ sCache[LLUUID("537da1e1-a89f-4f9b-9056-b1f0757ccdd0")] = name;
+
+ name.mSLID = "m.linden";
+ name.mDisplayName = "Mark Kingdon";
+ name.mBadge = "Person_Star";
+ sCache[LLUUID("244195d6-c9b7-4fd6-9229-c3a8b2e60e81")] = name;
+
+ name.mSLID = "t.linden";
+ name.mDisplayName = "Tom Hale";
+ name.mBadge = "Person_Star";
+ sCache[LLUUID("49856302-98d4-4e32-b5e9-035e5b4e83a4")] = name;
+
+ name.mSLID = "callen.linden";
+ name.mDisplayName = "Christina Allen";
+ name.mBadge = "Person_Star";
+ sCache[LLUUID("e6ed7825-708f-4c6b-b6a7-f3fe921a9176")] = name;
+
+ name.mSLID = "crimp.linden";
+ name.mDisplayName = "Chris Rimple";
+ name.mBadge = "Person_Star";
+ sCache[LLUUID("a7f0ac18-205f-41d2-b5b4-f75f096ae511")] = name;
}
void LLAvatarNameCache::cleanupClass()
@@ -130,24 +138,23 @@ void LLAvatarNameCache::idle()
bool LLAvatarNameCache::get(const LLUUID& agent_id, LLAvatarName *av_name)
{
+ std::map<LLUUID,LLAvatarName>::iterator it = sCache.find(agent_id);
+ if (it != sCache.end())
+ {
+ *av_name = it->second;
+ return true;
+ }
+
std::string full_name;
- bool found = gCacheName->getFullName(agent_id, full_name);
- if (found)
+ if (gCacheName->getFullName(agent_id, full_name))
{
av_name->mSLID = slid_from_full_name(full_name);
-
- std::string display_name = get_display_name(agent_id);
- if (!display_name.empty())
- {
- av_name->mDisplayName = display_name;
- }
- else
- {
- // ...no explicit display name, use legacy name
- av_name->mDisplayName = full_name;
- }
+ av_name->mDisplayName = full_name;
+ av_name->mBadge = "Generic_Person";
+ return true;
}
- return found;
+
+ return false;
}
void LLAvatarNameCache::get(const LLUUID& agent_id, name_cache_callback_t callback)