void LoadCachedNames() { WorkPool.QueueUserWorkItem(syncx => { try { byte[] data = File.ReadAllBytes(cacheFileName); OSDMap cache = (OSDMap)OSDParser.DeserializeLLSDBinary(data); OSDArray namesOSD = (OSDArray)cache["names"]; DateTime now = DateTime.Now; TimeSpan maxAge = new TimeSpan(48, 0, 0); NameMode mode = (NameMode)(int)instance.GlobalSettings["display_name_mode"]; lock (names) { for (int i = 0; i < namesOSD.Count; i++) { AgentDisplayName name = AgentDisplayName.FromOSD(namesOSD[i]); if (mode == NameMode.Standard || ((now - name.Updated) < maxAge)) { names[name.ID] = name; } } } Logger.DebugLog(string.Format("Restored {0} names from the avatar name cache", names.Count)); } catch (Exception ex) { Logger.Log("Failed loading cached avatar names: ", Helpers.LogLevel.Warning, client, ex); } }); }
string FormatName(AgentDisplayName n) { switch (Mode) { case NameMode.OnlyDisplayName: return(n.DisplayName); case NameMode.Smart: if (n.IsDefaultDisplayName) { return(n.DisplayName); } else { return(string.Format("{0} ({1})", n.DisplayName, n.UserName)); } case NameMode.DisplayNameAndUserName: return(string.Format("{0} ({1})", n.DisplayName, n.UserName)); default: return(n.LegacyFullName); } }
public void Deserialize(OSDMap map) { OSDMap agent = (OSDMap)map["content"]; DisplayName = AgentDisplayName.FromOSD(agent); Reason = map["reason"]; Status = map["status"]; }
public void Deserialize(OSDMap map) { OSDMap agent = (OSDMap)map["agent"]; DisplayName = AgentDisplayName.FromOSD(agent); OldDisplayName = agent["old_display_name"]; }