* Plug in stubbed out archiver module

0.6.0-stable
Justin Clarke Casey 2008-05-22 22:21:58 +00:00
parent 4e33906973
commit 0c94da8305
6 changed files with 154 additions and 12 deletions

View File

@ -361,13 +361,15 @@ namespace OpenSim
break; break;
case "save-oar": case "save-oar":
m_log.Error("[CONSOLE]: Don't use me - I haven't yet been sufficiently implemented!");
if (cmdparams.Length > 0) if (cmdparams.Length > 0)
{ {
m_sceneManager.SaveCurrentSceneToOar(cmdparams[0]); m_sceneManager.SaveCurrentSceneToArchive(cmdparams[0]);
} }
else else
{ {
m_sceneManager.SaveCurrentSceneToOar(DEFAULT_OAR_BACKUP_FILENAME); m_sceneManager.SaveCurrentSceneToArchive(DEFAULT_OAR_BACKUP_FILENAME);
} }
break; break;

View File

@ -815,8 +815,8 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Chat
public void eventIrcMode(string[] commArgs) public void eventIrcMode(string[] commArgs)
{ {
string IrcChannel = commArgs[2]; //string IrcChannel = commArgs[2];
string IrcUser = commArgs[0].Split('!')[0]; //string IrcUser = commArgs[0].Split('!')[0];
string UserMode = ""; string UserMode = "";
for (int i = 3; i < commArgs.Length; i++) for (int i = 3; i < commArgs.Length; i++)
{ {

View File

@ -0,0 +1,70 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSim Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using OpenSim.Region.Environment.Interfaces;
using OpenSim.Region.Environment.Scenes;
using System.Reflection;
using log4net;
using Nini.Config;
namespace OpenSim.Region.Environment.Modules.World.Archiver
{
/// <summary>
/// This module loads and saves OpenSimulator archives
/// </summary>
public class ArchiverModule : IRegionModule, IRegionArchiver
{
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
public string Name { get { return "ArchiverModule"; } }
public bool IsSharedModule { get { return true; } }
public void Initialise(Scene scene, IConfigSource source)
{
scene.RegisterModuleInterface<IRegionArchiver>(this);
}
public void PostInitialise()
{
}
public void Close()
{
}
public void ArchiveRegion(Scene scene, string savePath)
{
m_log.Warn("[ARCHIVER]: Archive region not yet implemented");
}
public void DearchiveRegion(Scene scene, string loadPath)
{
m_log.Warn("[ARCHIVER]: Dearchive region not yet implemented");
}
}
}

View File

@ -0,0 +1,51 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSim Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using OpenSim.Region.Environment.Scenes;
namespace OpenSim.Region.Environment.Modules.World.Archiver
{
/// <summary>
/// Interface to region archive functionality
/// </summary>
public interface IRegionArchiver
{
/// <summary>
/// Archive a region to the given path
/// </summary>
/// <param name="scene"></param>
/// <param name="savePath"></param>
void ArchiveRegion(Scene scene, string savePath);
/// <summary>
/// Dearchive the given region archive into the scene
/// </summary>
/// <param name="scene"></param>
/// <param name="loadPath"></param>
void DearchiveRegion(Scene scene, string loadPath);
}
}

View File

@ -40,6 +40,7 @@ using OpenSim.Framework.Communications;
using OpenSim.Framework.Communications.Cache; using OpenSim.Framework.Communications.Cache;
using OpenSim.Framework.Servers; using OpenSim.Framework.Servers;
using OpenSim.Region.Environment.Interfaces; using OpenSim.Region.Environment.Interfaces;
using OpenSim.Region.Environment.Modules.World.Archiver;
using OpenSim.Region.Environment.Modules.World.Terrain; using OpenSim.Region.Environment.Modules.World.Terrain;
using OpenSim.Region.Environment.Scenes.Scripting; using OpenSim.Region.Environment.Scenes.Scripting;
using OpenSim.Region.Physics.Manager; using OpenSim.Region.Physics.Manager;
@ -58,7 +59,6 @@ namespace OpenSim.Region.Environment.Scenes
public SynchronizeSceneHandler SynchronizeScene = null; public SynchronizeSceneHandler SynchronizeScene = null;
public int splitID = 0; public int splitID = 0;
#region Fields #region Fields
protected Timer m_heartbeatTimer = new Timer(); protected Timer m_heartbeatTimer = new Timer();
@ -138,7 +138,6 @@ namespace OpenSim.Region.Environment.Scenes
private int m_update_terrain = 50; private int m_update_terrain = 50;
private int m_update_land = 1; private int m_update_land = 1;
private int frameMS = 0; private int frameMS = 0;
private int physicsMS2 = 0; private int physicsMS2 = 0;
private int physicsMS = 0; private int physicsMS = 0;
@ -631,7 +630,7 @@ namespace OpenSim.Region.Environment.Scenes
} }
/// <summary> /// <summary>
/// Sets up references to loaded modules required by thie scene /// Sets up references to modules required by the scene
/// </summary> /// </summary>
public void SetModuleInterfaces() public void SetModuleInterfaces()
{ {
@ -1043,7 +1042,7 @@ namespace OpenSim.Region.Environment.Scenes
//} //}
//else //else
//{ //{
float tmpval = (float)hm[x, y]; //float tmpval = (float)hm[x, y];
float heightvalue = (float)hm[x, y]; float heightvalue = (float)hm[x, y];
if ((float)heightvalue > m_regInfo.EstateSettings.waterHeight) if ((float)heightvalue > m_regInfo.EstateSettings.waterHeight)
@ -1380,6 +1379,26 @@ namespace OpenSim.Region.Environment.Scenes
{ {
m_sceneXmlLoader.SavePrimsToXml2(fileName); m_sceneXmlLoader.SavePrimsToXml2(fileName);
} }
/// <summary>
/// Load a prim archive into the scene. This loads both prims and their assets.
/// </summary>
/// <param name="filePath"></param>
public void LoadPrimsFromArchive(string filePath)
{
IRegionArchiver archiver = RequestModuleInterface<IRegionArchiver>();
archiver.DearchiveRegion(this, filePath);
}
/// <summary>
/// Save the prims in the scene to an archive. This saves both prims and their assets.
/// </summary>
/// <param name="filePath"></param>
public void SavePrimsToArchive(string filePath)
{
IRegionArchiver archiver = RequestModuleInterface<IRegionArchiver>();
archiver.ArchiveRegion(this, filePath);
}
/// <summary> /// <summary>
/// Locate New region Handle and offset the prim position for the new region /// Locate New region Handle and offset the prim position for the new region

View File

@ -199,9 +199,9 @@ namespace OpenSim.Region.Environment.Scenes
/// as well as the details of the prims themselves. /// as well as the details of the prims themselves.
/// </summary> /// </summary>
/// <param name="filename"></param> /// <param name="filename"></param>
public void SaveCurrentSceneToOar(string filename) public void SaveCurrentSceneToArchive(string filename)
{ {
// TODO Nothing yet CurrentOrFirstScene.LoadPrimsFromArchive(filename);
} }
/// <summary> /// <summary>
@ -209,9 +209,9 @@ namespace OpenSim.Region.Environment.Scenes
/// their assets to the asset service. /// their assets to the asset service.
/// </summary> /// </summary>
/// <param name="filename"></param> /// <param name="filename"></param>
public void LoadCurrentSceneFromOar(string filename) public void LoadCurrentSceneFromArchive(string filename)
{ {
// TODO Nothing yet CurrentOrFirstScene.SavePrimsToArchive(filename);
} }
[Obsolete("TODO: Remove this warning by 0.7")] [Obsolete("TODO: Remove this warning by 0.7")]