/// <summary> /// Creates a new database entry for the agent. /// Note: we only allow for this on the grid side /// </summary> /// <param name="agentID"></param> public void CreateNewAgent(UUID agentID) { List<object> values = new List<object> {agentID, "AgentInfo"}; IAgentInfo info = new IAgentInfo {PrincipalID = agentID}; values.Add(OSDParser.SerializeLLSDXmlString(info.ToOSD())); //Value which is a default Profile GD.Insert(m_userProfileTable, values.ToArray()); }
/// <summary> /// Updates the language and maturity params of the agent. /// Note: we only allow for this on the grid side /// </summary> /// <param name="agent"></param> //[CanBeReflected(ThreatLevel = ThreatLevel.Full)] public void UpdateAgent(IAgentInfo agent) { CacheAgent(agent); /*object remoteValue = DoRemoteForUser(agent.PrincipalID, agent.ToOSD()); if (remoteValue != null || m_doRemoteOnly) return;*/ Dictionary<string, object> values = new Dictionary<string, object>(1); values["Value"] = OSDParser.SerializeLLSDXmlString(agent.ToOSD()); QueryFilter filter = new QueryFilter(); filter.andFilters["ID"] = agent.PrincipalID; filter.andFilters["`Key`"] = "AgentInfo"; GD.Update(m_userProfileTable, values, null, filter, null, null); }