Refactor AgentPreferences so that database operations happen centrally. the opensim way.

Signed-off-by: Diva Canto <diva@metaverseink.com>
This commit is contained in:
Cinder
2015-06-12 18:48:07 -06:00
committed by Diva Canto
parent c1ddb7f05e
commit 0fa94f222d
20 changed files with 1062 additions and 104 deletions

View File

@@ -34,22 +34,13 @@ namespace OpenSim.Data
{
public class AgentPreferencesData
{
public UUID PrincipalID = UUID.Zero;
public string AccessPrefs = "M";
//public int GodLevel;
public double HoverHeight = 0.0;
public string Language = "en-us";
public bool LanguageIsPublic = true;
// DefaultObjectPermMasks
public int PermEveryone = 0;
public int PermGroup = 0;
public int PermNextOwner = 532480;
public Dictionary<string, string> Data;
}
public interface IAgentPreferencesData
{
bool Store(AgentPreferencesData data);
AgentPreferencesData GetPrefs(UUID agentID);
void StorePrefs(AgentPreferencesData data);
}
}

View File

@@ -52,22 +52,9 @@ namespace OpenSim.Data.MySQL
return ret[0];
}
public void StorePrefs(AgentPreferencesData data)
public void Store(AgentPreferencesData data)
{
using (MySqlCommand cmd = new MySqlCommand())
{
cmd.CommandText = String.Format("replace into `{0}` (`PrincipalID`, `AccessPrefs`, `HoverHeight`, `Language`, `LanguageIsPublic`, `PermEveryone`, `PermGroup`, `PermNextOwner`) VALUES (?Principal, ?AP, ?HH, ?Lang, ?LIP, ?PE, ?PG, ?PNO)", m_Realm);
cmd.Parameters.AddWithValue("?Principal", data.PrincipalID.ToString());
cmd.Parameters.AddWithValue("?AP", data.AccessPrefs);
cmd.Parameters.AddWithValue("?HH", data.HoverHeight);
cmd.Parameters.AddWithValue("?Lang", data.Language);
cmd.Parameters.AddWithValue("?LIP", data.LanguageIsPublic);
cmd.Parameters.AddWithValue("?PE", data.PermEveryone);
cmd.Parameters.AddWithValue("?PG", data.PermGroup);
cmd.Parameters.AddWithValue("?PNO", data.PermNextOwner);
ExecuteNonQuery(cmd);
}
base.Store(data);
}
}
}