public List<GroupRolesData> GetGroupRoles(UUID requestingAgentID, UUID groupID) { if (m_debugEnabled) MainConsole.Instance.InfoFormat("[SIMIAN-GROUPS-CONNECTOR] {0} called", MethodBase.GetCurrentMethod().Name); List<GroupRolesData> Roles = new List<GroupRolesData>(); Dictionary<string, OSDMap> GroupRoles; if (SimianGetGenericEntries(groupID, "GroupRole", out GroupRoles)) { foreach (KeyValuePair<string, OSDMap> role in GroupRoles) { GroupRolesData data = new GroupRolesData { RoleID = UUID.Parse(role.Key), Name = role.Value["Name"].AsString(), Description = role.Value["Description"].AsString(), Title = role.Value["Title"].AsString(), Powers = role.Value["Powers"].AsULong() }; Dictionary<UUID, OSDMap> GroupRoleMembers; data.Members = SimianGetGenericEntries("GroupRole" + groupID.ToString(), role.Key, out GroupRoleMembers) ? GroupRoleMembers.Count : 0; Roles.Add(data); } } return Roles; }
public List<GroupRolesData> GetAgentGroupRoles(UUID requestingAgentID, UUID agentID, UUID groupID) { if (m_debugEnabled) MainConsole.Instance.InfoFormat("[SIMIAN-GROUPS-CONNECTOR] {0} called", MethodBase.GetCurrentMethod().Name); List<GroupRolesData> Roles = new List<GroupRolesData>(); Dictionary<string, OSDMap> GroupRoles; if (SimianGetGenericEntries(groupID, "GroupRole", out GroupRoles)) { Dictionary<string, OSDMap> MemberRoles; if (SimianGetGenericEntries(agentID, "GroupRole" + groupID.ToString(), out MemberRoles)) { #if (!ISWIN) foreach (KeyValuePair<string, OSDMap> kvp in MemberRoles) { GroupRolesData data = new GroupRolesData(); data.RoleID = UUID.Parse(kvp.Key); data.Name = GroupRoles[kvp.Key]["Name"].AsString(); data.Description = GroupRoles[kvp.Key]["Description"].AsString(); data.Title = GroupRoles[kvp.Key]["Title"].AsString(); data.Powers = GroupRoles[kvp.Key]["Powers"].AsULong(); Roles.Add(data); } #else Roles.AddRange(MemberRoles.Select(kvp => new GroupRolesData { RoleID = UUID.Parse(kvp.Key), Name = GroupRoles[kvp.Key]["Name"].AsString(), Description = GroupRoles[kvp.Key]["Description"].AsString(), Title = GroupRoles[kvp.Key]["Title"].AsString(), Powers = GroupRoles[kvp.Key]["Powers"].AsULong() })); #endif } } return Roles; }