diff --git a/OpenSim/ApplicationPlugins/LoadRegions/LoadRegionsPlugin.cs b/OpenSim/ApplicationPlugins/LoadRegions/LoadRegionsPlugin.cs index a470f04ab7..9416fe5a72 100644 --- a/OpenSim/ApplicationPlugins/LoadRegions/LoadRegionsPlugin.cs +++ b/OpenSim/ApplicationPlugins/LoadRegions/LoadRegionsPlugin.cs @@ -66,7 +66,6 @@ namespace OpenSim.ApplicationPlugins.LoadRegions protected OpenSimBase m_openSim; - public void Initialise() { m_log.Info("[LOADREGIONS]: " + Name + " cannot be default-initialized!"); diff --git a/OpenSim/Framework/ISceneObject.cs b/OpenSim/Framework/ISceneObject.cs index 2162cb9651..14a338e93e 100644 --- a/OpenSim/Framework/ISceneObject.cs +++ b/OpenSim/Framework/ISceneObject.cs @@ -32,9 +32,8 @@ namespace OpenSim.Framework { public interface ISceneObject { - UUID UUID { get; } + UUID UUID { get; } ISceneObject CloneForNewScene(); - void ToXml2(XmlTextWriter writer); string ExtraToXmlString(); void ExtraFromXmlString(string xmlstr); string GetStateSnapshot(); diff --git a/OpenSim/Region/CoreModules/ServiceConnectors/Interregion/LocalInterregionComms.cs b/OpenSim/Region/CoreModules/ServiceConnectors/Interregion/LocalInterregionComms.cs index bdf22803e8..98f7085b6c 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectors/Interregion/LocalInterregionComms.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectors/Interregion/LocalInterregionComms.cs @@ -220,7 +220,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Interregion * Object-related communications */ - public bool SendCreateObject(ulong regionHandle, ISceneObject sog, bool isLocalCall) + public bool SendCreateObject(ulong regionHandle, SceneObjectGroup sog, bool isLocalCall) { foreach (Scene s in m_sceneList) { diff --git a/OpenSim/Region/CoreModules/ServiceConnectors/Interregion/RESTInterregionComms.cs b/OpenSim/Region/CoreModules/ServiceConnectors/Interregion/RESTInterregionComms.cs index 606b47c325..08c6e7db4b 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectors/Interregion/RESTInterregionComms.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectors/Interregion/RESTInterregionComms.cs @@ -261,7 +261,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Interregion * Object-related communications */ - public bool SendCreateObject(ulong regionHandle, ISceneObject sog, bool isLocalCall) + public bool SendCreateObject(ulong regionHandle, SceneObjectGroup sog, bool isLocalCall) { // Try local first if (m_localBackend.SendCreateObject(regionHandle, sog, true)) diff --git a/OpenSim/Region/Framework/Interfaces/IInterregionComms.cs b/OpenSim/Region/Framework/Interfaces/IInterregionComms.cs index 95b1079a4b..34b8aacf0a 100644 --- a/OpenSim/Region/Framework/Interfaces/IInterregionComms.cs +++ b/OpenSim/Region/Framework/Interfaces/IInterregionComms.cs @@ -35,7 +35,6 @@ namespace OpenSim.Region.Framework.Interfaces public interface IInterregionCommsOut { - #region Agents bool SendCreateChildAgent(ulong regionHandle, AgentCircuitData aCircuit, out string reason); @@ -87,7 +86,7 @@ namespace OpenSim.Region.Framework.Interfaces /// /// /// - bool SendCreateObject(ulong regionHandle, ISceneObject sog, bool isLocalCall); + bool SendCreateObject(ulong regionHandle, SceneObjectGroup sog, bool isLocalCall); /// /// Create an object from the user's inventory in the destination region. diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 5611b0326f..8a06fd17ab 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs @@ -583,33 +583,6 @@ namespace OpenSim.Region.Framework.Scenes #endregion - public void ToXml2(XmlTextWriter writer) - { - //m_log.DebugFormat("[SOG]: Starting serialization of SOG {0} to XML2", Name); - //int time = System.Environment.TickCount; - - writer.WriteStartElement(String.Empty, "SceneObjectGroup", String.Empty); - m_rootPart.ToXml(writer); - writer.WriteStartElement(String.Empty, "OtherParts", String.Empty); - - lock (m_parts) - { - foreach (SceneObjectPart part in m_parts.Values) - { - if (part.UUID != m_rootPart.UUID) - { - part.ToXml(writer); - } - } - } - - writer.WriteEndElement(); // End of OtherParts - SaveScriptedState(writer); - writer.WriteEndElement(); // End of SceneObjectGroup - - //m_log.DebugFormat("[SOG]: Finished serialization of SOG {0} to XML2, {1}ms", Name, System.Environment.TickCount - time); - } - public void SaveScriptedState(XmlTextWriter writer) { XmlDocument doc = new XmlDocument(); diff --git a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs index 0ec19223ef..03a4289d54 100644 --- a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs +++ b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs @@ -129,13 +129,62 @@ namespace OpenSim.Region.Framework.Scenes.Serialization //m_log.DebugFormat("[SERIALIZER]: Finished deserialization of SOG {0}, {1}ms", Name, System.Environment.TickCount - time); return sceneObject; - } + } /// - /// Deserialize a scene object from the 'xml2' format + /// Serialize a scene object to the original xml format /// - /// + /// /// + public static string ToOriginalXmlFormat(SceneObjectGroup sceneObject) + { + using (StringWriter sw = new StringWriter()) + { + using (XmlTextWriter writer = new XmlTextWriter(sw)) + { + ToOriginalXmlFormat(sceneObject, writer); + } + + return sw.ToString(); + } + } + + /// + /// Serialize a scene object to the original xml format + /// + /// + /// + public static void ToOriginalXmlFormat(SceneObjectGroup sceneObject, XmlTextWriter writer) + { + //m_log.DebugFormat("[SERIALIZER]: Starting serialization of {0}", Name); + //int time = System.Environment.TickCount; + + writer.WriteStartElement(String.Empty, "SceneObjectGroup", String.Empty); + writer.WriteStartElement(String.Empty, "RootPart", String.Empty); + sceneObject.RootPart.ToXml(writer); + writer.WriteEndElement(); + writer.WriteStartElement(String.Empty, "OtherParts", String.Empty); + + lock (sceneObject.Children) + { + foreach (SceneObjectPart part in sceneObject.Children.Values) + { + if (part.UUID != sceneObject.RootPart.UUID) + { + writer.WriteStartElement(String.Empty, "Part", String.Empty); + part.ToXml(writer); + writer.WriteEndElement(); + } + } + } + + writer.WriteEndElement(); // OtherParts + sceneObject.SaveScriptedState(writer); + writer.WriteEndElement(); // SceneObjectGroup + + //m_log.DebugFormat("[SERIALIZER]: Finished serialization of SOG {0}, {1}ms", Name, System.Environment.TickCount - time); + } + public static SceneObjectGroup FromXml2Format(string xmlData) { //m_log.DebugFormat("[SOG]: Starting deserialization of SOG"); @@ -193,40 +242,38 @@ namespace OpenSim.Region.Framework.Scenes.Serialization //m_log.DebugFormat("[SERIALIZER]: Finished deserialization of SOG {0}, {1}ms", Name, System.Environment.TickCount - time); return sceneObject; - } + } /// - /// Serialize a scene object to the original xml format + /// Serialize a scene object to the 'xml2' format. /// /// - /// - public static string ToOriginalXmlFormat(SceneObjectGroup sceneObject) + /// + public static string ToXml2Format(SceneObjectGroup sceneObject) { using (StringWriter sw = new StringWriter()) { using (XmlTextWriter writer = new XmlTextWriter(sw)) { - ToOriginalXmlFormat(sceneObject, writer); + ToXml2Format(sceneObject, writer); } return sw.ToString(); } - } + } /// - /// Serialize a scene object to the original xml format + /// Serialize a scene object to the 'xml2' format. /// /// - /// - public static void ToOriginalXmlFormat(SceneObjectGroup sceneObject, XmlTextWriter writer) + /// + public static void ToXml2Format(SceneObjectGroup sceneObject, XmlTextWriter writer) { - //m_log.DebugFormat("[SERIALIZER]: Starting serialization of {0}", Name); + //m_log.DebugFormat("[SERIALIZER]: Starting serialization of SOG {0} to XML2", Name); //int time = System.Environment.TickCount; writer.WriteStartElement(String.Empty, "SceneObjectGroup", String.Empty); - writer.WriteStartElement(String.Empty, "RootPart", String.Empty); sceneObject.RootPart.ToXml(writer); - writer.WriteEndElement(); writer.WriteStartElement(String.Empty, "OtherParts", String.Empty); lock (sceneObject.Children) @@ -235,36 +282,16 @@ namespace OpenSim.Region.Framework.Scenes.Serialization { if (part.UUID != sceneObject.RootPart.UUID) { - writer.WriteStartElement(String.Empty, "Part", String.Empty); part.ToXml(writer); - writer.WriteEndElement(); } } } - writer.WriteEndElement(); // OtherParts + writer.WriteEndElement(); // End of OtherParts sceneObject.SaveScriptedState(writer); - writer.WriteEndElement(); // SceneObjectGroup + writer.WriteEndElement(); // End of SceneObjectGroup - //m_log.DebugFormat("[SERIALIZER]: Finished serialization of SOG {0}, {1}ms", Name, System.Environment.TickCount - time); - } - - /// - /// Serialize a scene object to the 'xml2' format. - /// - /// - /// - public static string ToXml2Format(ISceneObject sceneObject) - { - using (StringWriter sw = new StringWriter()) - { - using (XmlTextWriter writer = new XmlTextWriter(sw)) - { - sceneObject.ToXml2(writer); - } - - return sw.ToString(); - } - } + //m_log.DebugFormat("[SERIALIZER]: Finished serialization of SOG {0} to XML2, {1}ms", Name, System.Environment.TickCount - time); + } } }