From 447a66d66005c5ec54a786d1d0a532738729251c Mon Sep 17 00:00:00 2001 From: Melanie Date: Thu, 2 Feb 2012 23:40:56 +0000 Subject: Replace ParcelAccessEntry with a new struct, LandAccessEntry, which more accurately reflects the data sent by the viewer. Add times bans and the expiration of timed bans. Warning: Contains a Migration (and nuts) --- .../Framework/Serialization/External/LandDataSerializer.cs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'OpenSim/Framework/Serialization/External') diff --git a/OpenSim/Framework/Serialization/External/LandDataSerializer.cs b/OpenSim/Framework/Serialization/External/LandDataSerializer.cs index fc0387b..c61b9e8 100644 --- a/OpenSim/Framework/Serialization/External/LandDataSerializer.cs +++ b/OpenSim/Framework/Serialization/External/LandDataSerializer.cs @@ -90,7 +90,7 @@ namespace OpenSim.Framework.Serialization.External landData.MusicURL = xtr.ReadElementString("MusicURL"); landData.OwnerID = UUID.Parse( xtr.ReadElementString("OwnerID")); - landData.ParcelAccessList = new List(); + landData.ParcelAccessList = new List(); xtr.Read(); if (xtr.Name != "ParcelAccessList") throw new XmlException(String.Format("Expected \"ParcelAccessList\" element but got \"{0}\"", xtr.Name)); @@ -99,11 +99,13 @@ namespace OpenSim.Framework.Serialization.External { while (xtr.Read() && xtr.NodeType != XmlNodeType.EndElement) { - ParcelManager.ParcelAccessEntry pae = new ParcelManager.ParcelAccessEntry(); + LandAccessEntry pae = new LandAccessEntry(); xtr.ReadStartElement("ParcelAccessEntry"); pae.AgentID = UUID.Parse( xtr.ReadElementString("AgentID")); - pae.Time = Convert.ToDateTime( xtr.ReadElementString("Time")); + // We really don't care about temp vs perm here and this + // would break on old oars. Assume all bans are perm + pae.Expires = 0; // Convert.ToUint( xtr.ReadElementString("Time")); pae.Flags = (AccessList)Convert.ToUInt32( xtr.ReadElementString("AccessList")); xtr.ReadEndElement(); @@ -162,11 +164,11 @@ namespace OpenSim.Framework.Serialization.External xtw.WriteElementString("OwnerID", landData.OwnerID.ToString()); xtw.WriteStartElement("ParcelAccessList"); - foreach (ParcelManager.ParcelAccessEntry pal in landData.ParcelAccessList) + foreach (LandAccessEntry pal in landData.ParcelAccessList) { xtw.WriteStartElement("ParcelAccessEntry"); xtw.WriteElementString("AgentID", pal.AgentID.ToString()); - xtw.WriteElementString("Time", pal.Time.ToString("s")); + xtw.WriteElementString("Time", pal.Expires.ToString()); xtw.WriteElementString("AccessList", Convert.ToString((uint)pal.Flags)); xtw.WriteEndElement(); } -- cgit v1.1