Example #1
0
        private void SendEstateAccessList(LLAgent agent, Estate estate, EstateAccessFlags flags, UUID invoiceID)
        {
            HashSet<UUID> agents = null;
            HashSet<UUID> groups = null;
            HashSet<UUID> bans = null;
            HashSet<UUID> managers = null;

            if ((flags & EstateAccessFlags.AllowedAgents) != 0)
                agents = estate.GetUsers();
            if ((flags & EstateAccessFlags.AllowedGroups) != 0)
                groups = estate.GetGroups();
            if ((flags & EstateAccessFlags.BannedAgents) != 0)
                bans = estate.GetBannedUsers();
            if ((flags & EstateAccessFlags.Managers) != 0)
                managers = estate.GetManagers();

            List<string> parameters = new List<string>()
            {
                estate.ID.ToString(),
                ((uint)flags).ToString(),
                (agents != null) ? agents.Count.ToString() : "0",
                (groups != null) ? groups.Count.ToString() : "0",
                (bans != null) ? bans.Count.ToString() : "0",
                (managers != null) ? managers.Count.ToString() : "0"
            };

            if (agents != null)
            {
                foreach (UUID id in agents)
                    parameters.Add(id.ToString());
            }
            if (groups != null)
            {
                foreach (UUID id in groups)
                    parameters.Add(id.ToString());
            }
            if (bans != null)
            {
                foreach (UUID id in bans)
                    parameters.Add(id.ToString());
            }
            if (managers != null)
            {
                foreach (UUID id in managers)
                    parameters.Add(id.ToString());
            }

            SendEstateOwnerMessage(agent, "setaccess", parameters.ToArray(), invoiceID);
        }
Example #2
0
        private void SendEstateAccessList(LLAgent agent, Estate estate, EstateAccessFlags flags, UUID invoiceID)
        {
            HashSet <UUID> agents   = null;
            HashSet <UUID> groups   = null;
            HashSet <UUID> bans     = null;
            HashSet <UUID> managers = null;

            if ((flags & EstateAccessFlags.AllowedAgents) != 0)
            {
                agents = estate.GetUsers();
            }
            if ((flags & EstateAccessFlags.AllowedGroups) != 0)
            {
                groups = estate.GetGroups();
            }
            if ((flags & EstateAccessFlags.BannedAgents) != 0)
            {
                bans = estate.GetBannedUsers();
            }
            if ((flags & EstateAccessFlags.Managers) != 0)
            {
                managers = estate.GetManagers();
            }

            List <string> parameters = new List <string>()
            {
                estate.ID.ToString(),
                ((uint)flags).ToString(),
                (agents != null) ? agents.Count.ToString() : "0",
                (groups != null) ? groups.Count.ToString() : "0",
                (bans != null) ? bans.Count.ToString() : "0",
                (managers != null) ? managers.Count.ToString() : "0"
            };

            if (agents != null)
            {
                foreach (UUID id in agents)
                {
                    parameters.Add(id.ToString());
                }
            }
            if (groups != null)
            {
                foreach (UUID id in groups)
                {
                    parameters.Add(id.ToString());
                }
            }
            if (bans != null)
            {
                foreach (UUID id in bans)
                {
                    parameters.Add(id.ToString());
                }
            }
            if (managers != null)
            {
                foreach (UUID id in managers)
                {
                    parameters.Add(id.ToString());
                }
            }

            SendEstateOwnerMessage(agent, "setaccess", parameters.ToArray(), invoiceID);
        }