normalized line endings

afrisby
Jeff Ames 2007-10-29 07:57:38 +00:00
parent c29f8b3873
commit 7c6ef95f2f
4 changed files with 339 additions and 339 deletions

View File

@ -1,160 +1,160 @@
/* /*
* Copyright (c) Contributors, http://www.openmetaverse.org/ * Copyright (c) Contributors, http://www.openmetaverse.org/
* 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 * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright * * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer. * notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright * * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the * notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution. * documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSim Project nor the * * Neither the name of the OpenSim Project nor the
* names of its contributors may be used to endorse or promote products * names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission. * derived from this software without specific prior written permission.
* *
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * 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 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* *
*/ */
using System; using System;
using System.IO; using System.IO;
using System.Threading; using System.Threading;
using System.Reflection; using System.Reflection;
using System.Xml.Serialization; using System.Xml.Serialization;
using libsecondlife; using libsecondlife;
using Nini.Config; using Nini.Config;
using OpenSim.Framework.Console; using OpenSim.Framework.Console;
using OpenSim.Framework.Interfaces; using OpenSim.Framework.Interfaces;
using OpenSim.Framework.Types; using OpenSim.Framework.Types;
using OpenSim.Framework.Utilities; using OpenSim.Framework.Utilities;
using OpenSim.Framework.Communications; using OpenSim.Framework.Communications;
namespace OpenSim.Framework.Communications.Cache namespace OpenSim.Framework.Communications.Cache
{ {
public class GridAssetClient : IAssetServer public class GridAssetClient : IAssetServer
{ {
private string _assetServerUrl; private string _assetServerUrl;
private IAssetReceiver _receiver; private IAssetReceiver _receiver;
public GridAssetClient(string serverUrl) public GridAssetClient(string serverUrl)
{ {
_assetServerUrl = serverUrl; _assetServerUrl = serverUrl;
} }
#region IAssetServer Members #region IAssetServer Members
public void SetReceiver(IAssetReceiver receiver) public void SetReceiver(IAssetReceiver receiver)
{ {
_receiver = receiver; _receiver = receiver;
} }
public void FetchAsset(LLUUID assetID, bool isTexture) public void FetchAsset(LLUUID assetID, bool isTexture)
{ {
Stream s = null; Stream s = null;
try try
{ {
MainLog.Instance.Debug("ASSETCACHE", "Querying for {0}", assetID.ToString()); MainLog.Instance.Debug("ASSETCACHE", "Querying for {0}", assetID.ToString());
RestClient rc = new RestClient(_assetServerUrl); RestClient rc = new RestClient(_assetServerUrl);
rc.AddResourcePath("assets"); rc.AddResourcePath("assets");
rc.AddResourcePath(assetID.ToString()); rc.AddResourcePath(assetID.ToString());
if (isTexture) if (isTexture)
rc.AddQueryParameter("texture"); rc.AddQueryParameter("texture");
rc.RequestMethod = "GET"; rc.RequestMethod = "GET";
s = rc.Request(); s = rc.Request();
if (s.Length > 0) if (s.Length > 0)
{ {
XmlSerializer xs = new XmlSerializer(typeof(AssetBase)); XmlSerializer xs = new XmlSerializer(typeof(AssetBase));
AssetBase asset = (AssetBase)xs.Deserialize(s); AssetBase asset = (AssetBase)xs.Deserialize(s);
_receiver.AssetReceived(asset, isTexture); _receiver.AssetReceived(asset, isTexture);
} }
else else
{ {
MainLog.Instance.Debug("ASSETCACHE", "Asset not found {0}", assetID.ToString()); MainLog.Instance.Debug("ASSETCACHE", "Asset not found {0}", assetID.ToString());
_receiver.AssetNotFound(assetID); _receiver.AssetNotFound(assetID);
} }
} }
catch (Exception e) catch (Exception e)
{ {
MainLog.Instance.Error("ASSETCACHE", e.Message); MainLog.Instance.Error("ASSETCACHE", e.Message);
MainLog.Instance.Error("ASSETCACHE", e.StackTrace); MainLog.Instance.Error("ASSETCACHE", e.StackTrace);
} }
} }
public void UpdateAsset(AssetBase asset) public void UpdateAsset(AssetBase asset)
{ {
throw new Exception("The method or operation is not implemented."); throw new Exception("The method or operation is not implemented.");
} }
public void StoreAndCommitAsset(AssetBase asset) public void StoreAndCommitAsset(AssetBase asset)
{ {
try try
{ {
MemoryStream s = new MemoryStream(); MemoryStream s = new MemoryStream();
XmlSerializer xs = new XmlSerializer(typeof(AssetBase)); XmlSerializer xs = new XmlSerializer(typeof(AssetBase));
xs.Serialize(s, asset); xs.Serialize(s, asset);
RestClient rc = new RestClient(_assetServerUrl); RestClient rc = new RestClient(_assetServerUrl);
rc.AddResourcePath("assets"); rc.AddResourcePath("assets");
rc.RequestMethod = "POST"; rc.RequestMethod = "POST";
rc.Request(s); rc.Request(s);
} }
catch (Exception e) catch (Exception e)
{ {
MainLog.Instance.Error("ASSETS", e.Message); MainLog.Instance.Error("ASSETS", e.Message);
} }
} }
public void Close() public void Close()
{ {
throw new Exception("The method or operation is not implemented."); throw new Exception("The method or operation is not implemented.");
} }
public void LoadAsset(AssetBase info, bool image, string filename) public void LoadAsset(AssetBase info, bool image, string filename)
{ {
throw new Exception("The method or operation is not implemented."); throw new Exception("The method or operation is not implemented.");
} }
public System.Collections.Generic.List<AssetBase> GetDefaultAssets() public System.Collections.Generic.List<AssetBase> GetDefaultAssets()
{ {
throw new Exception("The method or operation is not implemented."); throw new Exception("The method or operation is not implemented.");
} }
public AssetBase CreateImageAsset(string assetIdStr, string name, string filename) public AssetBase CreateImageAsset(string assetIdStr, string name, string filename)
{ {
throw new Exception("The method or operation is not implemented."); throw new Exception("The method or operation is not implemented.");
} }
public void ForEachDefaultAsset(Action<AssetBase> action) public void ForEachDefaultAsset(Action<AssetBase> action)
{ {
throw new Exception("The method or operation is not implemented."); throw new Exception("The method or operation is not implemented.");
} }
public AssetBase CreateAsset(string assetIdStr, string name, string filename, bool isImage) public AssetBase CreateAsset(string assetIdStr, string name, string filename, bool isImage)
{ {
throw new Exception("The method or operation is not implemented."); throw new Exception("The method or operation is not implemented.");
} }
public void ForEachXmlAsset(Action<AssetBase> action) public void ForEachXmlAsset(Action<AssetBase> action)
{ {
throw new Exception("The method or operation is not implemented."); throw new Exception("The method or operation is not implemented.");
} }
#endregion #endregion
} }
} }

View File

@ -1,109 +1,109 @@
using System; using System;
using System.IO; using System.IO;
using System.Xml; using System.Xml;
using System.Xml.Serialization; using System.Xml.Serialization;
using System.Text; using System.Text;
using libsecondlife; using libsecondlife;
using OpenSim.Framework.Types; using OpenSim.Framework.Types;
using OpenSim.Framework.Servers; using OpenSim.Framework.Servers;
using OpenSim.Framework.Interfaces; using OpenSim.Framework.Interfaces;
using OpenSim.Framework.Console; using OpenSim.Framework.Console;
namespace OpenSim.Grid.AssetServer namespace OpenSim.Grid.AssetServer
{ {
public class GetAssetStreamHandler : BaseStreamHandler public class GetAssetStreamHandler : BaseStreamHandler
{ {
OpenAsset_Main m_assetManager; OpenAsset_Main m_assetManager;
IAssetProvider m_assetProvider; IAssetProvider m_assetProvider;
override public byte[] Handle(string path, Stream request) override public byte[] Handle(string path, Stream request)
{ {
string param = GetParam(path); string param = GetParam(path);
byte[] result = new byte[] { }; byte[] result = new byte[] { };
try { try {
string[] p = param.Split(new char[] { '/', '?', '&' }, StringSplitOptions.RemoveEmptyEntries); string[] p = param.Split(new char[] { '/', '?', '&' }, StringSplitOptions.RemoveEmptyEntries);
if (p.Length > 0) if (p.Length > 0)
{ {
LLUUID assetID; LLUUID assetID;
bool isTexture = false; bool isTexture = false;
LLUUID.TryParse(p[0], out assetID); LLUUID.TryParse(p[0], out assetID);
if (p.Length > 1) if (p.Length > 1)
{ {
if (string.Compare(p[1], "texture", true) == 0) if (string.Compare(p[1], "texture", true) == 0)
isTexture = true; isTexture = true;
} }
AssetBase asset = m_assetProvider.FetchAsset(assetID); AssetBase asset = m_assetProvider.FetchAsset(assetID);
if (asset != null) if (asset != null)
{ {
MainLog.Instance.Debug("REST", "GET:/asset found {0}, {1}", assetID, asset.Name); MainLog.Instance.Debug("REST", "GET:/asset found {0}, {1}", assetID, asset.Name);
XmlSerializer xs = new XmlSerializer(typeof(AssetBase)); XmlSerializer xs = new XmlSerializer(typeof(AssetBase));
MemoryStream ms = new MemoryStream(); MemoryStream ms = new MemoryStream();
XmlTextWriter xw = new XmlTextWriter(ms, Encoding.UTF8); XmlTextWriter xw = new XmlTextWriter(ms, Encoding.UTF8);
xw.Formatting = Formatting.Indented; xw.Formatting = Formatting.Indented;
xs.Serialize(xw, asset); xs.Serialize(xw, asset);
xw.Flush(); xw.Flush();
ms.Seek(0, SeekOrigin.Begin); ms.Seek(0, SeekOrigin.Begin);
StreamReader sr = new StreamReader(ms); StreamReader sr = new StreamReader(ms);
result = ms.GetBuffer(); result = ms.GetBuffer();
Array.Resize<byte>(ref result, (int)ms.Length); Array.Resize<byte>(ref result, (int)ms.Length);
} }
else else
{ {
MainLog.Instance.Verbose("REST", "GET:/asset failed to find {0}", assetID); MainLog.Instance.Verbose("REST", "GET:/asset failed to find {0}", assetID);
} }
} }
} }
catch (Exception e) catch (Exception e)
{ {
MainLog.Instance.Error(e.ToString()); MainLog.Instance.Error(e.ToString());
} }
return result; return result;
} }
public GetAssetStreamHandler(OpenAsset_Main assetManager, IAssetProvider assetProvider) public GetAssetStreamHandler(OpenAsset_Main assetManager, IAssetProvider assetProvider)
: base("GET", "/assets" ) : base("GET", "/assets" )
{ {
m_assetManager = assetManager; m_assetManager = assetManager;
m_assetProvider = assetProvider; m_assetProvider = assetProvider;
} }
} }
public class PostAssetStreamHandler : BaseStreamHandler public class PostAssetStreamHandler : BaseStreamHandler
{ {
OpenAsset_Main m_assetManager; OpenAsset_Main m_assetManager;
IAssetProvider m_assetProvider; IAssetProvider m_assetProvider;
override public byte[] Handle(string path, Stream request) override public byte[] Handle(string path, Stream request)
{ {
string param = GetParam(path); string param = GetParam(path);
LLUUID assetId; LLUUID assetId;
if(param.Length > 0) if(param.Length > 0)
LLUUID.TryParse(param, out assetId); LLUUID.TryParse(param, out assetId);
byte[] txBuffer = new byte[4096]; byte[] txBuffer = new byte[4096];
XmlSerializer xs = new XmlSerializer(typeof(AssetBase)); XmlSerializer xs = new XmlSerializer(typeof(AssetBase));
AssetBase asset = (AssetBase)xs.Deserialize(request); AssetBase asset = (AssetBase)xs.Deserialize(request);
MainLog.Instance.Verbose("REST", "StoreAndCommitAsset {0}", asset.FullID); MainLog.Instance.Verbose("REST", "StoreAndCommitAsset {0}", asset.FullID);
m_assetProvider.CreateAsset(asset); m_assetProvider.CreateAsset(asset);
return new byte[] { }; return new byte[] { };
} }
public PostAssetStreamHandler(OpenAsset_Main assetManager, IAssetProvider assetProvider) public PostAssetStreamHandler(OpenAsset_Main assetManager, IAssetProvider assetProvider)
: base("POST", "/assets") : base("POST", "/assets")
{ {
m_assetManager = assetManager; m_assetManager = assetManager;
m_assetProvider = assetProvider; m_assetProvider = assetProvider;
} }
} }
} }

View File

@ -1,13 +1,13 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text; using System.Text;
using libsecondlife; using libsecondlife;
using OpenSim.Framework.Types; using OpenSim.Framework.Types;
namespace OpenSim.Region.Environment.Interfaces namespace OpenSim.Region.Environment.Interfaces
{ {
public interface IAvatarFactory : IRegionModule public interface IAvatarFactory : IRegionModule
{ {
bool TryGetIntialAvatarAppearance(LLUUID avatarId, out AvatarWearable[] wearables, out byte[] visualParams); bool TryGetIntialAvatarAppearance(LLUUID avatarId, out AvatarWearable[] wearables, out byte[] visualParams);
} }
} }

View File

@ -1,57 +1,57 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text; using System.Text;
using libsecondlife; using libsecondlife;
using Nini.Config; using Nini.Config;
using OpenSim.Framework.Types; using OpenSim.Framework.Types;
using OpenSim.Region.Environment.Interfaces; using OpenSim.Region.Environment.Interfaces;
using OpenSim.Region.Environment.Scenes; using OpenSim.Region.Environment.Scenes;
namespace OpenSim.Region.Environment.Modules namespace OpenSim.Region.Environment.Modules
{ {
public class AvatarFactoryModule : IAvatarFactory public class AvatarFactoryModule : IAvatarFactory
{ {
public bool TryGetIntialAvatarAppearance(LLUUID avatarId, out AvatarWearable[] wearables, out byte[] visualParams) public bool TryGetIntialAvatarAppearance(LLUUID avatarId, out AvatarWearable[] wearables, out byte[] visualParams)
{ {
GetDefaultAvatarAppearance(out wearables, out visualParams); GetDefaultAvatarAppearance(out wearables, out visualParams);
return true; return true;
} }
public void Initialise(Scene scene, IConfigSource source) public void Initialise(Scene scene, IConfigSource source)
{ {
scene.RegisterModuleInterface<IAvatarFactory>(this); scene.RegisterModuleInterface<IAvatarFactory>(this);
} }
public void PostInitialise() public void PostInitialise()
{ {
} }
public void Close() public void Close()
{ {
} }
public string Name public string Name
{ {
get { return "Default Avatar Factory"; } get { return "Default Avatar Factory"; }
} }
public bool IsSharedModule public bool IsSharedModule
{ {
get { return true; } get { return true; }
} }
public static void GetDefaultAvatarAppearance(out AvatarWearable[] wearables, out byte[] visualParams) public static void GetDefaultAvatarAppearance(out AvatarWearable[] wearables, out byte[] visualParams)
{ {
visualParams = new byte[218]; visualParams = new byte[218];
for (int i = 0; i < 218; i++) for (int i = 0; i < 218; i++)
{ {
visualParams[i] = 100; visualParams[i] = 100;
} }
wearables = AvatarWearable.DefaultWearables; wearables = AvatarWearable.DefaultWearables;
} }
} }
} }