Esempio n. 1
0
        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);
                }
            });
        }
Esempio n. 2
0
        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"];
 }