public MuteList[] GetMuteList(UUID PrincipalID)
        {
            List <MuteList>             Mutes = new List <MuteList>();
            Dictionary <string, OSDMap> Map   = null;

#if (!ISWIN)
            foreach (string mServerUri in m_ServerURIs)
            {
                if (SimianUtils.GetGenericEntries(PrincipalID, "MuteList", mServerUri, out Map))
                {
                    foreach (object OSDMap in Map.Values)
                    {
                        MuteList mute = new MuteList();
                        mute.FromOSD((OSDMap)OSDMap);
                        Mutes.Add(mute);
                    }

                    return(Mutes.ToArray());
                }
            }
#else
            if (m_ServerURIs.Any(m_ServerURI => SimianUtils.GetGenericEntries(PrincipalID, "MuteList", m_ServerURI, out Map)))
            {
                foreach (object OSDMap in Map.Values)
                {
                    MuteList mute = new MuteList();
                    mute.FromOSD((OSDMap)OSDMap);
                    Mutes.Add(mute);
                }

                return(Mutes.ToArray());
            }
#endif
            return(null);
        }
        public GridInstantMessage[] GetOfflineMessages(UUID PrincipalID)
        {
            List <GridInstantMessage>   Messages = new List <GridInstantMessage>();
            Dictionary <string, OSDMap> Maps     = new Dictionary <string, OSDMap>();

            foreach (string m_ServerURI in m_ServerURIs)
            {
                if (SimianUtils.GetGenericEntries(PrincipalID, "OfflineMessages", m_ServerURI, out Maps))
                {
                    GridInstantMessage baseMessage = new GridInstantMessage();
                    foreach (OSDMap map in Maps.Values)
                    {
                        baseMessage.FromOSD(map);
                        Messages.Add(baseMessage);
                    }
                }
            }
            return(Messages.ToArray());
        }
示例#3
0
        public Telehub FindTelehub(UUID regionID, ulong Regionhandle)
        {
            foreach (string m_ServerURI in m_ServerURIs)
            {
                Dictionary <string, OSDMap> maps = new Dictionary <string, OSDMap>();
                SimianUtils.GetGenericEntries(regionID, "RegionTelehub", m_ServerURI, out maps);

                List <OSDMap> listMaps = new List <OSDMap>(maps.Values);
                if (listMaps.Count == 0)
                {
                    continue;
                }

                Telehub t = new Telehub();
                t.FromOSD(listMaps[0]);
                return(t);
            }
            return(null);
        }