public List <GroupRolesData> GetAgentGroupRoles(string RequestingAgentID, string AgentID, UUID GroupID) { List <GroupRolesData> roles = new List <GroupRolesData>(); Dictionary <string, object> sendData = new Dictionary <string, object>(); sendData["AgentID"] = AgentID.ToString(); sendData["GroupID"] = GroupID.ToString(); sendData["RequestingAgentID"] = RequestingAgentID; Dictionary <string, object> ret = MakeRequest("GETAGENTROLES", sendData); if (ret == null) { return(roles); } if (!ret.ContainsKey("RESULT")) { return(roles); } if (ret["RESULT"].ToString() == "NULL") { return(roles); } foreach (object v in ((Dictionary <string, object>)ret["RESULT"]).Values) { GroupRolesData m = GroupsDataUtils.GroupRolesData((Dictionary <string, object>)v); roles.Add(m); } return(roles); }
byte[] HandleGetAgentRoles(Dictionary <string, object> request) { Dictionary <string, object> result = new Dictionary <string, object>(); if (!request.ContainsKey("RequestingAgentID") || !request.ContainsKey("GroupID") || !request.ContainsKey("AgentID")) { NullResult(result, "Bad network data"); } else { UUID groupID = new UUID(request["GroupID"].ToString()); string agentID = request["AgentID"].ToString(); string requestingAgentID = request["RequestingAgentID"].ToString(); List <GroupRolesData> roles = m_GroupsService.GetAgentGroupRoles(requestingAgentID, agentID, groupID); if (roles == null || (roles != null && roles.Count == 0)) { NullResult(result, "No members"); } else { Dictionary <string, object> dict = new Dictionary <string, object>(); int i = 0; foreach (GroupRolesData r in roles) { dict["r-" + i++] = GroupsDataUtils.GroupRolesData(r); } result["RESULT"] = dict; } } string xmlString = ServerUtils.BuildXmlResponse(result); //m_log.DebugFormat("[XXX]: resp string: {0}", xmlString); return(Util.UTF8NoBomEncoding.GetBytes(xmlString)); }