Update svn properties.
parent
b9b99ee87c
commit
4f174fbf57
|
@ -1,44 +1,44 @@
|
|||
--
|
||||
-- Create schema avatar_appearance
|
||||
--
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
SET ANSI_PADDING ON
|
||||
|
||||
CREATE TABLE [avatarappearance] (
|
||||
[UUID] uniqueidentifier NOT NULL,
|
||||
[Serial] int NOT NULL,
|
||||
[WearableItem0] uniqueidentifier NOT NULL,
|
||||
[WearableAsset0] uniqueidentifier NOT NULL,
|
||||
[WearableItem1] uniqueidentifier NOT NULL,
|
||||
[WearableAsset1] uniqueidentifier NOT NULL,
|
||||
[WearableItem2] uniqueidentifier NOT NULL,
|
||||
[WearableAsset2] uniqueidentifier NOT NULL,
|
||||
[WearableItem3] uniqueidentifier NOT NULL,
|
||||
[WearableAsset3] uniqueidentifier NOT NULL,
|
||||
[WearableItem4] uniqueidentifier NOT NULL,
|
||||
[WearableAsset4] uniqueidentifier NOT NULL,
|
||||
[WearableItem5] uniqueidentifier NOT NULL,
|
||||
[WearableAsset5] uniqueidentifier NOT NULL,
|
||||
[WearableItem6] uniqueidentifier NOT NULL,
|
||||
[WearableAsset6] uniqueidentifier NOT NULL,
|
||||
[WearableItem7] uniqueidentifier NOT NULL,
|
||||
[WearableAsset7] uniqueidentifier NOT NULL,
|
||||
[WearableItem8] uniqueidentifier NOT NULL,
|
||||
[WearableAsset8] uniqueidentifier NOT NULL,
|
||||
[WearableItem9] uniqueidentifier NOT NULL,
|
||||
[WearableAsset9] uniqueidentifier NOT NULL,
|
||||
[WearableItem10] uniqueidentifier NOT NULL,
|
||||
[WearableAsset10] uniqueidentifier NOT NULL,
|
||||
[WearableItem11] uniqueidentifier NOT NULL,
|
||||
[WearableAsset11] uniqueidentifier NOT NULL,
|
||||
[WearableItem12] uniqueidentifier NOT NULL,
|
||||
[WearableAsset12] uniqueidentifier NOT NULL
|
||||
|
||||
PRIMARY KEY CLUSTERED (
|
||||
[UUID]
|
||||
) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
|
||||
SET ANSI_PADDING OFF
|
||||
--
|
||||
-- Create schema avatar_appearance
|
||||
--
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
SET ANSI_PADDING ON
|
||||
|
||||
CREATE TABLE [avatarappearance] (
|
||||
[UUID] uniqueidentifier NOT NULL,
|
||||
[Serial] int NOT NULL,
|
||||
[WearableItem0] uniqueidentifier NOT NULL,
|
||||
[WearableAsset0] uniqueidentifier NOT NULL,
|
||||
[WearableItem1] uniqueidentifier NOT NULL,
|
||||
[WearableAsset1] uniqueidentifier NOT NULL,
|
||||
[WearableItem2] uniqueidentifier NOT NULL,
|
||||
[WearableAsset2] uniqueidentifier NOT NULL,
|
||||
[WearableItem3] uniqueidentifier NOT NULL,
|
||||
[WearableAsset3] uniqueidentifier NOT NULL,
|
||||
[WearableItem4] uniqueidentifier NOT NULL,
|
||||
[WearableAsset4] uniqueidentifier NOT NULL,
|
||||
[WearableItem5] uniqueidentifier NOT NULL,
|
||||
[WearableAsset5] uniqueidentifier NOT NULL,
|
||||
[WearableItem6] uniqueidentifier NOT NULL,
|
||||
[WearableAsset6] uniqueidentifier NOT NULL,
|
||||
[WearableItem7] uniqueidentifier NOT NULL,
|
||||
[WearableAsset7] uniqueidentifier NOT NULL,
|
||||
[WearableItem8] uniqueidentifier NOT NULL,
|
||||
[WearableAsset8] uniqueidentifier NOT NULL,
|
||||
[WearableItem9] uniqueidentifier NOT NULL,
|
||||
[WearableAsset9] uniqueidentifier NOT NULL,
|
||||
[WearableItem10] uniqueidentifier NOT NULL,
|
||||
[WearableAsset10] uniqueidentifier NOT NULL,
|
||||
[WearableItem11] uniqueidentifier NOT NULL,
|
||||
[WearableAsset11] uniqueidentifier NOT NULL,
|
||||
[WearableItem12] uniqueidentifier NOT NULL,
|
||||
[WearableAsset12] uniqueidentifier NOT NULL
|
||||
|
||||
PRIMARY KEY CLUSTERED (
|
||||
[UUID]
|
||||
) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
|
||||
SET ANSI_PADDING OFF
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Text;
|
||||
using OpenSim.Data.Base;
|
||||
|
||||
namespace OpenSim.Data.MySQLMapper
|
||||
{
|
||||
public class MySQLDataReader : OpenSimDataReader
|
||||
{
|
||||
public MySQLDataReader(IDataReader source) : base(source)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Text;
|
||||
using OpenSim.Data.Base;
|
||||
|
||||
namespace OpenSim.Data.MySQLMapper
|
||||
{
|
||||
public class MySQLDataReader : OpenSimDataReader
|
||||
{
|
||||
public MySQLDataReader(IDataReader source) : base(source)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,144 +1,144 @@
|
|||
/*
|
||||
* 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 System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using libsecondlife;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Framework.Communications.Cache;
|
||||
using OpenSim.Framework.Console;
|
||||
using OpenSim.Framework.Servers;
|
||||
|
||||
namespace OpenSim.Region.Capabilities
|
||||
{
|
||||
/// <summary>
|
||||
/// CapsHandlers is a cap handler container but also takes
|
||||
/// care of adding and removing cap handlers to and from the
|
||||
/// supplied BaseHttpServer.
|
||||
/// </summary>
|
||||
public class CapsHandlers
|
||||
{
|
||||
private Dictionary <string, IRequestHandler> m_capsHandlers = new Dictionary<string, IRequestHandler>();
|
||||
private BaseHttpServer m_httpListener;
|
||||
private string m_httpListenerHostName;
|
||||
private uint m_httpListenerPort;
|
||||
|
||||
/// <summary></summary>
|
||||
/// <param name="httpListener">base HTTP server</param>
|
||||
/// <param name="httpListenerHostname">host name of the HTTP
|
||||
/// server</param>
|
||||
/// <param name="httpListenerPort">HTTP port</param>
|
||||
public CapsHandlers(BaseHttpServer httpListener, string httpListenerHostname, uint httpListenerPort)
|
||||
{
|
||||
m_httpListener = httpListener;
|
||||
m_httpListenerHostName = httpListenerHostname;
|
||||
m_httpListenerPort = httpListenerPort;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Remove the cap handler for a capability.
|
||||
/// </summary>
|
||||
/// <param name="capsName">name of the capability of the cap
|
||||
/// handler to be removed</param>
|
||||
public void Remove(string capsName)
|
||||
{
|
||||
m_capsHandlers.Remove(capsName);
|
||||
}
|
||||
|
||||
public bool ContainsCap(string cap)
|
||||
{
|
||||
return m_capsHandlers.ContainsKey(cap);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The indexer allows us to treat the CapsHandlers object
|
||||
/// in an intuitive dictionary like way.
|
||||
/// </summary>
|
||||
/// <Remarks>
|
||||
/// The indexer will throw an exception when you try to
|
||||
/// retrieve a cap handler for a cap that is not contained in
|
||||
/// CapsHandlers.
|
||||
/// </Remarks>
|
||||
public IRequestHandler this[string idx]
|
||||
{
|
||||
get
|
||||
{
|
||||
return m_capsHandlers[idx];
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
if (m_capsHandlers.ContainsKey(idx))
|
||||
{
|
||||
m_httpListener.RemoveStreamHandler("POST", m_capsHandlers[idx].Path);
|
||||
m_capsHandlers.Remove(idx);
|
||||
}
|
||||
|
||||
if (null == value) return;
|
||||
|
||||
m_capsHandlers[idx] = value;
|
||||
m_httpListener.AddStreamHandler(value);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Return the list of cap names for which this CapsHandlers
|
||||
/// object contains cap handlers.
|
||||
/// </summary>
|
||||
public string[] Caps
|
||||
{
|
||||
get
|
||||
{
|
||||
string[] __keys = new string[m_capsHandlers.Keys.Count];
|
||||
m_capsHandlers.Keys.CopyTo(__keys, 0);
|
||||
return __keys;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Return an LLSD-serializable Hashtable describing the
|
||||
/// capabilities and their handler details.
|
||||
/// </summary>
|
||||
public Hashtable CapsDetails
|
||||
{
|
||||
get
|
||||
{
|
||||
Hashtable caps = new Hashtable();
|
||||
string baseUrl = "http://" + m_httpListenerHostName + ":" + m_httpListenerPort.ToString();
|
||||
foreach (string capsName in m_capsHandlers.Keys)
|
||||
{
|
||||
// skip SEED cap
|
||||
if ("SEED" == capsName) continue;
|
||||
caps[capsName] = baseUrl + m_capsHandlers[capsName].Path;
|
||||
}
|
||||
return caps;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
* 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 System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using libsecondlife;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Framework.Communications.Cache;
|
||||
using OpenSim.Framework.Console;
|
||||
using OpenSim.Framework.Servers;
|
||||
|
||||
namespace OpenSim.Region.Capabilities
|
||||
{
|
||||
/// <summary>
|
||||
/// CapsHandlers is a cap handler container but also takes
|
||||
/// care of adding and removing cap handlers to and from the
|
||||
/// supplied BaseHttpServer.
|
||||
/// </summary>
|
||||
public class CapsHandlers
|
||||
{
|
||||
private Dictionary <string, IRequestHandler> m_capsHandlers = new Dictionary<string, IRequestHandler>();
|
||||
private BaseHttpServer m_httpListener;
|
||||
private string m_httpListenerHostName;
|
||||
private uint m_httpListenerPort;
|
||||
|
||||
/// <summary></summary>
|
||||
/// <param name="httpListener">base HTTP server</param>
|
||||
/// <param name="httpListenerHostname">host name of the HTTP
|
||||
/// server</param>
|
||||
/// <param name="httpListenerPort">HTTP port</param>
|
||||
public CapsHandlers(BaseHttpServer httpListener, string httpListenerHostname, uint httpListenerPort)
|
||||
{
|
||||
m_httpListener = httpListener;
|
||||
m_httpListenerHostName = httpListenerHostname;
|
||||
m_httpListenerPort = httpListenerPort;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Remove the cap handler for a capability.
|
||||
/// </summary>
|
||||
/// <param name="capsName">name of the capability of the cap
|
||||
/// handler to be removed</param>
|
||||
public void Remove(string capsName)
|
||||
{
|
||||
m_capsHandlers.Remove(capsName);
|
||||
}
|
||||
|
||||
public bool ContainsCap(string cap)
|
||||
{
|
||||
return m_capsHandlers.ContainsKey(cap);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The indexer allows us to treat the CapsHandlers object
|
||||
/// in an intuitive dictionary like way.
|
||||
/// </summary>
|
||||
/// <Remarks>
|
||||
/// The indexer will throw an exception when you try to
|
||||
/// retrieve a cap handler for a cap that is not contained in
|
||||
/// CapsHandlers.
|
||||
/// </Remarks>
|
||||
public IRequestHandler this[string idx]
|
||||
{
|
||||
get
|
||||
{
|
||||
return m_capsHandlers[idx];
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
if (m_capsHandlers.ContainsKey(idx))
|
||||
{
|
||||
m_httpListener.RemoveStreamHandler("POST", m_capsHandlers[idx].Path);
|
||||
m_capsHandlers.Remove(idx);
|
||||
}
|
||||
|
||||
if (null == value) return;
|
||||
|
||||
m_capsHandlers[idx] = value;
|
||||
m_httpListener.AddStreamHandler(value);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Return the list of cap names for which this CapsHandlers
|
||||
/// object contains cap handlers.
|
||||
/// </summary>
|
||||
public string[] Caps
|
||||
{
|
||||
get
|
||||
{
|
||||
string[] __keys = new string[m_capsHandlers.Keys.Count];
|
||||
m_capsHandlers.Keys.CopyTo(__keys, 0);
|
||||
return __keys;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Return an LLSD-serializable Hashtable describing the
|
||||
/// capabilities and their handler details.
|
||||
/// </summary>
|
||||
public Hashtable CapsDetails
|
||||
{
|
||||
get
|
||||
{
|
||||
Hashtable caps = new Hashtable();
|
||||
string baseUrl = "http://" + m_httpListenerHostName + ":" + m_httpListenerPort.ToString();
|
||||
foreach (string capsName in m_capsHandlers.Keys)
|
||||
{
|
||||
// skip SEED cap
|
||||
if ("SEED" == capsName) continue;
|
||||
caps[capsName] = baseUrl + m_capsHandlers[capsName].Path;
|
||||
}
|
||||
return caps;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue