* 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;
case "save-oar":
m_log.Error("[CONSOLE]: Don't use me - I haven't yet been sufficiently implemented!");
if (cmdparams.Length > 0)
{
m_sceneManager.SaveCurrentSceneToOar(cmdparams[0]);
m_sceneManager.SaveCurrentSceneToArchive(cmdparams[0]);
}
else
{
m_sceneManager.SaveCurrentSceneToOar(DEFAULT_OAR_BACKUP_FILENAME);
m_sceneManager.SaveCurrentSceneToArchive(DEFAULT_OAR_BACKUP_FILENAME);
}
break;

View File

@ -815,8 +815,8 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Chat
public void eventIrcMode(string[] commArgs)
{
string IrcChannel = commArgs[2];
string IrcUser = commArgs[0].Split('!')[0];
//string IrcChannel = commArgs[2];
//string IrcUser = commArgs[0].Split('!')[0];
string UserMode = "";
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.Servers;
using OpenSim.Region.Environment.Interfaces;
using OpenSim.Region.Environment.Modules.World.Archiver;
using OpenSim.Region.Environment.Modules.World.Terrain;
using OpenSim.Region.Environment.Scenes.Scripting;
using OpenSim.Region.Physics.Manager;
@ -58,7 +59,6 @@ namespace OpenSim.Region.Environment.Scenes
public SynchronizeSceneHandler SynchronizeScene = null;
public int splitID = 0;
#region Fields
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_land = 1;
private int frameMS = 0;
private int physicsMS2 = 0;
private int physicsMS = 0;
@ -631,7 +630,7 @@ namespace OpenSim.Region.Environment.Scenes
}
/// <summary>
/// Sets up references to loaded modules required by thie scene
/// Sets up references to modules required by the scene
/// </summary>
public void SetModuleInterfaces()
{
@ -1043,7 +1042,7 @@ namespace OpenSim.Region.Environment.Scenes
//}
//else
//{
float tmpval = (float)hm[x, y];
//float tmpval = (float)hm[x, y];
float heightvalue = (float)hm[x, y];
if ((float)heightvalue > m_regInfo.EstateSettings.waterHeight)
@ -1381,6 +1380,26 @@ namespace OpenSim.Region.Environment.Scenes
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>
/// 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.
/// </summary>
/// <param name="filename"></param>
public void SaveCurrentSceneToOar(string filename)
public void SaveCurrentSceneToArchive(string filename)
{
// TODO Nothing yet
CurrentOrFirstScene.LoadPrimsFromArchive(filename);
}
/// <summary>
@ -209,9 +209,9 @@ namespace OpenSim.Region.Environment.Scenes
/// their assets to the asset service.
/// </summary>
/// <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")]