public AgentPrefs GetAgentPreferences(UUID principalID) { AgentPreferencesData d = m_Database.GetPrefs(principalID); AgentPrefs prefs = (d == null) ? null : new AgentPrefs(d.Data); return(prefs); }
private void StoreAgentPrefs(UUID agent, AgentPreferencesData data) { ScenePresence sp = m_scene.GetScenePresence(agent); if (sp != null) { sp.AgentPrefs = data; } }
public string UpdateAgentPreferences(string request, string path, string param, UUID agent) { OSDMap resp = new OSDMap(); // The viewer doesn't do anything with the return value. It never fetches these, so there's no need to persist them. // We'll store them for the session with the SP so that the values are available, e.g. to llGetAgentLanguage m_log.DebugFormat("[AgentPrefs]: UpdateAgentPreferences for {0}", agent.ToString()); OSDMap req = (OSDMap)OSDParser.DeserializeLLSDXml(request); AgentPreferencesData data = FetchAgentPrefs(agent); if (req.ContainsKey("access_prefs")) { OSDMap accessPrefs = (OSDMap)req["access_prefs"]; // We could check with ContainsKey... data.AccessPrefs = accessPrefs["max"].AsString(); } if (req.ContainsKey("default_object_perm_masks")) { OSDMap permsMap = (OSDMap)req["default_object_perm_masks"]; data.PermEveryone = permsMap["Everyone"].AsUInteger(); data.PermGroup = permsMap["Group"].AsUInteger(); data.PermNextOwner = permsMap["NextOwner"].AsUInteger(); } if (req.ContainsKey("hover_height")) { data.HoverHeight = (float)req["hover_height"].AsReal(); } if (req.ContainsKey("language")) { data.Language = req["language"].AsString(); } if (req.ContainsKey("language_is_public")) { data.LanguageIsPublic = req["language_is_public"].AsBoolean(); } StoreAgentPrefs(agent, data); OSDMap respAccessPrefs = new OSDMap(); respAccessPrefs["max"] = data.AccessPrefs; resp["access_prefs"] = respAccessPrefs; OSDMap respDefaultPerms = new OSDMap(); respDefaultPerms["Everyone"] = data.PermEveryone; respDefaultPerms["Group"] = data.PermGroup; respDefaultPerms["NextOwner"] = data.PermNextOwner; resp["default_object_perm_masks"] = respDefaultPerms; resp["god_level"] = 0; // *TODO: Add this resp["hover_height"] = data.HoverHeight; resp["language"] = data.Language; resp["language_is_public"] = data.LanguageIsPublic; return(OSDParser.SerializeLLSDXmlString(resp)); }
public bool StoreAgentPreferences(AgentPrefs data) { AgentPreferencesData d = new AgentPreferencesData(); d.Data = new Dictionary <string, string>(); d.Data["PrincipalID"] = data.PrincipalID.ToString(); d.Data["AccessPrefs"] = data.AccessPrefs; d.Data["HoverHeight"] = data.HoverHeight.ToString(); d.Data["Language"] = data.Language; d.Data["LanguageIsPublic"] = (data.LanguageIsPublic ? "1" : "0"); d.Data["PermEveryone"] = data.PermEveryone.ToString(); d.Data["PermGroup"] = data.PermGroup.ToString(); d.Data["PermNextOwner"] = data.PermNextOwner.ToString(); return(m_Database.Store(d)); }
internal static PackedAgentPrefs FromAgentPrefs(AgentPreferencesData agentPreferences) { PackedAgentPrefs prefs = new PackedAgentPrefs { AccessPrefs = agentPreferences.AccessPrefs, Hover = agentPreferences.HoverHeight, Language = agentPreferences.Language, LanguageIsPublic = agentPreferences.LanguageIsPublic, // DefaultObjectPermMasks PermEveryone = agentPreferences.PermEveryone, PermGroup = agentPreferences.PermGroup, PermNextOwner = agentPreferences.PermNextOwner }; return(prefs); }
internal AgentPreferencesData ToAgentPrefs(OpenMetaverse.UUID owner) { AgentPreferencesData agentPreferences = new AgentPreferencesData { AccessPrefs = this.AccessPrefs, HoverHeight = this.Hover, Language = this.Language, LanguageIsPublic = this.LanguageIsPublic, // DefaultObjectPermMasks PermEveryone = this.PermEveryone, PermGroup = this.PermGroup, PermNextOwner = this.PermNextOwner }; return(agentPreferences); }
private AgentPreferencesData FetchAgentPrefs(UUID agent) { AgentPreferencesData data = null; if (agent != UUID.Zero) { ScenePresence sp = m_scene.GetScenePresence(agent); if (sp != null) { data = new AgentPreferencesData(sp.AgentPrefs); } } if (data == null) { data = new AgentPreferencesData(); } return(data); }