From 99c0f4c9c7820f6340155f7af30ab91745774c93 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Tue, 3 Aug 2010 17:09:20 +0100 Subject: Simplify serialized version string. Change element capitalization for consistency THIS CHANGE ALTERS THE SERIALIZATION FORMAT, HOPEFULLY FOR THE LAST TIME. If you're testing, please start with a new database. This commit also improves locking for manipulation of media entries. --- OpenSim/Framework/PrimitiveBaseShape.cs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'OpenSim/Framework/PrimitiveBaseShape.cs') diff --git a/OpenSim/Framework/PrimitiveBaseShape.cs b/OpenSim/Framework/PrimitiveBaseShape.cs index 9b52fe6..70a61cc 100644 --- a/OpenSim/Framework/PrimitiveBaseShape.cs +++ b/OpenSim/Framework/PrimitiveBaseShape.cs @@ -180,6 +180,7 @@ namespace OpenSim.Framework /// Entries to store media textures on each face /// /// Do not change this value directly - always do it through an IMoapModule. + /// Lock before manipulating. public MediaList Media { get; set; } public PrimitiveBaseShape() @@ -1219,6 +1220,11 @@ namespace OpenSim.Framework return prim; } + /// + /// Encapsulates a list of media entries. + /// + /// This class is necessary because we want to replace auto-serialization of MediaEntry with something more + /// OSD like and less vulnerable to change. public class MediaList : List, IXmlSerializable { public const string MEDIA_TEXTURE_TYPE = "sl"; @@ -1240,10 +1246,9 @@ namespace OpenSim.Framework { using (XmlTextWriter xtw = new XmlTextWriter(sw)) { - xtw.WriteStartElement("osmedia"); + xtw.WriteStartElement("OSMedia"); xtw.WriteAttributeString("type", MEDIA_TEXTURE_TYPE); - xtw.WriteAttributeString("major_version", "0"); - xtw.WriteAttributeString("minor_version", "1"); + xtw.WriteAttributeString("version", "0.1"); OSDArray meArray = new OSDArray(); foreach (MediaEntry me in this) @@ -1252,7 +1257,7 @@ namespace OpenSim.Framework meArray.Add(osd); } - xtw.WriteStartElement("osdata"); + xtw.WriteStartElement("OSData"); xtw.WriteRaw(OSDParser.SerializeLLSDXmlString(meArray)); xtw.WriteEndElement(); @@ -1291,7 +1296,7 @@ namespace OpenSim.Framework if (type != MEDIA_TEXTURE_TYPE) return; - xtr.ReadStartElement("osmedia"); + xtr.ReadStartElement("OSMedia"); OSDArray osdMeArray = (OSDArray)OSDParser.DeserializeLLSDXml(xtr.ReadInnerXml()); foreach (OSD osdMe in osdMeArray) -- cgit v1.1