svn:eol-style property set.

0.6.5-rc1
diva 2009-03-27 15:11:21 +00:00
parent bf4d701cd5
commit 6ddf932c7e
1 changed files with 124 additions and 123 deletions

View File

@ -1,123 +1,124 @@
/** /**
* Copyright (c) 2008, Contributors. All rights reserved. * Copyright (c) 2008, Contributors. All rights reserved.
* See CONTRIBUTORS.TXT for a full list of copyright holders. * See CONTRIBUTORS.TXT for a full list of copyright holders.
* *
* Redistribution and use in source and binary forms, with or without modification, * Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met: * are permitted provided that the following conditions are met:
* *
* * Redistributions of source code must retain the above copyright notice, * * Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer. * this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, * * Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation * this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution. * and/or other materials provided with the distribution.
* * Neither the name of the Organizations nor the names of Individual * * Neither the name of the Organizations nor the names of Individual
* Contributors may be used to endorse or promote products derived from * Contributors may be used to endorse or promote products derived from
* this software without specific prior written permission. * this software without specific prior written permission.
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * 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 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * 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 * 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 * 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 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE. * OF THE POSSIBILITY OF SUCH DAMAGE.
* *
*/ */
using System.Reflection; using System.Reflection;
using log4net; using log4net;
using Nini.Config; using Nini.Config;
using OpenMetaverse; using OpenMetaverse;
using OpenSim.Data; using OpenSim.Data;
using OpenSim.Framework; using OpenSim.Framework;
using OpenSim.Framework.Communications; using OpenSim.Framework.Communications;
using OpenSim.Framework.Communications.Cache; using OpenSim.Framework.Communications.Cache;
using OpenSim.Framework.Servers; using OpenSim.Framework.Servers;
using OpenSim.Framework.Servers.Interfaces; using OpenSim.Framework.Servers.Interfaces;
using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Interfaces;
using OpenSim.Region.Framework.Scenes; using OpenSim.Region.Framework.Scenes;
namespace OpenSim.Region.CoreModules.Framework.Services namespace OpenSim.Region.CoreModules.Framework.Services
{ {
public class RegionAssetService : IRegionModule public class RegionAssetService : IRegionModule
{ {
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private static bool initialized = false; private static bool initialized = false;
private static bool enabled = false; private static bool enabled = false;
Scene m_scene; Scene m_scene;
#region IRegionModule interface #region IRegionModule interface
public void Initialise(Scene scene, IConfigSource config) public void Initialise(Scene scene, IConfigSource config)
{ {
if (!initialized) if (!initialized)
{ {
initialized = true; initialized = true;
m_scene = scene; m_scene = scene;
// This module is only on for standalones in hypergrid mode // This module is only on for standalones in hypergrid mode
enabled = !config.Configs["Startup"].GetBoolean("gridmode", true) && config.Configs["Startup"].GetBoolean("hypergrid", false); enabled = !config.Configs["Startup"].GetBoolean("gridmode", true) && config.Configs["Startup"].GetBoolean("hypergrid", false);
} }
} }
public void PostInitialise() public void PostInitialise()
{ {
if (enabled) if (enabled)
{ {
m_log.Info("[RegionAssetService]: Starting..."); m_log.Info("[RegionAssetService]: Starting...");
new AssetService(m_scene); new AssetService(m_scene);
} }
} }
public void Close() public void Close()
{ {
} }
public string Name public string Name
{ {
get { return "RegionAssetService"; } get { return "RegionAssetService"; }
} }
public bool IsSharedModule public bool IsSharedModule
{ {
get { return true; } get { return true; }
} }
#endregion #endregion
} }
public class AssetService public class AssetService
{ {
// private IUserService m_userService; // private IUserService m_userService;
private bool m_doLookup = false; private bool m_doLookup = false;
public bool DoLookup public bool DoLookup
{ {
get { return m_doLookup; } get { return m_doLookup; }
set { m_doLookup = value; } set { m_doLookup = value; }
} }
// private static readonly ILog m_log // private static readonly ILog m_log
// = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); // = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
public AssetService(Scene m_scene) public AssetService(Scene m_scene)
{ {
AddHttpHandlers(m_scene); AddHttpHandlers(m_scene);
// m_userService = m_scene.CommsManager.UserService; // m_userService = m_scene.CommsManager.UserService;
} }
protected void AddHttpHandlers(Scene m_scene) protected void AddHttpHandlers(Scene m_scene)
{ {
IAssetDataPlugin m_assetProvider IAssetDataPlugin m_assetProvider
= ((AssetServerBase)m_scene.CommsManager.AssetCache.AssetServer).AssetProviderPlugin; = ((AssetServerBase)m_scene.CommsManager.AssetCache.AssetServer).AssetProviderPlugin;
IHttpServer httpServer = m_scene.CommsManager.HttpServer; IHttpServer httpServer = m_scene.CommsManager.HttpServer;
httpServer.AddStreamHandler(new GetAssetStreamHandler(m_assetProvider)); httpServer.AddStreamHandler(new GetAssetStreamHandler(m_assetProvider));
httpServer.AddStreamHandler(new PostAssetStreamHandler(m_assetProvider)); httpServer.AddStreamHandler(new PostAssetStreamHandler(m_assetProvider));
}
} }
} }
}