public GroupRoleMembersData ConvertGroupRoleMembersData(ExtendedGroupRoleMembersData _rm) { GroupRoleMembersData rm = new GroupRoleMembersData(); rm.RoleID = _rm.RoleID; string url = string.Empty, first = string.Empty, last = string.Empty, tmp = string.Empty; Util.ParseUniversalUserIdentifier(_rm.MemberID, out rm.MemberID, out url, out first, out last, out tmp); if (url != string.Empty) m_UserManagement.AddUser(rm.MemberID, first, last, url); return rm; }
public GroupRoleMembersData ConvertGroupRoleMembersData(ExtendedGroupRoleMembersData _rm) { if (m_log.IsDebugEnabled) { m_log.DebugFormat ("{0} called", System.Reflection.MethodBase.GetCurrentMethod ().Name); } GroupRoleMembersData rm = new GroupRoleMembersData(); rm.RoleID = _rm.RoleID; string url = string.Empty, first = string.Empty, last = string.Empty, tmp = string.Empty; Util.ParseUniversalUserIdentifier(_rm.MemberID, out rm.MemberID, out url, out first, out last, out tmp); if (url != string.Empty) m_UserManagement.AddUser(rm.MemberID, first, last, url); return rm; }
public List<GroupRoleMembersData> GetGroupRoleMembers(UUID requestingAgentID, UUID GroupID) { Hashtable param = new Hashtable(); param["GroupID"] = GroupID.ToString(); Hashtable respData = XmlRpcCall(requestingAgentID, "groups.getGroupRoleMembers", param); List<GroupRoleMembersData> members = new List<GroupRoleMembersData>(); if (!respData.Contains("error")) { foreach (Hashtable membership in respData.Values) { GroupRoleMembersData data = new GroupRoleMembersData(); data.MemberID = new UUID((string)membership["AgentID"]); data.RoleID = new UUID((string)membership["RoleID"]); members.Add(data); } } return members; }
public void AddAgentToGroupRole(string RequestingAgentID, string AgentID, UUID GroupID, UUID RoleID, BooleanDelegate d) { if (d()) { lock (m_Cache) { // update the cached role string cacheKey = "role-" + RoleID.ToString(); object obj; if (m_Cache.TryGetValue(cacheKey, out obj)) { GroupRolesData r = (GroupRolesData)obj; r.Members++; } // add this agent to the list of role members cacheKey = "rolemembers-" + RequestingAgentID.ToString() + "-" + GroupID.ToString(); if (m_Cache.TryGetValue(cacheKey, out obj)) { try { // This may throw an exception, in which case the agentID is not a UUID but a full ID // In that case, let's just remove the whoe things from the cache UUID id = new UUID(AgentID); List<ExtendedGroupRoleMembersData> xx = (List<ExtendedGroupRoleMembersData>)obj; List<GroupRoleMembersData> rmlist = xx.ConvertAll<GroupRoleMembersData>(m_ForeignImporter.ConvertGroupRoleMembersData); GroupRoleMembersData rm = new GroupRoleMembersData(); rm.MemberID = id; rm.RoleID = RoleID; rmlist.Add(rm); } catch { m_Cache.Remove(cacheKey); } } // Remove the cached info about this agent's roles // because we don't have enough local info about the new role cacheKey = "roles-" + GroupID.ToString() + "-" + AgentID.ToString(); if (m_Cache.Contains(cacheKey)) m_Cache.Remove(cacheKey); } } }
public List<GroupRoleMembersData> GetGroupRoleMembers(UUID requestingAgentID, UUID groupID) { if (m_debugEnabled) m_log.InfoFormat("[SIMIAN-GROUPS-CONNECTOR] {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); List<GroupRoleMembersData> members = new List<GroupRoleMembersData>(); Dictionary<string, OSDMap> GroupRoles; if (SimianGetGenericEntries(groupID, "GroupRole", out GroupRoles)) { foreach (KeyValuePair<string, OSDMap> Role in GroupRoles) { Dictionary<UUID, OSDMap> GroupRoleMembers; if (SimianGetGenericEntries("GroupRole"+groupID.ToString(), Role.Key, out GroupRoleMembers)) { foreach (KeyValuePair<UUID, OSDMap> GroupRoleMember in GroupRoleMembers) { GroupRoleMembersData data = new GroupRoleMembersData(); data.MemberID = GroupRoleMember.Key; data.RoleID = UUID.Parse(Role.Key); members.Add(data); } } } } return members; }
private OpenSim.Framework.GroupRoleMembersData MapFoundMembersDataFromResult(Dictionary<string, string> result) { OpenSim.Framework.GroupRoleMembersData mappedData = new OpenSim.Framework.GroupRoleMembersData(); mappedData.MemberID = new UUID(result["AgentID"]); mappedData.RoleID = new UUID(result["RoleID"]); return mappedData; }
public List<GroupRoleMembersData> GetGroupRoleMembers(UUID requestingAgentID, UUID groupID) { if (m_debugEnabled) MainConsole.Instance.InfoFormat("[SIMIAN-GROUPS-CONNECTOR] {0} called", MethodBase.GetCurrentMethod().Name); List<GroupRoleMembersData> members = new List<GroupRoleMembersData>(); Dictionary<string, OSDMap> GroupRoles; if (SimianGetGenericEntries(groupID, "GroupRole", out GroupRoles)) { foreach (KeyValuePair<string, OSDMap> Role in GroupRoles) { Dictionary<UUID, OSDMap> GroupRoleMembers; if (SimianGetGenericEntries("GroupRole" + groupID.ToString(), Role.Key, out GroupRoleMembers)) { #if (!ISWIN) foreach (KeyValuePair<UUID, OSDMap> GroupRoleMember in GroupRoleMembers) { GroupRoleMembersData data = new GroupRoleMembersData(); data.MemberID = GroupRoleMember.Key; data.RoleID = UUID.Parse(Role.Key); members.Add(data); } #else members.AddRange(GroupRoleMembers.Select(GroupRoleMember => new GroupRoleMembersData { MemberID = GroupRoleMember.Key, RoleID = UUID.Parse(Role.Key) })); #endif } } } return members; }