diff options
Diffstat (limited to 'OpenSim/Framework/Serialization/External/LandDataSerializer.cs')
-rw-r--r-- | OpenSim/Framework/Serialization/External/LandDataSerializer.cs | 36 |
1 files changed, 21 insertions, 15 deletions
diff --git a/OpenSim/Framework/Serialization/External/LandDataSerializer.cs b/OpenSim/Framework/Serialization/External/LandDataSerializer.cs index e9af2ca..e980945 100644 --- a/OpenSim/Framework/Serialization/External/LandDataSerializer.cs +++ b/OpenSim/Framework/Serialization/External/LandDataSerializer.cs | |||
@@ -91,20 +91,26 @@ namespace OpenSim.Framework.Serialization.External | |||
91 | landData.OwnerID = UUID.Parse( xtr.ReadElementString("OwnerID")); | 91 | landData.OwnerID = UUID.Parse( xtr.ReadElementString("OwnerID")); |
92 | 92 | ||
93 | landData.ParcelAccessList = new List<ParcelManager.ParcelAccessEntry>(); | 93 | landData.ParcelAccessList = new List<ParcelManager.ParcelAccessEntry>(); |
94 | xtr.ReadStartElement("ParcelAccessList"); | 94 | xtr.Read(); |
95 | while (xtr.Read() && xtr.NodeType != XmlNodeType.EndElement) | 95 | if (xtr.Name != "ParcelAccessList") |
96 | { | 96 | throw new XmlException(String.Format("Expected \"ParcelAccessList\" element but got \"{0}\"", xtr.Name)); |
97 | ParcelManager.ParcelAccessEntry pae; | ||
98 | 97 | ||
99 | xtr.ReadStartElement("ParcelAccessEntry"); | 98 | if (!xtr.IsEmptyElement) |
100 | pae.AgentID = UUID.Parse( xtr.ReadElementString("AgentID")); | 99 | { |
101 | pae.Time = Convert.ToDateTime( xtr.ReadElementString("Time")); | 100 | while (xtr.Read() && xtr.NodeType != XmlNodeType.EndElement) |
102 | pae.Flags = (AccessList)Convert.ToUInt32( xtr.ReadElementString("AccessList")); | 101 | { |
103 | xtr.ReadEndElement(); | 102 | ParcelManager.ParcelAccessEntry pae; |
104 | 103 | ||
105 | landData.ParcelAccessList.Add(pae); | 104 | xtr.ReadStartElement("ParcelAccessEntry"); |
105 | pae.AgentID = UUID.Parse( xtr.ReadElementString("AgentID")); | ||
106 | pae.Time = Convert.ToDateTime( xtr.ReadElementString("Time")); | ||
107 | pae.Flags = (AccessList)Convert.ToUInt32( xtr.ReadElementString("AccessList")); | ||
108 | xtr.ReadEndElement(); | ||
109 | |||
110 | landData.ParcelAccessList.Add(pae); | ||
111 | } | ||
106 | } | 112 | } |
107 | xtr.ReadEndElement(); | 113 | xtr.Read(); |
108 | 114 | ||
109 | landData.PassHours = Convert.ToSingle( xtr.ReadElementString("PassHours")); | 115 | landData.PassHours = Convert.ToSingle( xtr.ReadElementString("PassHours")); |
110 | landData.PassPrice = Convert.ToInt32( xtr.ReadElementString("PassPrice")); | 116 | landData.PassPrice = Convert.ToInt32( xtr.ReadElementString("PassPrice")); |
@@ -135,7 +141,7 @@ namespace OpenSim.Framework.Serialization.External | |||
135 | xtw.WriteElementString("Area", Convert.ToString(landData.Area)); | 141 | xtw.WriteElementString("Area", Convert.ToString(landData.Area)); |
136 | xtw.WriteElementString("AuctionID", Convert.ToString(landData.AuctionID)); | 142 | xtw.WriteElementString("AuctionID", Convert.ToString(landData.AuctionID)); |
137 | xtw.WriteElementString("AuthBuyerID", landData.AuthBuyerID.ToString()); | 143 | xtw.WriteElementString("AuthBuyerID", landData.AuthBuyerID.ToString()); |
138 | xtw.WriteElementString("Category", Convert.ToString(landData.Category)); | 144 | xtw.WriteElementString("Category", Convert.ToString((sbyte)landData.Category)); |
139 | xtw.WriteElementString("ClaimDate", Convert.ToString(landData.ClaimDate)); | 145 | xtw.WriteElementString("ClaimDate", Convert.ToString(landData.ClaimDate)); |
140 | xtw.WriteElementString("ClaimPrice", Convert.ToString(landData.ClaimPrice)); | 146 | xtw.WriteElementString("ClaimPrice", Convert.ToString(landData.ClaimPrice)); |
141 | xtw.WriteElementString("GlobalID", landData.GlobalID.ToString()); | 147 | xtw.WriteElementString("GlobalID", landData.GlobalID.ToString()); |
@@ -143,10 +149,10 @@ namespace OpenSim.Framework.Serialization.External | |||
143 | xtw.WriteElementString("IsGroupOwned", Convert.ToString(landData.IsGroupOwned)); | 149 | xtw.WriteElementString("IsGroupOwned", Convert.ToString(landData.IsGroupOwned)); |
144 | xtw.WriteElementString("Bitmap", Convert.ToBase64String(landData.Bitmap)); | 150 | xtw.WriteElementString("Bitmap", Convert.ToBase64String(landData.Bitmap)); |
145 | xtw.WriteElementString("Description", landData.Description); | 151 | xtw.WriteElementString("Description", landData.Description); |
146 | xtw.WriteElementString("Flags", Convert.ToString(landData.Flags)); | 152 | xtw.WriteElementString("Flags", Convert.ToString((uint)landData.Flags)); |
147 | xtw.WriteElementString("LandingType", Convert.ToString(landData.LandingType)); | 153 | xtw.WriteElementString("LandingType", Convert.ToString((byte)landData.LandingType)); |
148 | xtw.WriteElementString("Name", landData.Name); | 154 | xtw.WriteElementString("Name", landData.Name); |
149 | xtw.WriteElementString("Status", Convert.ToString(landData.Status)); | 155 | xtw.WriteElementString("Status", Convert.ToString((sbyte)landData.Status)); |
150 | xtw.WriteElementString("LocalID", landData.LocalID.ToString()); | 156 | xtw.WriteElementString("LocalID", landData.LocalID.ToString()); |
151 | xtw.WriteElementString("MediaAutoScale", Convert.ToString(landData.MediaAutoScale)); | 157 | xtw.WriteElementString("MediaAutoScale", Convert.ToString(landData.MediaAutoScale)); |
152 | xtw.WriteElementString("MediaID", landData.MediaID.ToString()); | 158 | xtw.WriteElementString("MediaID", landData.MediaID.ToString()); |